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"の2回目の実行では、MyData_XYは「型不一致」エラーを返します。
私はどんな考えでも使用できます。
チェックデバッグモードで第二のループでは、 'LastRowXY_2' –
の値が何であるかを第二のループでは、LastRowXY_2の値はその「22」 – Bildircin13
ですデバッグモードで 'MyData_XY'(Empty)の何を取得しているのかを確認します。 –