2016-12-07 48 views
0

我想编写完美的代码,但遇到此问题。我想将数据作为值传输到另一个工作表。为了填写数据,我使用单元格内的公式表单。如何在EXCEL中将数据应答到另一个表单后每次都将单元格更改为值

然后每次点击将数据传输到另一个工作表时,它将用两个工作表中的值替换源数据,但对于我来说,需要sheet1中的表单单元格保持不变。我使用一个带公式的表单将数据放入sheet1来自不同的来源,所以它应该每次都使用它(现在,每次点击后我必须恢复sheet1中的公式)。

下面是代码:

Sub Button4_Click() 
    Dim x As Long 
    Dim erow as Long 

'Calculate starting rows 
x = 15 
With Worksheets("Sheet2") 
    erow = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Row 
End With 

With Worksheets("Sheet1") 
    Do While .Cells(x, 1) <> "" 
     'Current code replaces the source data with its values' 
     .Range("A" & x & ":Y" & x).Value = .Range("A" & x & ":Y" & x).Value 

     'The next line copies values to Sheet2 
     Worksheets("Sheet2").Range("A" & erow & ":Y" & erow).Value = .Range("A" & x & ":Y" & x).Value 

     'increment row counters 
     x = x + 1 
     erow = erow + 1 
    Loop 
End With 
End Sub 
+1

赋值'.Value'与“粘贴值”基本相同。在目标单元格中​​存在现有公式时,您希望得到的结果是什么? – Comintern

回答

0

你不能写一个细胞的.Formula然后无关的数据添加到同一个小区的.Value - 写.Value删除公式。 所以下面的代码行:

.Range("A" & x & ":Y" & x).Value = .Range("A" & x & ":Y" & x).Value 

是不必要的(和损坏)。

相关问题