excel VBA复制到空白单元格



我试图在宏的最后一部分找到帮助,无法找到工作宏集。我的宏必须从A1-C1复制数据(所有3个单元格必须在一行中的1个复制数据中复制)到从A5-C5列开始的第一个空白单元格上的另一个列表,可用范围是从A5-C5到A300-C300,第二个范围是从D5-F5到D300-F300等。可达CG5-CJ5至CG300-CJ300。有人能帮我创建宏吗?非常感谢

PS:我使用这个(不工作,因为这不是我需要的可变单元,不知道如何将某些数据应用到它)

ActiveSheet.Range("$A$1:$C$300").AutoFilter Field:=1, Operator:= _
xlFilterValues, Criteria2:=Array(2, "4/1/2022")
Range("A2:C300").Select
Selection.Copy
Sheets("Sheet1").Select
Range("A5").Select
ActiveSheet.Paste
Sheets("Sheet2").Select
ActiveSheet.Range("$A$1:$C$300").AutoFilter Field:=1
ActiveSheet.Range("$A$1:$C$300").AutoFilter Field:=1, Operator:= _
xlFilterValues, Criteria2:=Array(2, "4/2/2022")
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Range("D5").Select
ActiveSheet.Paste
Sheets("Sheet2").Select
ActiveSheet.Range("$A$1:$C$300").AutoFilter Field:=1
ActiveSheet.Range("$A$1:$C$300").AutoFilter Field:=1, Operator:= _
xlFilterValues, Criteria2:=Array(2, "4/3/2022")
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Range("G5").Select
ActiveSheet.Paste

您应该先自己尝试一下,下面的代码可能对您的宏很有用:

dim rownum as integer
rownum = range("A300").End(xlUp).Row + 1
If rownum < 5 Then rownum = 5
cells(rownum, 1).value = range("A1").value
cells(rownum, 2).value = range("B1").value
cells(rownum, 3).value = range("C1").value
对于列,您可能希望添加如下内容:
dim rownum as integer
dim colnum as integer
colnum = range("CK5").End(xlLeft).Column
rownum = cells(301,colnum).end(xlUp).Row + 1
if rownum < 5 then rownum = 5
cells(rownum, colnum).value = range("A1").value
cells(rownum, colnum + 1).value = range("B1").value
cells(rownum, colnum + 2).value = range("C1").value

最新更新