在vba中,bool类型数据可以参与数学运算,true为-1,false为0
Sub mysub()
Dim mybool As Boolean
Debug.Print
Debug.Print
mybool = ( > ) Or ( < )
Debug.Print mybool
Debug.Print mybool + 'true 为-1 mybool2 = ( > ) And ( < )
Debug.Print mybool2
Debug.Print mybool2 + 'False 为0
End Sub
另外发现视图-本地窗口十分有用,调试程序时不必把数组什么的输出也能看变量在每一步的值了。特别方便。
http://club.excelhome.net/thread-1040387-1-1.html
数组中去除空值(VBA)
Public Sub ww() '
Dim ar, arr
ar = [a1:a10] '是一个10行一列的二维数组
arr = Application.Transpose(ar) 'arr变为了一个一维数组(行向量而非列向量)
arr = Join(Application.Transpose(ar)) '省略了分隔符那么返回一个元素,这个元素是字符串,字符串以空格分隔
arr = Application.Trim(Join(Application.Transpose(ar))) '将字符串最前和最后的空白删掉
arr = Split(Application.Trim(Join(Application.Transpose(ar)))) '返回一个下标从零开始的一维数组,它包含指定数目的子字符串。默认字符串以空格分隔
Debug.Print Join(arr)
End Sub