1

リストに指定された値を検索し、残りの行の内容をリストに隣接する列にコピーしようとしています。このサイトからいくつかのコードをコピーし、他の場所で答えを探しましたが、何も見つかりません。コードを実行するたびに、「Invalid outside procedure」というコンパイル エラーが表示されます。

Sub test()
Dim LR As Long
Dim i As Long
Dim x As Long
Dim lastDataRow As Long
Dim lastListRow As Long
Dim sheetOne As String
Dim sheetTwo As String

Dim listItem As String
Dim dataItem As String

Dim listColNum As Long
Dim dataColNum As Long

listColNum = 1
dataColNum = 2
sheetOne = "new_copy"
sheetTwo = "Historical_data_"

lastListRow = Sheets(sheetOne).Cells(Sheets(sheetOne).Rows.Count, listColNum).End(xlUp).row
lastDataRow = Sheets(sheetTwo).Cells(Sheets(sheetTwo).Rows.Count, dataColNum).End(xlUp).row

For x = 1 To lastListRow

    For i = 1 To lastDataRow

        If Sheets(sheetOne).Cells(x, listColNum).Value = Sheets(sheetTwo).Cells(i, dataColNum).Value Then
            Sheets(sheetOne).Cells(x, 3).Value = Sheets(sheetTwo).Cells(i, 3).Value
        End If

    Next i
Next x
End Sub

どんな助けでも大歓迎です!

4

1 に答える 1

0

送信したコードは、問題なくコンパイルおよび実行されます。

通常、とInvalid outside procedureの間にないコードがあることがわかります。SubEnd Sub

ステートメントは、Sub または Function、またはプロパティ プロシージャ (Property Get、Property Let、Property Set) 内で発生する必要があります。

また、コードがorコードModuleではなくa にあることを確認する必要がありますworksheetworkbook

于 2013-10-28T15:13:29.837 に答える