VBA怎样将单元格中的文本存储到数组中
时间: 2024-11-06 16:35:59 浏览: 6
在VBA中,你可以通过循环结构来将工作表中的文本数据存储到数组中。以下是一个简单的例子,假设你想将A列的文本数据存储到名为`myTextArray`的字符串数组中:
```vba
Sub StoreTextToArray()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1") ' 更改为你实际的工作表名称
Dim startRow As Long, endRow As Long
Dim i As Long
Dim strData As String
Dim myTextArray() As String
' 获取范围内的行数
startRow = 1 ' 假设第一行有数据
endRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' 初始化数组
ReDim myTextArray(1 To endRow - startRow)
' 循环读取并存储文本数据
For i = startRow To endRow
strData = ws.Cells(i, 1).Value ' 读取A1单元格的内容
If Not IsEmpty(strData) Then ' 检查是否为空
myTextArray(i - startRow + 1) = strData ' 存储数据
End If
Next i
' 打印数组内容验证
For i = 1 To UBound(myTextArray)
Debug.Print myTextArray(i)
Next i
End Sub
```
在这个例子中,我们首先获取A列的有效行数,然后根据这个范围初始化数组。接着,对于每一行,我们将单元格的文本值存储到对应的数组位置上,如果单元格为空则跳过。
运行此宏后,`myTextArray`数组就包含了A列相应行的所有非空文本数据。
阅读全文