如果已经回答了这个问题,我们深表歉意,但我无法在这里找到答案,也无法在谷歌上找到答案。我正在使用 Excel,所以我将引用列/行。
我需要创建一个具有几个条件的成本分析表,例如:
- 什么是类别?(完整列表:水果、蔬菜、肉类)
- 商品是从哪个供应商处购买的?(即Sobey's、Walmart等)
所以我有:
Dim catFruits() as string, catVegies() as string, catMeats() as string
为每个类别声明数组。我让它在每一行的“类别”列下,并检查类别以选择正确的数组。我接下来要做的是逐行向下“供应商”列并将单元格的内容添加到选定的数组中,但如果供应商已经在数组中,则不会。我一直无法找到一种方法来做到这一点。到目前为止我所拥有的:
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
我可以自己找出重复的部分,只是另一个循环,如果可以解决这个问题。
请放心,我使用的所有变量都已正确声明(可能数组除外,我不熟悉使用它们),并且正在使用 Option Explicit。
如果您需要任何其他信息,请尽管询问,我会尽我所能提供帮助。