① EXECL中如何使用VBA编程
打开一个Excel文件,鼠标右击下面的工作表(如sheet1)。选择“查看代码”,就可以打开VBA编辑界面。
总结:其实VBA主要是触发和指定单元格。
1.触发的原理其实很简单,大家可以选择不同的触发模式,试一下就知道是怎么回事了。
2.至于怎么指定到单元格,大家可以看看cells语句和Range语句。
补充说明: VBA不需要过于复杂的VB语句。你只需要知道VB怎么写怎加减乘除,怎么使用IF语句,就可以满足大部分的需求了。
② Excel VBA怎么实现整行/列的遍历
1、进入EXCEL,ALT+F11进入VBA编辑器。
注意事项:
Excel虽然提供了大量的用户界面特性,但它仍然保留了第一款电子制表软件VisiCalc的特性:行、尺烂列组成单元格,数据、与数据相关的公式或者对其他单元格的绝对引用保存在单肆困如元格中。
③ vba 中自定义类的事件触发问题。
没怎么看明白
④ 如何编写“EXCEL VBA”程序
Private Const DirPath$ = "C:\" '指向查找的路径
Sub aa()
Dim Filename$
Dim i&
Dim Wb As Workbook, Rng As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
With Worksheets("总表")
For i = 1 To .[B65536].End(3).Row
If Len(.Cells(i, 2)) <> 0 Then
Filename = DirPath & "" & .Cells(i, "B") & ".xls"
If Len(Dir(Filename)) <> 0 Then
Set Wb = GetObject(Filename)
With Wb.Worksheets("材料")
If Err.Number <> 0 Then GoTo l
Set Rng = .[B:B].Find(what:="水泥砖")
If Not Rng Is Nothing Then
Worksheets("总表").Cells(i, "C") = Rng.Offset(0, 1).Value
End If
End With
l:
Wb.Close False
End If
End If
Next
End With
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
⑤ 关于Excel的VBA功能。
没想到楼上的都在用文字描述,而且能说这么长,那我就不说这么多,直接上代码,打开VBA编辑器,输入以下代码:
Sub 不同的项添加空白行()
Dim a
Do
a = a + 1
If a > 30 Then
Exit Do
ElseIf Cells(a, 1) <> Cells(a + 1, 1) Then
Cells(a + 1, 1).Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
伏御毕 a = a + 1
End If
Loop
End Sub
备注:运行一次,添加一行空白行,运行第二次会插入两行,之后就都是两行
------------------------------------------------
再给你一个删除空白行的代码,之前回答别人的,刚好和你的问题相反
Sub 删除空白行()
Dim a
Do
a = a + 1
If a > 30 Then
Exit Do
ElseIf Cells(a, 1) = "" Then
Cells(a, 2).Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
End If
Loop
End Sub
备注:这个要多运行几次拆茄,因为删除行后,行号也跟着上移,所以缺芹会跳过一部分,所以会运行两次以上
下面给你上图看效果
⑥ vba有哪三种工作模式求解答
一、设计模式。二、中断调试模式。三、运行模式
⑦ 怎样用vba代码实现静态触发,就是当单元格为某一值时触发事件,而不是在更改后触发。
没change自然就没有事亏缺件发生了
再workbook open、或者worksheet active里再放一段 检测过程 就纳袭可以的洞空兄
⑧ Excel vba中怎样填写数值改变单元格后触发事件
假设要判断的值在A1,改变单元格后触发事件窗口填写代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" And [A1].Value > [B1].Value Then
Target.Interior.ColorIndex = 3Else
Target.Interior.ColorIndex = xlNone
End If
End Sub
注意一般加个IF来判断当前单元格量是否是指定的单元格,就是执行代码。
(8)vba编程对应的触发模式有哪些扩展阅读:
vba中可以触发不同事件的命令:
Publicr/Private]Const常量名[As类型让简]=表达式Global Const符号常量名称 = 常量值,定义一个符号常量,并将指定表达式的值赋给符号常量。
常量名指定符号常量的名字。符号常量名可以由字母、数字和下划线组成,但只能以字母开头,不能含有空格,表达式指定符号常量的值。该表达式通常由数值型、字符型、逻辑型或日期型数据以及各种运算符组成,但在表达式中不能出现变量和函数。
public用来表示这个常量的作用范围是整个数据库的所有模块。
private则表示这个常量只在使用该声明常量语句的模块中起作用。
说明:
1、除用户定义的符号常量外,VBA还提供了许多符号常量,我们春滑锋可以直接使用。
2、对数码比较长,并且在程序中多次使用的常量,通常使用符号常量代替。运行程序时,系统自动把程序中的扒晌所有符号常量换为赋给它的值。
⑨ 如何使用VBA触发某个功能键比如F9
可以使用SendKeys方法来按下F9按键。使用方法如下:
PrivateSubWorksheet_Change(ByValTargetAsRange)
SendKeys"{F9}"
EndSub
SendKeys 方法
参阅参阅参阅参阅
将击键发送给活动应用程序。
expression.SendKeys(Keys, Wait)
expression 可选。该表达式返回一个 Application 对象。
Keys Variant
类型,必需。要发送的键或者组合键,以文本方式表示。
Wait团卜 Variant 类型,可选。如果该值为 True,则 Microsoft Excel 等待击键处理完后再将控制返回到宏;如果该值为 False(或者省略该参数),则宏继续执行而不等待击键处理完毕。
说明
本方法将击键放到键盘缓冲区。某些情况下,在调用要使用击键的方法之前必须先镇唤调用此方法。例如,若要往对话框中发送密码,则必须在显示对话框之前调用 SendKeys 方法。
Keys 参数可指定任何单个键或与 Alt、Ctrl 或 Shift
的组合键(或塌旅穗者这些键的组合)。每个键可用一个或多个字符表示。例如,"a" 表示字符 a,或者
"{ENTER}" 表示 Enter。
若要指定在按相应键时不会显示的字符(例如,Enter 或 Tab),请使用下表所列的代码来表示相应的键。表中的每个代码表示键盘上的一个键。
键 代码
Backspace {BACKSPACE} or {BS}
Break {BREAK}
Caps Lock {CAPSLOCK}
Clear {CLEAR}
Delete 或 Del {DELETE} 或 {DEL}
End {END}
Enter ~(波形符)
Enter(数字小键盘) {ENTER}
Esc {ESCAPE} 或 {ESC}
F1 到 F15 {F1} 到 {F15}
Help {HELP}
Home {HOME}
Ins {INSERT}
Num Lock {NUMLOCK}
Page Down {PGDN}
Page Up {PGUP}
Return {RETURN}
Scroll Lock {SCROLLLOCK}
Tab {TAB}
向上键 {UP}
向下键 {DOWN}
向右键 {RIGHT}
向左键 {LEFT}
也可指定与 Shift 和/或 Ctrl 和/或 Alt 组合使用的键。要指定与其他键组合使用的键,请使用下表。
要组合的键
在键代码之前添加
Shift +(加号)
Ctrl ^(乘幂)
Alt %(百分号)
示例
本示例使用 SendKeys 方法退出 Microsoft Excel。
Application.SendKeys("%fx")
⑩ Excel里面如何使用VBA
vb可以调用Excel,并运行其中的宏的: Dim xlsApp As Excel.Application Dim xlsBook As Excel.Workbook Dim xlsSheet As Excel.Worksheet Set xlsApp = New Excel.Application Set xlsBook = xlsApp.Workbooks.Open(App.Path + "\test.xls") '打开你的EXCEL文档 Set xlsSheet = xlsBook.Worksheets(1) xlsApp.Visible = False Call xlsApp.Run("复制放样坐标12")'运行你的宏