【发布时间】:2017-04-10 01:40:01
【问题描述】:
我是一名新程序员。 只是 vba 的初学者,希望得到一些帮助来解决这个问题。 我知道我可以使用普通的 excel 公式,但这是为了学习。 到目前为止,这是我的代码:
Sub matchpart()
Dim ocell As Range
Dim swb As Workbook
Dim sws As Worksheet, dws As Worksheet
Dim stext As String
Dim iRow As Long
Dim nxtRow As Long
Set swb = ActiveWorkbook
Set sws = swb.Sheets("sheet1")
Set dws = swb.Sheets("sheet2")
For Each ocell In dws.Range("FILE_NAMES")
stext = Left(ocell.Value, 12)
On Error Resume Next
iRow = Application.WorksheetFunction.Match(stext, sws.Range("ID_NUMBER"), 0)
On Error GoTo 0
If iRow > 0 Then
Application.Index (Range("ID_PARENT").Copy)
Else
ocell.Offset(0, 1) = ""
End If
Next
MsgBox ("Done")
End Sub
我的任务是将工作表 2 (ID_NUMBER) 中的 1 列与工作表 1 (FILE_NAMES) 的 1 列相匹配。在此之后复制工作表 1 下一列中的相应值(已匹配)并将其粘贴到工作表 2 的下一列中。
这是我的数据,例如 表 1:
ID_PARENT ID_NUMBER
pan 3
same 2
kappa 1
lame 5
dame 5
sheet 2:
FILE_NAMES BPM_LIST
1
5
3
2
4
5
因此想使用我的代码匹配并复制到 BPM_LIST。
【问题讨论】:
-
我强烈建议你 read this 在它咬你之前。另外..到底是什么问题? “请帮我完成我的代码”?