我是VBA的新手,我真的被卡住了。任何帮助深表感谢。 我正在尝试比较两个单独工作簿中的两列,并将其中一列拆分为两个工作表。
“受过训练”是所有受过程序训练的人的工作表(历史和现在都使用)。 “就业”是目前在公司工作的所有人员的工作表(经过培训且未经过培训)。
我希望最终得到一份“当前和受过训练”的工作表,另一份名为“历史和训练”的工作表。
我有代码来比较“雇用”和“受过训练”。
我的逻辑是:
如果“受雇”中的姓名在“受过训练”中,请将其留在那里(这将被重命名为“当前和受过训练”的文件)。
否则转向“历史和训练”(已创建)
我对If Else语句有困难。我的比较子在下面。任何帮助都会很棒。
Sub Compare()
Dim Range1 As Range, Range2 As Range, rng1 As Range, rng2 As Range, outRng As Range
'gets ranges from user to be compared
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Range1 :", Type:=8)
Set Range2 = Application.InputBox("Range2:", Type:=8)
Application.ScreenUpdating = False
'compares both ranges
For Each rng1 In Range1
xValue = rng1.Value
For Each rng2 In Range2
If xValue = rng2.Value Then
If outRng Is Nothing Then
Set outRng = rng1
Else
Set outRng = Application.Union(outRng, rng1)
End If
End If
Next
Next
'I think the If statements should go here but i'm not sure
End Sub