EXCEL VBA 常用語法筆記

活頁簿/檔案

開啟活頁簿

在不同資料夾:

Workbooks.Open filename:= “路徑\檔名.附檔名”

在同一個資料夾:

Workbooks(“檔名.附檔名”).Open

關閉活頁簿

Wokbooks(“檔名.附檔名”).Close False  

‘False表示跳出是否存檔提示時回答否

‘True 表示是

顯示活頁簿

Workbooks(“檔名.附檔名").Activate

關閉視窗及儲存格切換動畫

application.ScreenUpdating = True    

‘放到程式最後面

顯示檔案路徑

ThisWorkbook.Path

選取儲存格

在A欄現在作用的格子往下一列Range(“A”  &  ActiveCell.Row + 1)新增資料

Range(“A”  &  ActiveCell.Row + 1).Value = “test”

點A1為基準的最後空白位置新增資料

Range(“A1”).Select

Selection.End(xlDown).Select

Range(“A”  &  ActiveCell.Row + 1).Value = “test”

提示視窗

迴圈

For的寫法

For i =1 to 100

        CB1.AddItem Range(“A" & i).Value   ‘指加入A1~A100的資料到CB1

Next

DO,LOOP的寫法

I=1

Do

        i= i +1            

    If Range(“A" & i) = “"   Then Exit Do 

‘指依序加入A欄資料直到A欄有空白就停止

    CB1.AddItem Range(“A" & i)

Loop

從目前位置選取  (第34 個影片)

選取往上(表格全選)

Range(Selection, Selection.End(xlUp)).Select

選取往左(表格全選)

Range(Selection, Selection.End(xlToLaft)).Select

選取往右(表格全選)

Range(Selection, Selection.End(xlToRight)).Select

選取往下(表格全選)

Range(Selection, Selection.End(xlDown)).Select

選到表單最下面(鍵盤為 ctrl+下)

Selection.End(xlDown).Select

從目前位置偏移

ActiveCell.Offset(1,0).Range(“A1”).Select

表格全選

ActiveCell.CurrentRegion.Select

activecell –>作用中的儲存格
activecell.row –>作用中的儲存格的列號
activecell.column –>作用中的儲存格的欄號
activecell.address–>作用中的儲存格的位址

selection –>選擇的儲存格
selection.address –>位址
selection.rows.count –>列數,(選擇多區,顯示第一區列數)
selection.columns.count –>欄數,(選擇多區,顯示第一區欄數)

複製

複製特定範圍

Range(“a1:h2”).Copy

複製選取範圍

Selection.Copy

貼上

Activesheet.Paste

一開啟檔案就執行

其他

設定顯示文字

CB1.Caption = “愈顯示的文字”

清除工作表的内容,但不清除格式

Sheets(“Sheet2″).Cells.ClearContents  

清除工作表的内容和格式

Sheets(“Sheet2″).Cells.Clear               

ListBox.ListCount 計算數量

特殊選取((有需要再上網查

鎖定功能鍵

Application.OnKey “^c", “"     ‘  ^  表示ctrl  “"  表示鎖定不能使用
Application.OnKey “^v", “" 

32位元改64位元須注意處

加入 PtrSafe

保護工作表

允許巨集修改的保護

Sheets(“範例").Protect UserInterfaceOnly:= True

取消保護

Sheets(“範例").Unprotect Password:="el 284u83w94″ “password後面為密碼設立

設定保護

Sheets(“範例").Protect Password:="el 284u83w94″, DrawingObjects:=True, Contents:=True, Scenarios:=True

每秒自動關閉VBE視窗

NewTime = Now + TimeValue(“00:00:01″)

    Application.OnTime NewTime, “自動關閉"

    If Application.VBE.MainWindow.Visible = True Then

        With Application.VBE.MainWindow

            .Visible = False

        End With

    End If

禁止使用關閉巨集

Application.EnableCancelKey = xlDisabledcc

鍵鼠操作或開啟程式

操控鍵盤輸入

SendKeys “ABCD" ‘傳送ABCD

SendKeys “~" Or SendKeys “{Enter}" ‘按下Enter

SendKeys “%S" ‘傳送Alt + S

https://msdn.microsoft.com/zh-tw/library/system.windows.forms.sendkeys.send(v=vs.110).aspx

等待

Application.Wait Now + 5 / 86400      此處 5 為秒數    等待五秒的意思

廣告

發表留言