我可以告訴你,將來你會顯示試圖解決你遇到的問題的證據。這樣我們就知道你參與了社區,而不是試圖從中提取免費的勞動力。
以下是您可以嘗試的解決方案。它從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
@ Kevin:首先,感謝您的時間和幫助 - 宏的表現完全符合我的期望。其次,我很抱歉沒有包括我最初的努力。我不是想回避社區的努力,而是學習正確的技巧和不同的解決問題的方法。再次發帖時,我一定會記住您的建議。再次,非常感謝。 – anticedent
@anticedent:很高興能幫到你。 –