私は次のコードを書いています。これは、21から21までの値を別のシートの最後の行にルックアップし、このシートの列Aおよび他のシートの列Bにある。行と列をループしているときのインデックス/マッチ
以下のコードを使用すると、ワークシートエラーが発生します。理由を教えてください。
Dim wsMvOld As Worksheet
Dim wsMvFile As Worksheet
Dim wsColumn As Long
Dim lastColumn As Long
Dim y As Integer
Dim i As Integer
Dim FrRngCount As Range
Set wsMvOld = wbMVRVFile.Worksheets(2)
wbMVRVFile.Worksheets.Add().Name = "MV " & Format(DateSerial(Year(Date), Month(Date), 0), "dd-mm-yy")
Set wsMvFile = wbMVRVFile.ActiveSheet
Set FrRngCount = wsMvFile.Range("A:A")
y = Application.WorksheetFunction.CountA(FrRngCount)
lastColumn = wsMvFile.Cells(1, wsMvFile.Columns.Count).End(xlToLeft).Column
For wsColumn = 21 To lastColumn
For i = 2 To y
wsMvFile.Columns(wsColumn).Cells(i) = Application.Index(wsMvOld.Range(wsColumn), Application.Match(wsMvFile.Range("A" & i), wsMvOld.Range("B:B"), 0))
Next i
Next wsColumn
End Sub
ありがとうございました!
'index'の前に' WorksheetFunction'を忘れましたか?しかし、実際にはなぜVBA XDのワークシート機能を使用しているのですか – findwindow
私はそれを試してみましょう。私がワークシート関数を使用しているのは、もっと良い解決策がわからないからです。助言がありますか? –
'find'を探しますか? – findwindow