我想找出3个不同范围内的不同值(文本)。 我想我找到了一种在线方式,但它给了我一个错误。Excel VBA从多个范围计数不同的值
这里是代码;
Dim MyDict As Object, MyCols As Variant, OutCol As String, LastRowXY_2 As Long
Dim XY_A As Variant, I_XY As Long, MyData_XY As Variant
Set MyDict = CreateObject("Scripting.Dictionary")
MyCols = Array("P", "S", "V")
OutCol = "AN"
For Each XY_A In MyCols
LastRowXY_2 = Worksheets(Ders_Sheet_Adi).Cells(Rows.Count, XY_A).End(xlUp).Row
MyData_XY = Worksheets(Ders_Sheet_Adi).Range(XY_A & "22:" & XY_A & LastRowXY_2).Value
For I_XY = 1 To UBound(MyData_XY)
If MyData_XY(I_XY, 1) <> "" Then MyDict(MyData_XY(I_XY, 1)) = 1
Next I_XY
Next XY_A
Worksheets(Ders_Sheet_Adi).Range(OutCol & "1").Resize(MyDict.Count, 1).Value = WorksheetFunction.Transpose(MyDict.keys)
在“XY_A”的第二次运行中,MyData_XY给出了“类型不匹配”错误。
我可以使用任何形式的想法。
检查什么的'LastRowXY_2' –
在第二循环中的价值,LastRowXY_2的值是“22” – Bildircin13
所以现在调试并查看“MyData_XY”(空) –