2017-02-02 4 views
0

次のVBAの問題があります。私は列を見つけて、別の列にワークシートの数式を挿入するコードを持っています。数式には、以前に見つかった列への参照が含まれています。シート式ですでに見つかった列を参照する方法VBA

Dim intBB As Integer 
Dim rngBB As Range 
Dim controlBB As Integer 

intBB = 1 

Do While Worksheets("Sheet2").Cells(2, intBB) <> "" 
     If Worksheets("Sheet2").Cells(2, intBB).Value = "BbCode" Then 
      With Worksheets("Sheet2") 
       Set rngBB = .Range(.Cells(2, intBB), .Cells(2, intBB)) 
       controlBB = intBB 
      End With 
     Exit Do 

     End If 
      intBB = intBB + 1 
    Loop 


Worksheets("Sheet2").Range("W3:W2500").Formula = "= _ 
IF (controlBB="""","""",BDP(controlBB&"" Equity"",""ID_ISIN""))" 

ただし、これは機能しません。見つかった列を正しく参照するにはどうすればよいですか?

+0

を行うだろう方法ですあなたのコードは 'Worksheets(" Sheet2 ")'を最初に置いています。 –

+0

controlBBは列参照ではない整数です。 – Aeneas

答えて

1

あなたではなく、文字よりも列番号を、持っているので、私はR1C1形式を使用することをお勧めしたい:

Worksheets("Sheet2").Range("W3:W2500").FormulaR1C1 = "= _ 
IF (RC" & controlBB & "="""","""",BDP(RC" & controlBB & "&"" Equity"",""ID_ISIN""))" 
+0

あなたは速かった! –

+0

本当に早く、あなたは私たちの残りの前に質問を受けていますか?) –

+1

私は軽度の精神能力を持つかもしれません。 ;) – Rory

0

これは、「クリーンアップ」可能性があり、私はそれを

For i = 3 To 2500 
    Worksheets("Sheet2").Range("a" & i).Formula = "=IF(" & Cells(i, controlBB).Address & "="""","""",BDP(" & Cells(i, controlBB).Address & " & "" Equity"",""ID_ISIN""))" 
Next i 
関連する問題