① 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")'運行你的宏