请教个VBA简单的问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 16:26:17
If Len(TextBox1.Value) <> 9 Then
MsgBox = ("输入字符数不符")
End If

我是VBA初学者,我想判断在TextBox1中所输入的字符值是否等于9,以上的语法哪里不对? 另外请教下VBA中使用EXCEL内部函数的方法。谢谢!
我就是想判断那个文本框的字符数,我上边描述不对,还望指点啊。感激不尽啊。 顺便说下内部函数的用法,我送足一百分给你。

应该是这样
If val(TextBox1.Text) <> 9 Then
...

在 Visual Basic 中使用 Microsoft Excel 工作表函数
Visual Basic 语句中可以使用大多数 Microsoft Excel 工作表函数。若要查看可以使用的工作表函数列表,请参阅 可用于 Visual Basic 的工作表函数列表。

注释 一些工作表函数在 Visual Basic 中是不实用的。例如:Concatenate 函数就不实用,因为在 Visual Basic 中可使用 & 运算符来连接多个文本值。

从 Visual Basic 中调用工作表函数
在 Visual Basic 中,通过 WorksheetFunction 对象可使用 Microsoft Excel 工作表函数。

以下 Sub 过程使用 Min 工作表函数来决定在某个单元格区域中的最小值。首先,将变量 myRange 声明为 Range 对象,然后将其设置为 Sheet1 上的 A1:C10 单元格区域。指定另一个变量 answer 为对 myRange 应用 Min 函数的结果。最后,answer 的值就被显示在消息框中。

Sub UseFunction()
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
End Sub

如果您使用的工作表函数需要一个单元格区域引用作为参数,则必须指定一个 Range 对象。例如:您可以用 Match 工作表函数搜索单元格区域。可以在工作表单元格中输入公式,如“=MATCH(9,A1:A10,0)”。但是,您应在 Visual Basic 过程中指定一个 Range 对象来获取相同的结果。