在Sheet1中,我有大约10,000行代表不同的人。每个人都有一个位于D列的唯一ID,这是一个以文本形式存储的数字序列。
在Sheet2中,我有大约1,200个人条目,这些条目引用了位于A列的Sheet1中的匹配人员。此引用与Sheet1中使用的唯一ID相同。
我想要的是宏做的是:
插入空白行(第3行)
重复Sheet2上其余9,999个条目的步骤,以便匹配数据始终位于读入值下方,然后是空白行
任何帮助都将不胜感激。
答案 0 :(得分:2)
我可以建议您将来展示试图解决您遇到的问题的证据。通过这种方式,我们知道您正在参与社区,而不是试图从中提取免费劳动力。
这是您可以尝试的解决方案。它从sheet2中当前选定的单元格开始。
Function DoOne(RowIndex As Integer) As Boolean
Dim Key
Dim Target
Dim Success
Success = False
If Not IsEmpty(Cells(RowIndex, 1).Value) Then
Key = Cells(RowIndex, 1).Value
Sheets("Sheet1").Select
Set Target = Columns(4).Find(Key, LookIn:=xlValues)
If Not Target Is Nothing Then
Rows(Target.row).Select
Selection.Copy
Sheets("Sheet2").Select
Rows(RowIndex + 1).Select
Selection.Insert Shift:=xlDown
Rows(RowIndex + 2).Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(RowIndex + 3, 1).Select
Success = True
End If
End If
DoOne = Success
End Function
Sub TheMacro()
Dim RowIndex As Integer
Sheets("Sheet2").Select
RowIndex = Cells.row
While DoOne(RowIndex)
RowIndex = RowIndex + 3
Wend
End Sub