列番号によって配列を介して索引付け

Barnapkin:

私は、列の属性に関して情報を見てきました。私は、アレイ内の情報の一部挿入およびコピーを実行しようとしています。私の問題の核心は、私は数ではない文字でインデックスに列を必要とするので、私は、巣ループ内のいくつかのアクションoをしたいということです。

私が最初にすることは、ヘッダー名に基づいて出発点を見つけることです:

Dim EnvCondCol As String
Dim EnvCondColN As Long
Dim lColVVS As Integer
lColVVS = VET_VS.UsedRange.Columns.Count ' finds last column
For n = 1 To lColVVS
    If UCase(VET_VS.Cells(3, n).Value) Like "*ENVIRONMENTAL CONDITION*" Then ' All Caps when using "like"
        EnvCondCol = Split(VET_VS.Cells(3, n).Address, "$")(1)
        EnvCondColN = Range(EnvCondCol & 1).Column
        Exit For
    End If
Next n

この作品と私はEnvCondColとEnvCondColNが見EnvCondColを見ることができます=「I」とEnvCondColNは=「9」は結局、私は新しい列を挿入すると、この行が構文エラーを生成します。

VET_VS.Range(Columns.(EnvCondColN)).EntireColumn.Insert

私はEnvCondColNを見るとき、それは数であり、私はそのような整数として、他のタイプにDIMを変更しようとしています

また別の場所で、私は、ループ内から別のセルへのセルからの情報をコピーします。これは、構文エラーを生成します。

VET_VS.Range(Columns.(EnvCondColN + i)).Copy VET_VS.Range(Columns.(EnvCondColN + j))

私は5のような値でEnvCondColNを交換する場合、これは動作します。例:VET_VS.Range(Columns.(5)).EntireColumn.Insert

なぜ変数が列参照として動作していません?

探してありがとうございました!

HTH:

変化する

 VET_VS.Range(Columns.(EnvCondColN)).EntireColumn.Insert

 VET_VS.Columns(EnvCondColN).EntireColumn.Insert

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=377919&siteId=1