在第一个空白行循环中复制和粘贴
Copy and Paste in First Blank Row Loop
在 Sheet 1 中,我在列中有数据。在 worksheet 2 中,我有专门指定用于复制和粘贴到 Sheet 1 的空白行中的数据。我正在尝试循环 Sheet 2 中的数据并将其复制到Sheet 以下各行中的 1 个(24、25、26 等)我在粘贴部分时遇到了问题。我还需要代码统一,这样我就可以修改 sheet 2 和 运行 宏而无需更改任何内容。我正在使用下面的代码。
Dim LastRow2 As Long
Dim BlankRow As Long
BlankRow = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row + 1
LastRow2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
For i = BlankRow To 50
For j = 2 To LastRow2
Sheets("Sheet2").Range("A" & j).Copy
Sheets("Sheet1").Range("A" & i).PasteSpecial
Next j
Next i
我还在下面放置了一个非常简化的示例,只是为了帮助您了解我到底想做什么。
Sheet 1 中的行在我的 spreadsheet 中有数千行,而 Sheet 2 可以达到 30 左右。所以对我来说重要的是我使用第一个空白行循环它以Sheet1为起点。
Sheet 1
A
1 x
2 x
3 x
4 x
5 x
6 x
Sheet 2
A
1 Headings
2 Tyler
3 Bill
4 Rob
5 Dennis
您不需要嵌套循环。您只需要 1. 类似于:
Dim LastRow2 As Long, BlankRow As Long, j As Long
BlankRow = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row + 1
LastRow2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
For j = 2 To LastRow2
Sheets("Sheet2").Range("A" & j).Copy
Sheets("Sheet1").Range("A" & BlankRow).PasteSpecial xlPasteValues
BlankRow = BlankRow + 1
Next j
Application.CutCopyMode = False
这是您要尝试的吗? HTH.
在 Sheet 1 中,我在列中有数据。在 worksheet 2 中,我有专门指定用于复制和粘贴到 Sheet 1 的空白行中的数据。我正在尝试循环 Sheet 2 中的数据并将其复制到Sheet 以下各行中的 1 个(24、25、26 等)我在粘贴部分时遇到了问题。我还需要代码统一,这样我就可以修改 sheet 2 和 运行 宏而无需更改任何内容。我正在使用下面的代码。
Dim LastRow2 As Long
Dim BlankRow As Long
BlankRow = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row + 1
LastRow2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
For i = BlankRow To 50
For j = 2 To LastRow2
Sheets("Sheet2").Range("A" & j).Copy
Sheets("Sheet1").Range("A" & i).PasteSpecial
Next j
Next i
我还在下面放置了一个非常简化的示例,只是为了帮助您了解我到底想做什么。 Sheet 1 中的行在我的 spreadsheet 中有数千行,而 Sheet 2 可以达到 30 左右。所以对我来说重要的是我使用第一个空白行循环它以Sheet1为起点。
Sheet 1 A 1 x 2 x 3 x 4 x 5 x 6 x Sheet 2 A 1 Headings 2 Tyler 3 Bill 4 Rob 5 Dennis
您不需要嵌套循环。您只需要 1. 类似于:
Dim LastRow2 As Long, BlankRow As Long, j As Long
BlankRow = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row + 1
LastRow2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
For j = 2 To LastRow2
Sheets("Sheet2").Range("A" & j).Copy
Sheets("Sheet1").Range("A" & BlankRow).PasteSpecial xlPasteValues
BlankRow = BlankRow + 1
Next j
Application.CutCopyMode = False
这是您要尝试的吗? HTH.