像数组一样使用Excel单元格

时间:2017-09-19 15:57:46

标签: excel excel-vba vba

我有一个Excel文件,我必须计算“。”的数量。对于每个细胞。一个单元格有一些字符(例如'A01.10.10.10') 是否可以将单个单元格的内容转换为数组?

3 个答案:

答案 0 :(得分:4)

您可以使用Split()

myArray = Split(Range("A1"), ".")

这会将Range("A1")内容按句点“拆分”为数组。

你也可以直接返回split()函数来获取ubound,因为返回是一个数组(跳过了dim数组的需要):

UBound(Split(Range("A1"),".")) 

根据您的意见,会吐出3

答案 1 :(得分:2)

为什么需要一个数组才能执行此操作?

您可以使用

在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

不需要数组。如果你打算用字符串做其他的事情并且需要它在数组中然后使用@JNevill回答

答案 2 :(得分:1)

你可以找到"。"在单个单元格中使用公式:

=Len(targetcell)-Len(Substitute(targetcell,".",""))

计算细胞数,然后计算"和#34;之后的细胞数。已被""取代(无)。

你不需要一个阵列。