WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

各种Excel VBA命令大全(5)

更新时间:2012-03-19 18:00 作者:佚名点击:


"Test"。
Public Sub Selection1()
Selection.Value = "Test" '在任何你点选的单元格输入文字 "Test"。
End Sub

VBALesson2 程序说明:
几种如何把别的工作表 Sheet4 数据,读到这个工作表的方法:在被读取的单元格

前加上工作表名称 Sheet4。
Public Sub Writes()
1-- 2 方法,最简单在被读取的 "[ ]" 前加上被读取的工作表名称 Sheet4。
1 [A1] = Sheet4.[A1] '把Sheet4 A1 单元格的数据,读到 A1单元格。
2 [A2:A4] = Sheet4.[B1] ''把 Shee4 工作表单元格 B1 数据,读到 A2:A4

单元格。
3-- 4 方法,在被读取的工作表 Range(" ")的 Range 前加上被读取的工作表名称

Sheet4。
3 Range("B1") = Sheet4.Range("B1") ''把 Shee4工作表单元格 B1 数据,读

到 B1 单元格。
4 Range("C1:C3") = Sheet4.Range("C1") '把 Shee4 工作表单元格 C1 数据

,读到 C1:C3 单元格。
5-- 6 方法,在被读取的工作表 Cells(Row,Column),Cells 前加上被读取工作表

名称 Sheet4。
5 Cells(1, 4) = Sheet4.Cells(1, 4) '把 Shee4 工作表单元格 D1 数据,读

到 D1 单元格。
6 Range(Cells(1, 5), Cells(5, 5)) = Sheet4.Cells(1, 5) '把 Shee4 工

作表单元格 E1 数据,读到 E1:E 5单元格。
End Sub

你点选任何单元格,按 Selection 按钮,则所点选的单元格均会被输入 Shee4 工

作表单元格 F1 数据。
Public Sub Selection1()
Selection.Value = Sheet4.[F1] '把 Shee4 工作表单元格 F1 数据,读到任

何你点选的单元格。
End Sub

VBALesson3 程序说明:
如何利用 Worksheet_SelectionChange 输入数据的方法。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target = 100
End Sub

Target 指的是你鼠标所选的单元格,Worksheet_SelectionChange() 事件的参数


可以是一个也可以是好几个单元格。
Range 是 Excel 特有的变量形态,叫范围。
Target As Rang 是把 Target 这个参数设定为 Range 变量形态。
Target = 100 是把你点选的单元格输入数字100。

VBALesson4 程序说明:
如何利用 Worksheet_SelectionChange 在限定的单元格输入数据的方法。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row >= 2 And Target.Column = 2 Then
Target = 100
End If
End Sub

If ... Then ... End If 这是我们学的这一个逻辑判断语句。
Target.Row >= 2,指的是鼠标选定的单元格的行大于或等于 2。
Target.Column = 2 ,指的是鼠标选定的单元格的栏等于 2。
If Target.Row >= 2 And Target.Column = 2 Then 指的是只有在Target.Row >=

2及Target.Column = 2二个条件成立时。
就是 (Target.Row >= 2) 为True及(Target.Column = 2)为True时,才执行下面的

程序 Target=100,
也就是 B 栏第二行及以下行用鼠标被点选时,才会被输入100,其它单元格则不被输

入数据。

VBALesson5 程序说明:
比较 Worksheet_SelectionChange() 与用按钮 CommandButton1_Click() 来执行

程序二者的方法与写法有何不同。
Worksheet_SelectionChange()事件
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row >= 2 And Target.Column = 2 Then
Target = 100
End If
End Sub

按鈕 CommandButton1_Click()
Private Sub CommandButton1_Click()
If ActiveCell.Row >= 2 And ActiveCell.Column >= 3 Then
ActiveCell = 100
End If
End Sub

二者执行方法最大的地方,在于 Worksheet_SelectionChange() 是自动的,你不用

了解他是怎么完成工作的。
按钮 CommandButton1_Click() 是人工的,比 SelectionChange()多一道手续,

就是要去按那接钮,程序才会执行。
SelectionChange() 有一个参数 Target 可用;CommandButton1_Click ()没有。
所以我们要用 ActiveCell 内定函数来取代Target,ActiveCell 与 Target最大的

不同点他只能指定一个单元格。
就是你选取多个单元格也只有最上面的单元格会加上数据;用 Selection 取代

ActiveCell, 用法就跟 Target 一样了。

VBALesson 6 程序说明:
完整的 If...Then ┅ End 逻辑判断式。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row >= 2 And Target.Column = 2 Then
Target = 200
ElseIf Target.Row >= 2 And Target.Column = 3 Then
Target = 300
ElseIf Target.Row >= 2 And Target.Column = 2 Then
Target = 400
Else
Target = 500
End If
End Sub

这是个完整的 If 逻辑判断式,意思是说,假如 If 後的判断式条件成立的话,就

执行第二条程序,否则假如 ElseIf 後的判断式条件成立的话,就执行第四条程序

,否则假如另一个 ElseIf 後的判断式条件成立的话,就执行第六条程序。
Else 的意思是说,假如以上条件都不成立的话,就执行第八条程序。
他的执行方式是假如 IF 的条件成立的话,就不执行其它ElseIf 及Else 的逻辑判
顶一下
(3)
100%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容