Excel VBA:自动填充列没有预设范围

问题描述 投票:-1回答:1

如何自动填充以自动检测下一行中要复制的下一个新ID#而无需告知/设置下一个ID#将从哪里开始的excel范围?

以下是公式。

Sub NewTestRow()

Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Dim LRow As Long

Set copySheet = Worksheets("Sheet1")
Set pasteSheet = Worksheets("Sheet2")

copySheet.Range("E3:K500").Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True

LRow = ActiveSheet.Cells(Sheets("Sheet2").Rows.Count, "A").End(xlUp).Row
Cells(2, 1).Select
Selection.Copy
    ActiveSheet.Range(Cells(3, 1), Cells(LRow, 1)).Select
ActiveSheet.Paste


copySheet.Range("M3:S500").Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub

[示例格式图像]

enter image description here

excel vba excel-vba
1个回答
0
投票

此代码循环遍历第一列中的单元格,并检查它是否与第一列中的前进单元格相同。此外,我将“LRow =”更改为更好的查找最后一行的方法,以防数据中存在任何间隙。

LRow = ActiveSheet.Cells(Sheets("Sheet2").Rows.Count, "A").End(xlUp).Row
i = 2

' --- low
While i < LRow
    If ActiveSheet.Cells(i, 1) = ActiveSheet.Cells(i + 1, 1) Then
        ' --- new ID not found, increment to next row
        i = i + 1
    ElseIf
        ' --- Put whatever code you want to fire when a new ID is found
        NewIDFound = i + 1
    End If
Wend
© www.soinside.com 2019 - 2024. All rights reserved.