尝试:
Dim wsSource As Worksheet
Set wsSource = ActiveWorkbook.Worksheet("NAME SOURCE SHEET")
Dim wsOutput As Worksheet
Set wsOutput = ActiveWorkbook.Worksheet("NAME OUTPUT SHEET")
Dim ID as Range
Dim FindID as Range
Dim lRowSource as Integer
Dim lRowOutput as Integer
lRowSource = wsSource.Range("A" & Rows.Count).End(xlUp).row
lRowOutput = wsSource.Range("A" & Rows.Count).End(xlUp).row
With wsOutput
Range("B1").EntireColumn.Insert
For each ID in .Range("A1:A" & lRowSource)
Set FindID = wsSource.Range("A1:A" & lRowOutput).Find(What:=ID, LookIn:=xlValues, lookat:=xlWhole)
If Not FindID is Nothing then
wsSource.Range("B" & FindID.Row).Copy Destination:=wsOutput.Range("B" & FindID.Row)
Else
Exit Sub
End If
End With
或者你也可以使用:
Dim wsSource As Worksheet
Set wsSource = ActiveWorkbook.Worksheet("NAME SOURCE SHEET")
Dim wsOutput As Worksheet
Set wsOutput = ActiveWorkbook.Worksheet("NAME OUTPUT SHEET")
Dim i As Long
wsOutput.Range("B1").EntireColumn.Insert
For i=1 To wsSource.UsedRange.Rows.Count
If wsSource.Range("A" & i) = wsOutput.Range("A" & i) Then
wsSource.Range("B" & i).Copy Destination:=wsOutput.Range("B" & i)
End If
Next i
一个解决的问题之一。了解如何打开其他工作簿,如何插入列等。然后,如果您遇到这些任务中的任何一个问题,请咨询有关特定问题的帮助。 – arcadeprecinct
如果基本命令像插入列并打开另一个工作簿,我可以这样做,但我唯一的担心是从另一个工作簿中获取值,并使值与No.Id相同,就像图片一样。我的意思是它真的让我感到沮丧:(。顺便说一句,谢谢你的建议.. :) –
这将是从其他工作簿复制值的任务之一。如果你可以打开另一个工作簿,它应该没问题,因为你只需要读取和写入单元格值? – arcadeprecinct