VBA给我讲下子节,字符,和字符窜什么意思

Sub 数组方法()
Dim arr, t
Dim x As Integer
Dim sr As String, sr1 As String
清除颜色
t = Timer
arr = Range("d2:d" & Range("a65536").End(xlUp).Row)
For x = 1 To UBound(arr)
If x = UBound(arr) And sr <> "" Then Range(Left(sr, Len(sr) - 1)).Interior.ColorIndex = 3
If arr(x, 1) > 500 Then
sr1 = sr
sr = sr & "A" & x + 1 & ":D" & x + 1 & ","

If Len(sr) > 255 Then
sr = sr1

Range(Left(sr, Len(sr) - 1)).Interior.ColorIndex = 3
sr = ""
End If
End If
Next x
MsgBox Timer - t
End Sub
1公式中是运行SR不超过255,字符串长度不超过255,为什么到76行 就停止了 ,我很不理解 ,其实主要是我对VBA中的字符和字符串定义搞不懂 他们的长度也不清楚?
2字母和数字都是字符,但是他们长度是多少,标点符号也应该是字符但是长度是多少?
3字符串长度 是不是把字符都加起来就是了?
4字节这个概念?

您的代码要干什么我看不明白,各种嵌套太复杂,所以不研究您的代码怎么只运行76行。
就您问的,可以简单解释一下:
电脑的基本数据单位是“位”,就是只能表达“0”和“1”两个数据。
8个位组合起来就是“字节”,根据0和1的各种组合,可以表达0到255共256个数。
“字符”,有两种编码方案,一种是最简单的ASCII,1个“字符”只用1个字节,所以只能表达 256 个字符,这么少的字符数,只能装下 大小写字母、数字 和 键盘上看得见的那些符号。
为了容纳中文这些字符,只能扩展字节,所以用两个字节来表示字符,这样就有256 * 256 = 65536个字符了。这个编码方案好像叫ANSI什么的。
“字符串”就是很多字符合并起来的一串数据。在VB中,字符串是一个简单的问题,根本不需要考虑字节的概念,其长度也几乎无限,至少是以“亿”计的。
在VBA这样的编程环境中,这些底层硬件的东西基本不需要考虑,VB也没必要用“字符”的概念,一个字母表达为一个字符串就可以了。非要涉及字符概念的话,就是chr()、ASC()之类的函数了,就是把一个0到255的数字取对应的ASCII字符或反过来取数字。
在用Len函数取字符长度的时候,都是按你看得见的字符数量计算的,一个字母一个字符,一个标点符号一个字符,一个中文也一个字符。有一个LenB函数,就可以按字节取长度了,但字母也会算两个字节。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网