これが答えられた場合は多くの謝罪がありますが、私はここで答えを見つけることができませんでした、またはそのことについてはグーグル。私はExcelを使用しているので、列/行を参照します。
次のようないくつかの条件でコスト分析テーブルを作成する必要があります。
- カテゴリとは何ですか?(全リスト:果物、野菜、肉)
- アイテムはどのサプライヤーから購入しましたか?(つまり、Sobey's、Walmartなど)
ので、私は持っています:
Dim catFruits() as string, catVegies() as string, catMeats() as string
各カテゴリの配列を宣言します。「Category」列を各行で下に移動し、カテゴリをチェックして正しい配列を選択します。次に実行したいのは、「Supplier」列を1行ずつ下に移動し、セルの内容を選択した配列に追加することですが、Supplierがすでに配列に含まれている場合は追加しません。私はこれを行う方法を見つけることができませんでした。私がこれまでに持っているもの:
For x = 1 To lastRow
If Sheet1.Cells(x, catCol).Text = "Fruits" Then
catFruits() = Array(Sheet1.Cells(x, supCol).Text)
'|----------what I want to do----------|
catFruits() = Array(catFruits(), Sheet1.Cells(x,SupCol).Text)
'so it's like "x = x + 1"
'|-----but in a way that will work-----|
'|----------and without dupes----------|
ElseIf Sheet1.Cells(x, catCol).Text = "Vegetables" Then
catVegies() = Array(Sheet1.Cells(x, supCol).Text)
ElseIf Sheet1.Cells(x, catCol).Text = "Meats" Then
catMeats() = Array(Sheet1.Cells(x, supCol).Text)
End If
Next x
私は自分で重複部分を理解することができます、ちょうど別のループとそれを解決するかどうか。
私が使用しているすべての変数は適切に宣言されており(おそらく配列を除いて、それらの操作に慣れていません)、OptionExplicitを使用していますのでご安心ください。
他に情報が必要な場合は、質問してください。できる限りサポートさせていただきます。