'1、工作簿
Workbooks 代表工作簿集合,所有的工作簿,Workbooks(N),表示已打开的第N个工作簿
Workbooks ("工作簿名称")
ActiveWorkbook 正在操作的工作簿
ThisWorkBook '代码所在的工作簿
'2、工作表
' 'Sheets("工作表名称")
'Sheet2.UsedRange 工作表已使用单元格集合
'Sheet1 表示第一个插入的工作表,Sheet2表示第二个插入的工作表....
'Sheets(n) 表示按排列顺序,第n个工作表
'Sheets(1).Name = "工作表改名了"
'ActiveSheet 表示活动工作表,光标所在工作表
'worksheet 也表示工作表,但不包括图表工作表、宏工作表等。
'Sheet1.Move before:=Sheets("Sheet3") 工作表移动到“”之前
'Sheet1.Move after:=Sheets(worksheets.count) 工作表移动到所有表最后
'3、单元格
'cells 所有单元格
'Range("A1").CurrentRegion 单元格所在区域连续的单元格集合
'Range ("单元格地址")
'Cells(行数,列数)
'Activecell 正在选中或编辑的单元格
'Selection 正被选中或选取的单元格或单元格区域
' Range("A2").Interior.ColorIndex = 3 单元格背景色3-8
'1、用VBA在单元格中输入普通公式
Sub t1()
Range("d2") = "=b2*c2"
End Sub
'2、用VBA在单元格输入带引号的公式
Sub t3()
Range("c16") = "=SUMIF(A2:A6,""b"",B2:B6)" '遇到单引号就把单引号加倍
End Sub
'3、用VBA在单元格中输入数组公式
Sub t4()
Range("c9").FormulaArray = "=SUM(B2:B6*C2:C6)"
End Sub
二、利用单元格公式返回值
Sub t5()
Range("d16") = Evaluate("=SUMIF(A2:A6,""b"",B2:B6)")
Range("d9") = Evaluate("=SUM(B2:B6*C2:C6)")
End Sub
三、借用工作表函数
Sub t6()
Range("d8") = Application.WorksheeFunction.CountIf(Range("A1:A10"), "B")
End Sub
'立即窗口可以把运行过程中的值立即显示出来,主要用于程序的调试
Sub d()
Dim x As Integer, st As String
For x = 1 To 10
st = st & Cells(x, 1)
Debug.Print "第" & x & "次运行结果:" _
& st
Debug.Print x
Next x
End Sub
'一、END语句
'作用:强制退出所有正在运行的程序。
'二、Exit语句
'退出指定的语句
1、Exit Sub
2、Exit function
3、Exit for
4、Exit do
on error resume next '遇到错误,跳过继续执行下一句
on error goto 0 '取消错误跳转
'on error goto '出错时跳到指定的行数
Sub t4()
On Error GoTo 100
Dim x As Integer
For x = 1 To 10
Cells(x, 3) = Cells(x, 2) * Cells(x, 1)
Next x
Exit Sub
100:
MsgBox "在第" & x & "行出错了"
End Sub
'excel文件和工作簿
'excel文件就是excel工作簿,excel文件打开需要excel程的支持
'Workbooks 工作簿集合,泛指excel文件或工作簿
'Workbooks(“A.xls”),名称为A的excel工作簿
'ActiveWorkbook ,当打开多个excel工作簿时,正在操作的那个就是 ActiveWorkbook(活动工作簿)
'Thisworkbook,VBA程序所在的工作簿,无论你打开多少个工作簿,无论当前是哪个工作簿是活动的,thisworkbook就是指它所在的工作簿。
'Windows(“A.xls”),A工作簿的窗口,使用windows可以设置工作簿窗口的状态,如是否隐藏等。
Sub t3()
Windows("e:/A.xls").Visible = False
End Sub
ActiveWindow.VisibleRange.Top 活动窗体的可见单元格区域的top位置
工作表操作
'1 判断A工作表文件是否存在
Sub s1()
Dim X As Integer
For X = 1 To Sheets.Count
If Sheets(X).Name = "A&