100個最簡單的Excel巨集指令範例圖解

  • 點閱:52
  • 作者:
  • 出版年:2016[民105]
  • 出版社:德威國際文化
  • 出版地:臺北市
  • 集叢名:工具書:8
  • ISBN:978-986-5756-49-9 ; 986-5756-49-8

中區技職校院教學資源中心

可借 1

簡介

內容簡介

這是一本簡單易懂的Excel巨集指令VBA程式入門書,書中的每一個範例都有圖片對照說明,讀者只要具備Excel基本操作能力,就能按圖索驥、無師自通。
Excel巨集指令就是一種VBA程式。利用VBA巨集指令來執行固定、重複的工作,以減少人為的操作錯誤,節省操作時間,把無聊繁複的工作交機器(電腦)自己去處理吧!

這本初學者的入門手冊簡單易懂,書中的每一個範例都有圖片對照說明。這些範例都是常用的簡單操作模式。所以這是一本既實用又簡單的電腦工具參考

章節

  • VBA 基本認識(p.22)
  • 【範例001】:儲存格範圍選取 Range("Xa:Xb").Select(p.36)
  • 【範例002】:儲存格範圍選取 Range(Cells(y1,x1), Cells(y2,x2)).Select(p.37)
  • 【範例003】:定義範圍名稱 Set myRange1=(Cells(y1,x1), Cells(y2,x2))myRange1.Select(p.38)
  • 【範例004】:填入數值或文字資料 Range("Xa").FormulaR1C1=12 Range("Xa:Xb").FormulaR1C1="ABC"(p.39)
  • 【範例005】:清除資料 Range("Xa").ClearContents Range("Xa:Xb").ClearContents(p.40)
  • 【範例006】:刪除資料,下方資料向上移 Range("Xa").Delete Shift:=xlUp Range("Xa:Xb").Delete Shift:=xlUp(p.41)
  • 【範例007】:刪除資料,右方資料向左移 Range("Xa").Delete Shift:=xlToLeft(p.42)
  • 【範例008】:刪除整列資料,下方資料向上移 Range("y1").EntireRow.Delete(p.43)
  • 【範例009】:刪除多列資料 Rows("y1:y2").Delete Shift:=xlUp(p.44)
  • 【範例010】:刪除整欄資料,右欄資料向左移 Range("Xa").EntireColumn.Delete(p.45)
  • 【範例011】:刪除多欄資料 Columns("x1:x2").Delete Shift:=xlToLeft(p.46)
  • 【範例012】:插入儲存格,現有儲存格向右移 Range("Xa").Insert Shift:=xlToRight(p.47)
  • 【範例013】:插入儲存格,現有儲存格向下移 Range("Xa").Insert Shift:=xlDown(p.48)
  • 【範例014】:插入整列 Range("Xa").EntireRow.Insert(p.49)
  • 【範例015】:插入整欄 Range("Xa").EntireColumn.Insert(p.50)
  • 【範例016】:插入多欄空白欄,現有的資料往右移 Columns("Xa:Xb").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove(p.51)
  • 【範例017】:複製的資料插入於多個欄位間,現有資料向右移 Columns("Xa:Xb").Copy Columns("Xc:Xd").Insert Shift:=xlToRight(p.52)
  • 【範例018】:複製、貼上 Range("Xa").Copy Range("Xb").Select ActiveSheet.Paste(p.53)
  • 【範例019】:插入多列空白列,現有資料向下移 Rows("y1:y2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbov(p.54)
  • 【範例020】:插入複製的資料於多列間,現有的資料向下移 Rows("y1:y2").Copy Rows("y3:y4").Insert Shift:=xlDown(p.55)
  • 【範例021】:MsgBox 函數(p.56)
  • 【範例022】:目前區域(是指以任意空白列及空白欄的組合為邊界的範圍)的列數 i=Cells(y,x).CurrentRegion.Rows.Count(p.59)
  • 【範例023】:目前區域(是指以任意空白列及空白欄的組合為邊界的範圍)的欄數 Cells(y,x).CurrentRegion.Columns.Count(p.60)
  • 【範例024】:游標移動 y 列 x 欄 (y,x>0) ActiveCell.Offset(rowOffset:=y,columnOffset:=x).Activate(p.61)
  • 【範例025】:游標移動 y 列 x 欄 (y,x<0) ActiveCell.Offset(y,x).Activate(p.62)
  • 【範例026】:相當 Ctrl+End 組合鍵 ActiveCell.SpecialCells(xlLastCell).Select(p.63)
  • 【範例027】:相當 Ctrl+Home 組合鍵 Range("A1").Select(p.64)
  • 【範例028】:相當 Ctrl+向下鍵 Selection.End(xlDown).Select(p.65)
  • 【範例029】:相當 Ctrl+向上鍵 Selection.End(xlUp).Select(p.66)
  • 【範例030】:相當 Ctrl+向左鍵 Selection.End(xlToLeft).Select(p.67)
  • 【範例031】:相當 Ctrl+向右鍵 Selection.End(xlToRight).Select(p.68)
  • 【範例032】:相當於 Ctrl+Shift+Home 組合鍵 Range(Selection,Cells(1)).Select(p.69)
  • 【範例033】:相當於 Ctrl+Shift+End 組合鍵 Range(Selection,ActiveCell.SpecialCells(xlLastCell)).Select(p.70)
  • 【範例034】:相當於 Ctrl+Shift+向上鍵 Range(Selection,Selection.End(xlUp)).Select(p.71)
  • 【範例035】:相當於 Ctrl+Shift+向下鍵 Range(Selection, Selection.End(xlDown)).Select(p.72)
  • 【範例036】:相當於 Ctrl+Shift+向左鍵 Range(Selection, Selection.End(xlToLeft)).Select(p.73)
  • 【範例037】:相當於 Ctrl+Shift+向右鍵 Range(Selection, Selection.End(xlToRight)).Select(p.74)
  • 【範例038】:對指定範圍中的儲存格執行自動填滿 Range("Xa:Xb").AutoFill Destination:=Range("Xa:Xc")(p.75)
  • 【範例039】:傳回範圍中第一個區域中的第一列的列號 Range("Xa:Xb").Row(p.76)
  • 【範例040】:傳回 Range 物件,代表指定之範圍內的列 Range("Xa:Xb").Rows(n)=k(p.77)
  • 【範例041】:傳回範圍中第一個區域中的第一欄的欄號 Range("Xa:Xb").Column(p.78)
  • 【範例042】:傳回 Range 物件,代表指定之範圍內的欄 Range("Xa:Xb").Columns(n)=k(p.79)
  • 【範例043】:在本工作底稿之前新增一個名為”S1”的工作底稿 Sheets.Add.Name="工作底稿名稱 S1"(p.80)
  • 【範例044】:新增一個未名命的工作底稿 Sheets.Add(p.81)
  • 【範例045】:在底稿某個工作底稿之後新增一個名為"S2"的工作底稿 Sheets.Add After:=Sheets("工作底稿名稱 1") ActiveSheet.Name="工作底稿名稱 2"(p.82)
  • 【範例046】:在某個工作底稿之前(before)新增一個名為"S3"的底稿。 Sheets.Add before:=Sheets("工作底稿名稱") ActiveSheet.Name="S3"(p.83)
  • 【範例047】:改工作底稿名稱 Sheets("名稱 1").Name="名稱 2"(p.84)
  • 【範例048】:選定、切換工作底稿 Sheets("工作底稿名稱").Select(p.85)
  • 【範例049】:複製一個工作底稿在某個工作底稿之前 Sheets("S2").Copy Before:=Sheets("S1")(p.86)
  • 【範例050】:複製一個工作底稿在某個工作底稿之後 Sheets("S2").Copy After:=Sheets("S3")(p.87)
  • 【範例051】:複製工作底稿甲為乙,並在丙之前 Sheets("甲").Copy Before:=Sheets("丙") ActiveSheet.Name="乙"(p.88)
  • 【範例052】:複製工作底稿甲為乙,並在丙之後 Sheets("甲").Copy After:=Sheets("丙") ActiveSheet.Name="乙"(p.89)
  • 【範例053】:移動工作底稿甲在乙之後 Sheets("甲").Move After:=Sheets("乙")(p.90)
  • 【範例054】:移動工作底稿甲在乙之前 Sheets("甲").Move After:=Sheets("乙")(p.91)
  • 【範例055】:選定、切換工作底稿 Sheets("工作底稿名稱").Select(p.92)
  • 【範例056】:選定多個工作底稿 Sheets(Array("工作底稿 S1","S2","S3")).Select(p.93)
  • 【範例057】:隱藏一個工作底稿 Sheets("工作底稿名稱").Visible=False(p.94)
  • 【範例058】:顯示一個隱藏的工作底稿 Sheets("工作底稿名稱").Visible=True(p.95)
  • 【範例059】:隱藏多個工作底稿 Sheets(Array("工作底稿名稱 1","工作底稿名稱 2","工作底稿名稱 3")).Visible=False(p.96)
  • 【範例060】:顯示多個已隱藏的工作底稿(只能一個個顯示,不可設為群組) Sheets("S1").Visible=True(p.97)
  • 【範例061】:刪除一個工作底稿 Sheets("S1").Delete(p.98)
  • 【範例062】:刪除工作底稿;而不出顯警告對話視窗 Application.DisplayAlerts=False Sheets("工作底稿名稱").Delete(p.99)
  • 【範例063】:刪除多個工作底稿;而不出顯警告對話視窗 Application.DisplayAlerts=False Sheets(Array("工作底稿 S1","S2","S3")).Delete(p.100)
  • 【範例064】:新增一個檔案(活頁簿) Workbooks.Add(p.101)
  • 【範例065】:新增一個檔案(活頁簿),(另存新檔)命名為 "x:\path\Filename.xls" Workbooks.Add ActiveWorkbook.SaveAs Filename:="x:\path\Filename.xls"(p.102)
  • 【範例066】:開啟舊檔 Workbooks.Open Filename:="x:\path\Filename.xls"(p.103)
  • 【範例067】:存檔(檔名和原來檔名一樣未改) ActiveWorkbook.Save(p.104)
  • 【範例068】:關閉作用中的檔案(活頁簿) ActiveWorkbook.Close(p.105)
  • 【範例069】:離開、關閉 Excel 應用軟體 Application.Quit(p.106)
  • 【範例070】:當執行階段錯誤時,程式控制不因錯誤而中斷停止下面程序。 On Error Resume Next(p.107)
  • 【範例071】:使用 Error 陳述式來模擬發生錯誤代碼的狀況 Error errornumber(p.112)
  • 【範例072】:InputBox 函數(p.113)
  • 【範例073】:Shell 函數 Shell"執行檔程式.exe",常數(p.114)
  • 【範例074】:送出一或多個按鍵訊息到使用中的視窗,就如同在鍵盤上按下的一樣 SendKeys 陳述(p.116)
  • 【範例075】:當按下特定鍵或組合鍵時會執行指定的程序 Application.OnKey"按鍵","程序名稱"(p.120)
  • 【範例076】:將程式控制權轉移到一個 Sub 程序,Function 程序,或動態連結資料庫(DLL)程序。 Call 程序名稱(p.124)
  • 【範例077】:以特定次數來重複執行一段陳述式 For…Next 陳述(p.125)
  • 【範例078】:九九乘法表 用 For…Next 陳述(p.126)
  • 【範例079】:If…Then … Else …陳述式(p.127)
  • 【範例080】:If…Then…End If 陳述(p.128)
  • 【範例081】:If … Then…Else…End If 陳述(p.129)
  • 【範例082】:If…Then… ElseIf …Then ElseIf …Then Else End If(p.130)
  • 【範例083】:Select Case 陳述(p.132)
  • 【範例084】:Do...Loop 陳述 Do While … Loop(p.134)
  • 【範例085】:Do...Loop 陳述 Do Loop While …(p.135)
  • 【範例086】:Do...Loop 陳述 Do Until… Loop(p.136)
  • 【範例087】:Do…Loop 陳述 Do Loop Until…(p.137)
  • 【範例088】:Do…Loop 陳述 Do… Exit Do Loop(p.138)
  • 【範例089】:While…Wend 陳述 While 條件 Wend(p.139)
  • 【範例090】:With…End With 陳述 With End With(p.140)
  • 【範例091】:多個範圍的選取 Range("Xa:Xb,Xc:Xd,Xe:Xf")(p.141)
  • 【範例092】:多個範圍的選取 [Xa:Xb,Xc:Xd,Xe:Xf](p.142)
  • 【範例093】:Open 陳述式 Open"路徑\檔名" For 檔案模式 As #n(p.143)
  • 【範例094】:Open 陳述式 Open"路徑\檔名" For 檔案模式 As #n(p.144)
  • 【範例095】:RAND()亂數函數 [Xa:Xb].FormulaR1C1="=RAND()"(p.145)
  • 【範例096】:Chr() 函數 [A1].Value=Chr(charcode)(p.146)
  • 【範例097】:Hex()、Asc() 和 Chr()函數 [Xa].Value=Hex(Asc("文字"))&":"& Chr(Asc("文字"))(p.147)
  • 【範例098】:Asc()、AscW()、Chr()、ChrW()函數(p.148)
  • 【範例099】:Auto_close 巨集(p.149)
  • 【範例100】:自動執行巨集 auto_open()(p.150)
  • 附錄:在 VBA 程式語言中的內建函數(p.152)

作者簡介

作者簡介

蘇勝宏

從事文教工作與寫作,精研於電腦研究,並喜好文藝創作,尤擅長小品文章,作品散見於各月刊及雜誌,現兼任自由作家。著有《倉頡非常厲害》、《蘇式倉頡輸入法》、《伊索寓言的100則智慧中英對照》、《英文諺語手冊》以及《繁簡體速查手冊》等書。

FB留言