当我在Excel中单击按钮时,我正在使用下面的代码(位于intrnet上)复制并粘贴一行。
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim xSheet As Worksheet
For Each xSheet In ThisWorkbook.Worksheets
If xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" Then
xSheet.Range("A1:C17 ").Copy
xSheet.Range("J1:L17").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Next
Application.ScreenUpdating = True
End Sub
我如何修改此代码以将数据从名为“ input”的工作表复制到另一个名为“ list”的工作表?
此外,每按一次SUBMIT按钮如何发送一行?
最后一个问题;单元格之一包括= NOW()函数。使用上面的代码复制和粘贴数据时,此单元格显示垃圾数据。如何防止这种情况发生?
答案 0 :(得分:0)
如果只有两个工作表,则可以直接从一个工作表复制并粘贴到另一个工作表。
Sub copy_range()
Dim FirstSheet As Worksheet
Set FirstSheet = ActiveWorkbook.Worksheets("input")
Dim SecondSheet As Worksheet
Set SecondSheet = ActiveWorkbook.Worksheets("list")
FirstSheet.Range("A1:C17 ").copy
SecondSheet.Range("J1:L17").PasteSpecial Paste:=xlValues 'Only paste values
'SecondSheet.Range("J1:L17").PasteSpecial Paste:=xlPasteAll 'Paste all cell formatting and formulas
End Sub
答案 1 :(得分:0)
使用Worksheets
对象按名称访问想要的工作表
并且由于只对值感兴趣,因此可以使用Value
个对象的Range
属性:
Private Sub CommandButton1_Click()
Worksheets("list").Range("J1:L17").Value = Worksheets("input").Range("A1:C17").Value
End Sub