ループ内で相対参照を使用しようとしています。私の目的は、インデックスとマッチを組み合わせて、ファイルにいくつの行と列が存在するかに関係なく値を見つけることです。これは私がこれまでに作成したものですが、うまくいきません。データは、2つの異なるシートに格納されたものと同じです。これは禁止されてWorksheetFunction
クラスVBA:ループ内の相対セル参照
サブテスト()
Dim ActSor As Long, ActOsz As Long ActSor = ActiveSheet.UsedRange.Rows.Count ActOsz = ActiveSheet.UsedRange.Columns.Count Dim ws1 As Worksheet, ws2 As Worksheet Set ws1 = Sheets("Sheet1") Set ws2 = Sheets("Sheet2") Dim Rg As Range Set Rg = ws2.Range("B2", Cells(ActSor, ActOsz)) Dim RgActOsz As Long RgActOsz = Rg.Columns.Count Dim i As Long , sor As Long For i = 2 To RgActOsz For sor = 2 To ActSor Cells(sor, i).Value = Application.WorksheetFunction.Index(ws1.Columns(i), Application.WorksheetFunction.Match(Cells(sor, 1), Rg.Columns(1), 0)) Next sor Next i End Sub
「Match」が成功しない場合に備えて、エラーをトラップする必要があります。 –
助けてくれてありがとう。 2枚のシートは同じもので、テスト目的でのみ作成されます。つまり、両方のシートにすべての値が表示されます。この場合もエラーをトラップする必要がありますか? –
実際には、あなたのコードのどこかにロジックエラーがあるだけではありません。私のコードでは、テキストの末尾に余分なスペースがある場合や、私が行ったかもしれないその他の不具合がある場合に備えて、とにかくそれをトラップします –