Excel Vba函数,没有任何字符限制?

时间:2012-06-17 05:59:45

标签: excel function excel-vba character max vba

我在excel VBA中使用了一个函数,我从一长串单元格中提取数据。

我正在使用此功能

Function name(cell As Range) As Double

Dim Textstrng As String
Textstrng = cell.text
name = InStr(1, Textstrng, "UpgradeApprovalCode=")
End Function

UpgradeApprovalCode=在字符串中的大约8000个字符内时显示结果,如7000.但是当它远离前10000个字符时,它不会显示#VALUE!,

那么是否有任何搜索字符限制或我如何克服这一点。我正在使用office 2007.

3 个答案:

答案 0 :(得分:5)

尝试使用Value属性而不是Text

Textstrng = cell.Value

编辑:

Sub main()
Dim cell As Range
Dim sh As Worksheet
Set sh = ActiveSheet
Set cell = sh.Cells(1, 1)
Call GetName(cell)
End Sub

Function GetName(cell As Range) As Double

Dim Textstrng As String
Textstrng = cell.Value
GetName = InStr(1, Textstrng, "UpgradeApprovalCode=", vbTextCompare)
End Function

答案 1 :(得分:0)

每个单元格都有Value,Value2,Text和Formula值。 Value和Value2可以达到32K,但Text的长度限制为8221.公式长度可以更长,但是当它超过8192个字符时,它只能以XLSB格式保存。我不想看到那个公式!

答案 2 :(得分:0)

单元格中以32k字符显示的限制(并非所有字符都可见,但它们位于单元格中)。

就VBA而言,字符串可以是2GB长(32位有符号长字符数)。所以这个问题当然不是VBA的限制。

因此,D.Brett对.Value的回答显示了单元格中的实际内容,而不仅仅是文本。