以下代码有效。我想从表中读取所有字符串。下面的代码会自动将我的变量vSheets更改为一个数组,该数组可以为表中的所有字符串提供空间。
但如果我将Dim vSheets As Variant
更改为Dim vSheets As String
,我会在Dim vSheets As Variant
行上收到错误消息。
Sub GetSheets()
'Get sheet names from tToggleSheets.DatabodyRange
Dim wksTables As Worksheet
Dim loSheets As ListObject
Dim vSheets As Variant
Set wksTables = GetSheetByCodename(ThisWorkbook, "wTables")
Set loSheets = wksTables.ListObjects("tToggleSheets")
vSheets = loSheets.DataBodyRange
End Sub
为什么VBA会自动扩展变量变量以为loSheets.DataBodyRange
中的所有字符串腾出空间,但是在相同的情况下不会扩展字符串变量?
我应该在上面的情况,变量或字符串中使用哪种变量类型?