VBA帮助比较列表并添加到一个



原谅丑陋的代码,我正在尝试检查表2上的列表中是否存在一个值1的值我已经为一个列(a)做到了这一点,但是我想从a:k的行中做到这一点;我设法将这项工作用于A,并且可以索引其余的索引,但我真的不想这样做,而我无法完成此工作的烦人

Dim sh1 As Worksheet, sh2 As Worksheet, lr As Long, rng As Range
Set sh1 = Sheet1 
Set sh2 = Sheet2
lr = sh1.Cells(Rows.Count, 1).End(xlUp).Row
Set rng = sh1.Range("A2:A" & lr)
For Each c In rng
If WorksheetFunction.CountIf(sh2.Range("A:A"), c.Value) = 0 Then
sh2.Range("A" & sh2.Cells(Rows.Count, 1).End(xlUp).Row)(2) = c.Value
End If
Next

您可以修改语句

sh2.Range("A" & sh2.Cells(Rows.Count, 1).End(xlUp).Row)(2) = c.Value

通过调整源和目标范围为1行x 11列宽,以便它变为:

sh2.Range("A" & sh2.Cells(Rows.Count, 1).End(xlUp).Row)(2).Resize(1, 11).Value = c.Resize(1, 11).Value

就个人而言,我不喜欢使用其中的(2)部分,所以我实际上会使用

sh2.Range("A" & sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1).Resize(1, 11).Value = c.Resize(1, 11).Value

相关内容

最新更新