VBA提供了哪些标准数据类型

VBA提供了哪些标准数据类型,第1张

VBA提供了15种标准数据类型,具体见下表:

数据类型的转换

1 各种进制转换函数

VB中涉及到的数据进制之间的转换函数主要有如下几个:

Hex 函数: 返回代表十六进制数值的 String;

Oct 函数: 返回代表一数值的八进制值的Variant (String);

Cint函数: 强制将一个表达式转换成-32,768 至 32,767的整型;

CLng函数: 强制将一个表达式转换成-2,147,483,648 至 2,147,483,647的长整型;

Cdec函数: 强制将一个表达式转换成Decimal 数据类型;

CDbl函数: 强制将一个表达式转换成Double 数据类型;

例子:

(1) A=hex(5) 返回5;

(2) B=hex(10) 返回A

(3) C=hex(23) 返回17

(4) D=oct(5) 返回5

(5) E=oct(10) 返回12

(6) F=oct(23) 返回27

(7) G=Cint(&H17) 返回23

(8) H=Cint(&O12) 返回10

值得一提的是Hex函数和Oct函数返回的都是字符串,如果是想将十六进制或是八进制的字符串变量转换成十进制,可以按如下方法进行:

C=”17” 17为十六进制数值的String

C=”&H” & C

Ic=Cint(C) 返回23

2 字符串和数字转换函数

Str()和Val()用于字符串和数字的相互转换;

Chr()和Asc()用于字符串和AscII码的相互转换;

Chrw()和Ascw()用于Unicode码和中文的相互转换;

Format()函数用途十分广泛的一个函数,功能十分强大

例子:

(1) MyString = Str(-45965) ' 返回 "-45965"。

MyString = Str(459001) ' 返回 " 459001"。

(2) MyValue = Val(" 2 45 7") ' 返回 2457。

MyValue = Val("24 and 57") ' 返回 24。

(3) MyChar = Chr(97) ' 返回 a。

MyChar = Chr(37) ' 返回 %。

(4) MyNumber = Asc("Apple") ' 返回 65。

MyNumber = Asc("a") ' 返回 97。

在VBA里面,可以使用VarType获得变量以及单元格的数据类型,数值类型值为5(vbDouble)、空类型为0(vbEmpty)、字符串类型为8(vbString )。

例子代码1:显示A1单元格的数据类型

1

2

3

Sub test()

MsgBox VarType([a1])

End Sub

例子代码2:判断A1单元格数据类型是否数值

1

2

3

4

5

6

7

Sub test()

If VarType([a1]) = vbDouble Then

MsgBox "A1是数值类型"

Else

MsgBox "A1不是数值类型"

End If

End Sub

实际上VB还有vbLong、vbDecimal等类型,但单元格为数值时默认是vbDouble。

对单元格的引用换一个方式,不用[A1]的格式而用cells(行值,列值),行值数字,列值可以是数字或字母(如A列,B列这样的字母)

k=sheets(1)cells(r,c) 'r & c 都是变量了

参考下面的文字,我刚才定义了个string, 试读了1000多汉字没问题啊?难道公共变量有限制?试下固定长度变量看看?

======================================

1 VBA中的字符串

VBA不仅可以处理数字,也可以处理文本(字符串)。VBA提供了两类字符串:

一类为固定长度的字符串,声明时包含指字的字符数。例如,下面的语句

Dim strFixedLong As String100

声明字符串变量后,无论赋予该变量多少个字符,总是只包含100个字符,但字符串最长不超过65526个字符,且需要使用Trim函数去掉字符串中多余的空格。定长字符串只有在必要时才使用。

另一类为动态字符串。例如,声明字符串变量Dim strDynamic As String后,可以给该变量任意赋值,最多可包含20亿个字符。

====================

是不能的。你可以声明为Variant,即变量类型,缩小一些范围。你的情况也可以声明为字符串型,只需要在读取时加一个val()或cint()就可以了。你也可以定义一个新的类型,包含两种变量类型的属性,这样将你的数组声明为你的类型就可以了

以上就是关于VBA提供了哪些标准数据类型全部的内容,包括:VBA提供了哪些标准数据类型、在excel VBA中如何判定单元格中的数据类型是整数还是其他呢、VBA中获取单元格的内容,单元格地址是变量,该怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9456759.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存