(工作需要,临时啃vba)
01
输入数据
Sub 输入100()
//输入100 Macro
// 宏由 Lenovo User 录制,时间: 2011-4-22
Range("A1").Select
ActiveCell.FormulaR1C1 = "100"
Range("B4").Select
End Sub
删除数据
Sub 删除A1的内容()
’
’ 删除A1的内容 Macro
’ 宏由 Lenovo User 录制,时间: 2011-4-22
’
’
Range(“A1”).Select
Selection.ClearContents
End Sub
02
1语句:
'VBA中的代码的基本结构与组成部分
'VBA语句
'一、宏程序语句(填充)
'运行后可以完成一个功能
Sub test() '开始语句
Range("a1") = 100
End Sub '结束语句
'二、函数程序语句(调用函数)
'运行后可以返回一个值
Function shcount()
shcount = Sheets.Count
End Function
'三、在程序中应用的语句(调用test这个宏)
Sub test2()
Call test
End Sub
Sub test3()(循环语句,在1-100中填充1-100)
For x = 1 To 100 'for next 循环语句
Cells(x, 1) = x
Next x
End Sub
VBA对象
'VBA中的对象其实就是我们操作的具有方法、属性的excel中支持的对象
'Excel中的几个常用对象表示方法:
’1、工作簿
' Workbooks 代表工作簿集合,所有的工作簿,Workbooks(N),表示已打开的第N个工作簿
' Workbooks ("工作簿名称")
' ActiveWorkbook 正在操作的工作簿
' ThisWorkBook '代码所在的工作簿
’2、工作表
'Sheets("工作表名称")
'Sheet1 表示第一个插入的工作表,Sheet2表示第二个插入的工作表....
'Sheets(n) 表示按排列顺序,第n个工作表
'ActiveSheet 表示活动工作表,光标所在工作表
'worksheet 也表示工作表,但不包括图表工作表、宏工作表等。
’3、单元格
'cells 所有单元格
'Range ("a1:a10,c2")
'Cells(行数,列数)
'Activecell 正在选中或编辑的单元格
'Selection 正被选中或选取的单元格或单元格区域
3.VBA属性
'VBA属性就是VBA对象所具有的特点
'表示某个对象的属性的方法是:
’对象.属性=属性值
(赋值)
Sub ttt()
Range("a1").Value = 100
End Sub
(改名)
Sub ttt1()
Sheets(1).Name = "工作表改名了"
End Sub
(工作表的单元格的值)
Sub ttt2()
Sheets("Sheet2").Range("a1").Value = "abcd"
End Sub
(把单元格改成红色的背景色)
’Range(“A2”).Interior.ColorIndex = 3 (修改背景色)
‘Range(“A2”).Font.ColorIndex = 3 (修改字体颜色)
Sub ttt3()
Range("A2").Interior.ColorIndex = 3
End Sub
4.VBA方法
'VBA方法是作用于VBA对象上的动作
'表示用某个方法作用于VBA的对象上,可以用下面的格式:
对象.方法 参数名称 := 参数值
(把a1的内容复制到a2中)
Sub ttt4()
Range("A1").Copy Range("A2")
End Sub
()
Sub ttt5()
Sheet1.Move before:=Sheets("Sheet3")
End Sub
(删除工作表)
Sub ttt4()
sheets("sheet2").Delete
End Sub
03判断语句
1.if判断语句
If 条件 Then
语句1
Else
语句2
End If
单条件判断
Sub 判断1()
If Range("a1").Value > 0 Then
Range("b1") = "正数"
Else
Range("b1") = "负数或0"
End If
End Sub
多条件判断
If 条件1 Then
语句1
Else If 条件2 Then
语句2
Else If 条件3 Then
语句3
End If
Sub 判断2() '
If Range("a1").Value > 0 Then
Range("b1") = "正数"
ElseIf Range("a1") = 0 Then
Range("b1") = "等于0"
ElseIf Range("B1") <= 0 Then
Range("b1") = "负数"
End If
End Sub
If 条件1 And 条件2 Then
语句
End If
(IF语句具有多条件判断优势,if使用较多)
Sub 多条件判断2()
If Range("a1") <> "" And Range("a2") <> "" Then
Range("a3") = Range("a1") * Range("a2")
End If
End Sub
2.select-case
先找到判断对象;再根据情况进行操作。
(单条件判断)
Select Case 判断对象
Case 条件1
语句1
Case Else
语句2
End Select
Sub 判断1()
Select Case Range("a1").Value
Case Is > 0
Range("b1") = "正数"
Case Else
Range("b1") = "负数或0"
End Select
End Sub
('多条件判断)
Select Case 对象
Case 条件1
语句1
Case 条件2
语句2
Case Else
语句3
End Select
Sub 判断2()
Select Case Range("a1").Value
Case Is > 0
Range("b1") = "正数"
Case Is = 0
Range("b1") = "0"
Case Else
Range("b1") = "负数"
End Select
End Sub
(直接与字母比较)
Sub 判断3(