2017-01-13 6 views
0

Iタブを作成する(x、y)の中に存在する場合:私は確認したいチェック値が値を持つ二次元タブ(アレイ、VB)

Dim CostCatTab() As Variant 
Dim tabSize As Long 

For m = 3 To CCRLastColumn 

    CostCategory = wsSum.Cells(CostCagRow, m).Value 
    Value = wsSum.Cells(CostCagRow, m).Value 

    tabSize = tabSize + 1 
    ReDim Preserve CostCatTab(1 To 2, 1 To tabSize) 
    CostCatTab(1, tabSize) = CostCategory 
    CostCatTab(2, tabSize) = m 

Next 

第二ループ内にあれば、現在のアイテム(currentCTCostCatTab.CostCategoryにあります。

yesの場合、私はCostCategoryため表示適切なm値にしたいです。

For h = 10 To x_rows 
    currentCT = wsCal.Range("M" & h).Value 

Next 
+1

最終 - 2'、保存せずにループの開始前に一つだけREDIMを使用するように速くなります。 'tabSize'は常に' m-2'です。ここでは一つの変数しか使用できません。 –

+0

'CostCatTab(2、tabSize)= m'は' CostCatTab(2、tabSize)= Value'でなければなりませんか? –

+0

@Vincent - >変更方法は?コードを入れてください – 4est

答えて

0

私がやった:tabSize`は `CCRLastColumある`

For h = 10 To x_rows 
     currentCT = wsCal.Range("M" & h).Value 

    For b = LBound(CostCatTab, 2) To UBound(CostCatTab, 2) 
     If CostCatTab(1, b) = currentCT Then 
      wsCal.Range("N" & n).Value = wsCal.Range("K" & n).Value * wsSum.Cells(40, CostCatTab(2, b)) 
      Exit For 
     End If 
    Next b 

Next h 
関連する問題