对于我的代码的一部分,我需要在一个单元格(例如G1,G2,H3)中获取一个字符串值,选择每个以G开头的逗号分隔的术语,然后将每个术语通过for循环。这样,只有以G开头的项才能通过for循环
到目前为止,这是我所拥有的,除了我的“ part”变量外,它似乎可以正常工作。它仍然是空的。我的语法或逻辑有问题吗?
谢谢。
dim parts, p as string
part = "G" & "*" 'I tried both string and variant for part. I've also tried writing part="G*" instead
parts = o.Cells(cell.Row, "C")
p = Split(parts, ",")
For Each part In p
.
.
.
Next part
新的更新工作代码:
dim parts, part as String
dim p As Variant
parts = o.Cells(cell.Row, "C")
p = Split(parts, ",")
For k = LBound(p) to UBound(p)
If Left(Trim(p(k)), 1) = "G" Then
part = CSTR(p(k))
.
.
.
.
End If
Next k
答案 0 :(得分:2)
应该使用常规的For...Next
循环以及Lbound
和Ubound
遍历数组。然后,检查每个元素的第一个字符是否为G
。也许也应该致电Trim
来消除潜在的领先空间:
Dim i as Long
For i = Lbound(p) to Ubound(p)
If Left(Trim(p(i)), 1) = "G" Then
...
End If
Next