0

セルとワークシートのループを追加しましたが、構文エラーが発生します。

Sub check() 
Dim ws As Worksheet 
Dim i As Long 
For Each ws In Worksheets 

For i = 5 To 10

ws.Range("F" & i).Formula = _
 "=VLookup((CONCATENATE(C1,"" "",C5)),'C:\Documents[TestData.xlsx]Sheet1'!$A$2:$G$28,7, FALSE)"
Sheets("Sheet1").Range("F5").Value = Sheets("Sheet1").Range("F5").Value

Next
End Sub
4

1 に答える 1

0

これはあなたがしようとしていることですか?

Sub check()
    Sheets("Sheet1").Range("F5").Formula = _
    "=VLookup((CONCATENATE(C1,"" "",C5)),'C:\Documents[TestData.xlsx]Sheet1'!$A$2:$G$28,7, FALSE)"
    Sheets("Sheet1").Range("F5").Value = Sheets("Sheet1").Range("F5").Value
End Sub

ファローアップ

ループに入れるには、行を変数に格納してから使用する必要があります。例えば

Range("F5")のように書くこともできますRange("F" & "5")

だから今あなたがしなければならないのは5、ループで置き換え続けることだけです。以下の例を参照してください

Sub check()
    Dim i As Long

    '~~> From Row 5 to row 10
    '~~> Chnage as applicable
    For i = 5 To 10
        Sheets("Sheet1").Range("F" & i).Formula = _
        "=VLookup((CONCATENATE(C1,"" "",C" & i & _
        ")),'C:\Documents[TestData.xlsx]Sheet1'!$A$2:$G$28,7, FALSE)"

        Sheets("Sheet1").Range("F" & i).Value = Sheets("Sheet1").Range("F" & i).Value
    Next i
End Sub
于 2012-08-13T18:49:25.067 に答える