我试图弄清楚如何从数组中删除某个元素(如果它位于某个位置)。我们还需要调整数组的大小。为了使示例更简单,让我们尝试删除数组中位置一的任何颜色(“绿色”、“蓝色”、“红色”)。
Sub Example()
Dim pos
colors = Array("Green", "Blue", "Red")
pos = 1
colors(pos).Delete 'obviously this doesn't work but what would the correct protocol be?
End Sub
Run Code Online (Sandbox Code Playgroud)
您还可以使用Filter(如果值是唯一的,如本例中所示,任何匹配Green 的字符串都会被删除)。
Colors = Array("Green", "Blue", "Red", "Yellow", "Pink")
Colors = Filter(Colors, Colors(0), False)
Run Code Online (Sandbox Code Playgroud)
您可以将特定元素设置为单个空白,并通过TRIM()将其消除:
Sub DropFirstElement()
Colors = Array("Green", "Blue", "Red")
Colors(0) = " "
Mystring = Application.WorksheetFunction.Trim(Join(Colors, " "))
Colors = Split(Mystring, " ")
End Sub
Run Code Online (Sandbox Code Playgroud)
笔记:
我们使用工作表的Trim()函数而不是 VBA 的Trim()函数来删除多个连续空格。
| 归档时间: |
|
| 查看次数: |
13332 次 |
| 最近记录: |