2016-11-21 7 views
0

これをセル式で正しく動作させるにはどうすればよいでしょうか?ループ内の特定のセル範囲を取得する方法は?

For lineNum = 1 To UBound(reportArray, 2) 
    With scanSheet 
     .Cells(baseRow, 1) = reportArray(1, lineNum) 
     .Cells(baseRow, 2) = reportArray(2, lineNum) 
     .Cells(baseRow, 3).Formula = "=IF(LEN(B&baseRow)>3,TRIM(LEFT(TRIM(B&baseRow),2)),B&baseRow)" 
     .Cells(baseRow, 4).Formula = "=IF(LEN(B&baseRow)>3,TRIM(RIGHT(TRIM(B&baseRow),2)),B&baseRow)" 
    End With 
    baseRow = baseRow + 1 
Next lineNum 
+0

あなたは、有効なセル参照を作るために 'baseRow'文字と 'B'を組み合わせる意味しますか?そうであれば、構文は、例えば以下のようになる。 'LEN(" B "&baseRow)... ' –

+0

ええ、それでも私にエラーが出る –

+0

人々が文脈を理解できるように、もっとコードを投稿してください。また、エラーとそれに発生する行を投稿してください... –

答えて

0
baseRowは、行番号を示す数字の値を有すると仮定して)以下のコードに式のあなたの2行変更

.Cells(baseRow, 3).Formula = "=IF(LEN(B" & baseRow & ")>3,TRIM(LEFT(TRIM(B" & baseRow & "),2)),B" & baseRow & ")" 
    .Cells(baseRow, 4).Formula = "=IF(LEN(B" & baseRow & ")>3,TRIM(RIGHT(TRIM(B" & baseRow & "),2)),B" & baseRow & ")" 

:将来の使用のAに」をヘルプ "文字列。

Dim str As String 
str = "=IF(LEN(B" & baseRow & ")>3,TRIM(LEFT(TRIM(B" & baseRow & "),2)),B" & baseRow & ")" 
Debug.Print str 

その後、あなたはイミディエイトウィンドウに式の文字列を取得します:

=IF(LEN(B2)>3,TRIM(LEFT(TRIM(B2),2)),B2) 
関連する問題