像数组一样使用Excel单元格
我有一个Excel文件,我必须计算“。”的数量。 为每个细胞。 一个单元格有一些字符(例如“A01.10.10.10”)是否可以将单个单元格的内容传送到数组中?
你可以使用Split()
来做到这一点:
myArray = Split(Range("A1"), ".")
这将“分割” Range("A1")
内容由一个句点进入数组。
你也可以直接返回split()
函数来得到ubound,因为return是一个数组(跳过需要调dim
数组):
UBound(Split(Range("A1"),"."))
根据你的意见,哪个会吐出来3
。
为什么你需要一个数组来做到这一点?
你可以通过使用Excel的公式得到你的答案
=LEN(A1)-LEN(SUBSTITUTE(A1,".",""))
或者VBA
Sub CountDots() Dim str As String str = "A01.10.10.10" MsgBox Len(str) - Len(Replace(str, ".", vbNullString)) End Sub
不需要数组。 如果你要用string做其他事情,并需要在数组中,然后使用@JNevill的答案
你可以find“。” 在使用公式的单个单元格中:
=Len(targetcell)-Len(Substitute(targetcell,".",""))
计算单元格的数量,然后计算“。”之后的单元格数量。 已被replace为“”(无)。
你不需要一个数组。