像数组一样使用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为“”(无)。

你不需要一个数组。