私はVBAの初心者ですので、私の経験不足を許してください。VBA連想配列(索引方法)
私はexcel VBAを使用して、配列のインデックスを作成する方法を理解しようとしています。私はCSVをインポートして、分割機能を使用しています。私は配列に分割されたアイテムの個々のアイテムにアクセスする必要があります。私は必要なものを説明するための最良の方法は、ActionScriptからのこのような例である:ここでは
var a:Array = [];
a[1] = "Hello";
a[2] = "World";
(Except that what I have is a dynamic array created by the SPLIT function)
Where I could access "Hello" with the var a[1]
は、私がこれまで持っているものです。
Sub getTxtfile()
FilePath = Application.GetOpenFilename _
(Title:="Please choose a file to open", _
FileFilter:="CSV Files *.csv* (*.csv*),")
Open FilePath For Input As #1
row_number = 0
Do Until EOF(1)
Line Input #1, LineFromFile
LineItems = Split(LineFromFile, ",")
'ActiveCell.Offset(row_number, 0).Value = LineItems(1)
'ActiveCell.Offset(row_number, 1).Value = LineItems(0)
row_number = row_number + 1
'Debug.Print LineItems(0) & ": " & LineItems(1)
Loop
Close #1
End Sub
私は今2つのアレイ(LineItemsに(0)&のLineItemsを持っています(1))、この時点でどのようにそれらの内部にインデックスを付けるのですか?
ご協力いただきありがとうございます。
マイク
私が使用しているCSVは、Excel以外の他のアプリケーションのSolidWorks、パイソンなど)で使用するようにフォーマットされています。配列内の特定の要素にのみアクセスして、特定のセルを設定する必要があります。それは...私は列全体に配列全体を引き出すことができますが、私は必要なものだけをしたくありません。
0、.200 P、1.0709 Q、1.167 R、1.177 S、1.216 T、1.570 U、1.5843 V、W 1.6883 、1.9079 E:ここでCSVのサンプルであります.2645
私がしたいのは、最初の要素の文字を参照し、2番目の要素を特定のセルに挿入することです。インデックスを介して "t"を参照し、 "1.570"を挿入します。
私の配列の要素はLineItems(0)とLineItems(1)です。理想的には、LineItems(1)(a)/ LineItems(1-a)などと同様の要素の各インデックス項目を参照するのが理想的です。
。内部の内容を確認するには、最初の項目のDebug.Print LineItems(0)、2番目の項目の(1)のような処理を行うことができます。 'For i = LBound(LineItems)to UBound(LineItems) ' –
2つの配列を持つことはできません。* 1つの*配列には2つの*要素*があります。 – Comintern
VBAには連想配列はありません...すべてのインデックスは数値です。 – salih0vicX