我想将数据从Sheet 1复制到同一工作簿中的Sheet 2。数据集需要从工作表1上的范围C3到C7复制到工作表2上的B3到F3。数据每天作为日志复制到工作表2上。我有一个代码,如果我用Range对象定义一个单元格但不能与多个单元格一起工作。
代码插入按钮。请在下面找到代码。我是新手,如果有人帮助解决错误,我将不胜感激。
Private Sub CommandButton21_Click()
Dim Data As String
Worksheets("Sheet1").Select
Data = Range(Cells(3, 3), Cells(3, 7))
Worksheets("Sheet2").Select
Worksheets("Sheet2").Range(Cells(2, 3), Cells(6, 3)).Select
If Worksheets("Sheet2").Range(Cells(2, 3), Cells(6, 3)).Offset(1, 0)<> "" Then
Worksheets("Sheet2").Range(Cells(2, 3), Cells(6, 3)).End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Data
Worksheets("Sheet1").Select
Worksheets("Sheet1").Range(Cells(3, 3), Cells(3, 7)).Select
End Sub
Private Sub Update_Click()
End Sub
答案 0 :(得分:0)
从&#34; Sheet1&#34;复制范围(&#34; C3:C7&#34;)在&#34; Sheet2&#34;中的范围(&#34; B3:F3&#34;) ,您可以使用以下代码(不使用Select
和ActiveCell
)。
Private Sub CommandButton21_Click()
Worksheets("Sheet1").Range("C3:C7").Copy
Worksheets("Sheet2").Range("B3").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=True
End Sub
注意:这会导致&#34;覆盖&#34;以前的日期数据,很难将其用作日志。
您可以使用以下代码将其粘贴到&#34; Sheet2&#34;中的B列的第一个空行:
Private Sub CommandButton21_Click()
Dim LastRow As Long
Worksheets("Sheet1").Range("C3:C7").Copy
With Worksheets("Sheet2")
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row + 1 '<-- find first empty row in column B
.Range("B" & LastRow).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=True
End With
End Sub