我之前从未使用过宏,但是有人可以告诉我在下面的宏中遗漏了什么,所以来自表1的数据会被复制到表2中的下一个可用行吗?我已经尝试过" LastRow"," NextRow"命令,但我无法做到。任何帮助都会很棒。
Sheets("Sheet1").Range("B2").Select
Selection.Copy
iRow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(x1up).Row + 1
Sheets("Sheet2").Range ("B" & iRow)
ActiveSheet.Paste
答案 0 :(得分:1)
尝试其中任何一个。它是xlup
而不是x1up
,并且您没有粘贴到目标单元格(并且Selects
是不必要的)。
iRow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlup).Row + 1
Sheets("Sheet1").Range("B2").Copy Sheets("Sheet2").Range ("B" & iRow)
或
iRow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlup).Row + 1
Sheets("Sheet2").Range ("B" & iRow).value=Sheets("Sheet1").Range("B2").value
答案 1 :(得分:0)
关于这一点,我有以下代码。但是,我的问题是我有这个宏的多个版本运行并将信息拉到同一张表。我需要能够让宏找到下一行而不是覆盖页面上已有的内容。
Sub Product_Value_In_Specific_Row() Dim c As Range Dim J As Integer 昏暗的来源作为工作表 昏暗的目标作为工作表
' Change worksheet designations as needed
Set Source = ActiveWorkbook.Worksheets("mongodb")
Set Target = ActiveWorkbook.Worksheets("Inputs")
J = 2 ' Start copying to row 1 in target sheet
For Each c In Source.Range("A2:A100") ' Do 1000 rows
If c = "Product" then
Source.Rows(c.Row).Copy Target.Rows(J)
J = J + 1
End If
Next c
End Sub
我通过将“J = 2”行更改为几行来解决这个问题,但我的其他工作表有不同的行数,并希望他们只需复制并粘贴到输入表中而不会覆盖每一行其他。