以前听说Excel是个非常强大的软件,支持编程。但是不知道具体怎么使用,今天遇到一个问题,尝试了一下,发现Excel支持vb编程。visual basic在90年代非常流行,第一次接触的时候,还在读初中,那时候不知道从哪里弄了本薄本子看了下,支持设计界面,有个简单的循环一类的,然后就再也没接触了。。。
语法介绍
Application.InputBox 方法 (Excel),该方法有很多参数,格式如下
expression.InputBox (Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)
arr = [a1].CurrentRegion
意思是把[A1]开始的当前区域的值赋给(或者叫装入)数组。CurrentRegion当前区域,其返回的为区域即Range,Range的默认属性为Value,Arr为数组,此句应是简写,全部应该是Arr = [a1].CurrentRegion.value
Ubound:返回数组指示维度的最大值。
lc = UBound(arr, 2)
//对具有下述维数的数组而言:
Dim A(1 To 100, 0 To 3, -3 To 4)
//UBound的返回值如下:
UBound(A, 1) = 100
UBound(A, 2) = 3
UBound(A, 3) = 4
resize表示调整指定区域的大小,与函数中的resize相似,二个参数,每一个是行尺寸,第二个是列尺寸。
[a1].resize(1,3)表示将a1单元格调整为a1:c1
TODO 这里有点疑问。
VB中的Dictionary对象
https://blog.youkuaiyun.com/ybw_wang/article/details/6737032
Cells(r, 6).Resize(n, 1) = [G5]
r行第6列单元开始, 向下n行当列范围填充[G5] 的内容
uion多个区域并集
application.uion方法是作用如下,比方我们在程序中有两个变量
R1=ACTIVESHEET.RANGE("A1:A5"),
R2=ACTIVESHEET.RANGE("C2:C5")
R3=APPLICATION.UNION(R1,R2)
则计算结果R3 是R1与R2的交集。 包含了(A1:A5,C2"C5)的单元格。
excel启用宏在哪里
https://jingyan.baidu.com/article/4d58d541542c049dd4e9c0d2.html
https://docs.microsoft.com/zh-cn/office/vba/api/excel.application.inputbox
https://blog.youkuaiyun.com/ntotl/article/details/79141314
http://www.excelpx.com/thread-173772-1-1.html
http://club.excelhome.net/thread-747220-1-1.html
http://club.excelhome.net/thread-842957-1-1.html