VBA实例

控件事件只要吧宏写好后和控件关联就可以了。

1、几种用VBA在单元格输入数据的方法:

Public Sub Writes()

 1-- 2 方法,最简单在 "[ ]" 中输入单元格名称。

1   [A1] = 100  '在A1 单元格输入100。

 [A2:A4] = 10  '在 A2:A4 单元格输入10。

3-- 4 方法,采用 Range(" "), " " 中输入单元格名称。

3   Range("B1") = 200  '在 B1 单元格输入200。

4   Range("C1:C3")= 300  '在 C1:C3 单元格输入300。

5-- 6 方法,采用 Cells(Row,Column),Row是单元格行数,Column是单元格栏数。

5   Cells(1, 4) =400  '在 D1 单元格输入400。

6    Range(Cells(1,5), Cells(5, 5)) = 50  '在 E1:E 5单元格输入50。

End Sub

你点选任何单元格,按 Selection 按钮,則则所点选的单元格均会被输入文字"Test"。

Public Sub Selection1()

   Selection.Value = "Test"  '在任何你点选的单元格输入文字 "Test"。

End Sub

2、几种如何把别的工作表Sheet4 数据,读到这个工作表的方法:

在被读取的单元格前加上工作表名称  Sheet4

Public Sub Writes()

 1-- 2 方法,最简单在被读取的 "[  ]" 前加上被读取的工作表名称 Sheet4。

1   [A1] = Sheet4.[A1]  '把Sheet4 A1 单元格的数据,读到 A1单元格。

 [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

3、如何利用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。

4、如何利用Worksheet_SelectionChange 在限定的单元格输入数据的方法。

Private SubWorksheet_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,其它单元格则不被输入数据。

Target  Selection可以选多个单元格但值只和第一个单元格有关  ActiveCell只能选一个单元格

5、我們為什麼要用變數。

Private SubWorksheet_SelectionChange(ByVal Target AsRange)

Dim  i ,  j  As Integer

Dim  k  As Range

i  =  Target.Row

j  =  Target.Column

Set  k  =  Target

  If  i  >= 2 And  j  = 2 Then

      k  =  200

  ElseIf  i >= 2  And  j = 3  Then

      k  =  300

  ElseIf  i >= 2  And  j = 4  Then

      k  =  400

  Else

      k =  500

  End If

End Sub

  

用变量的第一个好处大家马上感觉得出来,就是可以简化程序。

使用变量前,你得先宣告变量。宣告变量的方法是在 "Dim " 后面写上变量  "  i " As 后面接上变量的形态 "Integer"。

Dim  i ,  j As Integer 就是宣告  i 与 j 为整数变量,这是同时宣告二个变量  i 与 j 所以要在二个变量间加个 " , "号。

Dim  k  As Range 是宣告 k 为范围资料形态,Range这是 Excel 特有的资料形态。

i  =  Target.Row是把当前单元格的行数,指定给变量 i。

j  =  Target.Column 是把当前单元格的栏数,指定给变量 j。

Set  k  =  Target 是把当前的单元格,指定给变量 k。

用像  i  与 j  这样简单的变量,在程序的前面你可能还记得  i  或  j 代表着什么。程序写长了,你可能忘记

 i 或  j 代表着什么。所以最好的方法是用比较有意义的代号,来为变量命名如 iRow  或 iCol 来取代 i  及 j 。

 

6、体会一下Worksheet_Change()事件。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim iRow, iCol As Integer

iRow = Target.Row

iCol = Target.Column

  If iRow >= 2 And iCol = 2 And Target <> "" Then

      Application.EnableEvents = False

      Cells(iRow, iCol + 1) = Cells(iRow, iCol) * 2

      Application.EnableEvents = True

  ElseIf iRow >= 2 And iCol = 2 AndTarget = "" Then

      Cells(iRow, iCol + 1) = ""

  Else

      Cells(iRow, iCol + 1) = ""

  End If

End Sub

  

前几个教程都是用Worksheet_SelectionChange 事件来举例子,大家应该能体会他是怎么一回事了吧。

这个教程就是要让你来体会什么是Worksheet_Chang()事件。因为这二个事件在VBA都是非常有用的,所以一定要了解。

简单的说,前者是你鼠标移动到那个单元格,就触发那个事件的执行。后者是要等到你点选的单元格,数据有了

改变才会触发事件的执行。二者执行的时机一前一后。

Target <> "" 是代表限定当前的单元格要是有数据的,才会执行以下三行的程序。

Cells(iRow, iCol + 1) =Cells(iRow, iCol) * 2,是你在 B 栏输入数据时,C 栏将可得到 B 栏二倍的数据。

Target = "" 是限定当前的单元格要是没有数据的,才会执行以下一行的程序。

 Cells(iRow, iCol + 1) = "",是把 C 栏的数据清成空格。

Application.EnableEvents = False与Application.EnableEvents = True,这是个成双的程序,当你用了前者记得在执行其

他程序后要写上后面的程序。它的目的在抑制事件连锁执行。简单的说就是,在 B 字段所触发的事件,不愿在其它单元格再触发另

一个Worksheet_Change()事件。

转载于:https://www.cnblogs.com/liuweicfyj/archive/2009/12/21/1629208.html

VBA实例800pdf主要是指通过VBA编程语言来处理大量的PDF文件的实例VBA是Visual Basic for Applications的缩写,是一种用于编写Microsoft Office应用程序的宏语言。通过使用VBA,可以对PDF文件进行自动化操作,提高处理效率和准确性。 具体来说,VBA实例800pdf可能包括以下几个方面的应用: 1. 批量转换:通过VBA编写程序,可以将大量的PDF文件批量转换为其他格式,比如Word、Excel或图片等。这样可以快速将PDF文件内容提取出来,并进行进一步的处理和编辑。 2. 数据提取:VBA可以帮助提取PDF中的特定数据,然后将其导入到其他应用程序中进行分析和处理。比如,从财务报表的PDF文件中提取数字,并将其自动计算出总和或平均数等。 3. 自动填充表单:很多PDF文件是带有表单的,通过VBA编写的程序可以自动填充这些表单,提高操作的效率。比如,通过读取Excel中的数据,将其自动填充到PDF表单相应的字段中。 4. PDF合并分割:使用VBA编写的程序可以将多个PDF文件合并成一个文件,或者将一个PDF文件拆分成多个文件。这样可以更加灵活地管理和处理PDF文件。 总之,VBA实例800pdf是指通过VBA编程实现处理大量PDF文件的各种功能,包括转换、数据提取、表单填充、合并分割等。这些功能可以提高PDF文件的处理效率和准确性,使工作变得更加高效和便捷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值