我从我正在处理的项目中提取了以下代码片段:
Sub testData()
Dim dataRange As Range
Set dataRange = Range("B2").Offset(1, 0).Resize(, 3)
Dim data As Variant
data = dataRange.Value2
Dim i As Integer
For i = 1 To UBound(data)
Dim datarow As Variant
datarow = WorksheetFunction.Index(data, i, 0)
For j = 1 To dataRange.Count
MsgBox "The data is " & datarow(j)
Next j
Next i
End Sub
此示例中的单元格B3,C3和D3中的值可能是文本,日期,数字。
只要指定范围内每个单元格的文本内容不超过255个字符,此代码就可以正常执行。如果更大,代码将在行中抛出错误:
datarow = WorksheetFunction.Index(data, i, 0)
我已经阅读了Excel中的各种字符串限制(使用2010),其中有各种变通方法。但是,如果使用数据类型Variant,我不确定如何检查是否存在超过这些限制的文本值。
是否有人能够建议如何调整代码以允许更长的文本长度超过255个字符?
答案 0 :(得分:0)
根据Tim建议直接访问数组而不是使用Worksheet.Index来调整我的代码。更新后的代码如下:
For i = 1 To UBound(data)
For j = 1 To dataRange.Count
MsgBox "The data is " & data(i, j)
Next j
Next i
这可以避免出现255个字符限制的问题。