Excel VBA 相關語法 - 電腦學習園地

文章推薦指數: 80 %
投票人數:10人

Excel VBA線上教學 EXCEL常用的物件 Workbook 活頁簿 Workbooks 活頁簿集合 Workbooks("filename" ... Before := Worksheets(n) 出現於某工作表之前 ... 關閉廣告 電腦學習園地 跳到主文 電腦教學園地提供各式電腦教學課程以及電腦教學影片,給網友學習使用 電腦教學電腦學習WordExcelAccessOutlookPowerPointVBVisualBasicVBA會聲會影威力導演 部落格全站分類:數位生活 相簿 部落格 留言 名片 公告版位 電腦學習園地影片教學http://www.youtube.com/c/pclearn Aug13Sat201122:03 ExcelVBA相關語法 ExcelVBA線上教學   EXCEL常用的物件 Workbook活頁簿 Workbooks活頁簿集合 Workbooks("filename")檔名為filename的活頁簿 ActiveWorkbook正在作用中的活頁簿 Sheets活頁簿中所有工作表 Sheets(n)活頁簿中第n張工作表 Worksheet工作表 Worksheets所有工作表(包括圖表) Worksheets("sheet")指表名為sheet工作表 ActiveSheet正在作用中的工作表 Columns("c1:c2")c1至c2欄(其中c1,c2為A~Z或AA~XFD等欄名) Rows("r1:r2")r1至r2列(其中r1,r2為1~1048576等列名 Range("x1:x2")x1至x2間的儲存格(其中x1,x2為儲存格位址名稱) cells(i,j)儲存格(第i列、第j行) ActiveCell目前的儲存格 Selection目前所選取的物件 範例: Workbooks("Book1").Sheets("Sheet1").Range("A1:D5").Font.Bold=True Worksheets("Sheet1").Cells.ClearContents Worksheets("Sheet1").Rows(1).Font.Bold=True Range("1:1,3:3,8:8") Worksheets("Sheet1").Cells(6,1).Value=10 Worksheets("Sheet1").[A1:B5].ClearContents ActiveCell.Offset(1,3).Font.Underline=xlDouble 活頁簿常用屬性: ActiveWorkBook.Name目前活頁簿的名稱 ActiveWorkBook.Save儲存目前的活頁簿 ActiveWorkBook.SaveAsFilename:="filename"另儲新檔 WorkBooks.Add新增活頁簿 WorkBooks(i).Close[SaveChange,Filename,RouteWorkbook]關閉指定的第i個活頁簿 SaveChange:=True改變儲存 SaveChange:=False不會改變儲存 SaveChange省略時,會出現對話方塊 filename:="檔名" WorkBooks.Open"filename"開啟一個活頁簿 Application.Windows所有活頁簿視窗 WorkBooks.Count活頁簿的數量 WorkBooks.Item(Index)傳回單一活頁簿,由索引值指定 工作表常用屬性: Worksheets.Add[Before,After,Count,Type]新增工作表 Before:=Worksheets(n)出現於某工作表之前 After:=Worksheets(n)出現於某工作表之後 Count:=n新增工作表數量 Type:=xlWorksheet(工作表)或xlChart(圖表) WorkSheets.Name工作表名稱 WorkSheets("Sheet1").Activate設定工作表為目前作用的功作表 儲存格常用屬性: Rows.RowHeight指定範圍內的所有列高 Columns.ColumnsWidth:指定範圍內的所欄寬 expression.NumberFormatLocal以本地的數字格式 Range.CurrentRegion目前區域是指以任意空白列及空白欄的組合為邊界的範圍 範例: Worksheets("Sheet1").Activate ActiveCell.CurrentRegion.Select expression.Address(RowAbsolute,ColumnAbsolute,ReferenceStyle,External,RelativeTo)以參照的方式 RowAbsolute為True,則用列的絕對位址 ColumnAbsolute為True,則用欄的絕對位址 ReferenceStyle預設值為xlA1,如為xlR1C1則為R1C1的表達方式 expression.count傳回範圍的數量(可以是欄數、列數或儲存格數量) expression.Item(RowIndex,ColumnIndex)代表相對於指定之範圍某個位移距離的範圍。

expression.value傳回或設定物件的值 expression.Formula傳回或設定物件的公式,代表A1樣式註解以及巨集語言中的物件公式。

範例:Worksheets("Sheet1").Range("A1").Formula="=$A$4+$A$10" expression.FormulaR1C1傳回或設定物件的公式,並以巨集語言中的R1C1樣式標記法表示 範例:Worksheets("Sheet1").Range("B1").FormulaR1C1="=SQRT(R1C1)" expression.Text傳回或設定物件的文字 範例: Setc=Worksheets("Sheet1").Range("B14") c.Value=1198.3 c.NumberFormat="$#,##0_);($#,##0)" MsgBoxc.Value MsgBoxc.Text     常用方法: Range.Select方法/Selection屬性設定目前選取的範圍/使用目前所選取的範圍 範例: SubMacro1() Sheets("Sheet1").Select Range("A1").Select ActiveCell.FormulaR1C1="Name" Range("B1").Select ActiveCell.FormulaR1C1="Address" Range("A1:B1").Select Selection.Font.Bold=True EndSub expression.Copy將目前所選取的物件復製至剪貼簿 expression.Cut將目前所選取的物件剪下 expression.Delete將目前所選取的物件刪除 expression.Paste將剪貼簿的內容貼上 範例: SubCopyRow() Worksheets("Sheet1").Rows(1).Copy Worksheets("Sheet2").Select Worksheets("Sheet2").Rows(1).Select Worksheets("Sheet2").Paste EndSub expression.RasteSpecial(Paste,Operation,SkipBlanks,Transpose) 範例: WithWorksheets("Sheet1") .Range("C1:C5").Copy .Range("D1:D5").PasteSpecial_ Operation:=xlPasteSpecialOperationAdd EndWith Range.Activate目前的儲存格 Range.Clear清除資料 Range.ClearContents清除資料內容 Range.ClearFormats清除資料格式 Range.ClearComments清除註解 expression.AutoFit:自動調整列高和欄寬 Range.FillDown、Range.FillUp、Range.FillLeft、Range.FillRight填滿 Range.Offset(RowOffset,ColumnOffset)指定區域的位移列與行 範例: SubMoveActive() Worksheets("Sheet1").Activate Range("A1:D10").Select ActiveCell.Value="MonthlyTotals" ActiveCell.Offset(0,1).Activate EndSub     程式語法:   Dim陳述式(變數) Dimvarname[As[New]type] type包括Byte、Boolean、Integer、Long、Single、Double、Date、String、Object等       Set陳述式(物件) Setobjectvar={[New]objectexpression|Nothing} 例:SetRangeA=Range("A1:B2") 範例: SubRandom() DimmyRangeAsRange SetmyRange=Worksheets("Sheet1").Range("A1:D5") myRange.Formula="=RAND()" myRange.Font.Bold=True EndSub       With多種屬性設定 With物件 .屬性1=設定值 .屬性2=設定值 ....EndWith 範例: SubAddNew() SetNewBook=Workbooks.Add WithNewBook .Title="AllSales" .Subject="Sales" .SaveAsFilename:="Allsales.xls" EndWith EndSub       Array陣列 Array(Range1,Range2,....) 範例: SubSeveral() Worksheets(Array("Sheet1","Sheet2","Sheet4")).Select EndSub       InputBox函數 InputBox("文字說明",[,title][,default][,xpos][,ypos][,helpfile,context])       MsgBox函數 MsgBox"文字說明"       Union將多個範圍合併成單一Range物件 Union(Range1,Range2,...) 範例: SubMultipleRange() Dimr1,r2,myMultipleRangeAsRange Setr1=Sheets("Sheet1").Range("A1:B2") Setr2=Sheets("Sheet1").Range("C3:D4") SetmyMultipleRange=Union(r1,r2) myMultipleRange.Font.Bold=True EndSub       For...Next陳述式 Forcounter=starttoend[stepstepvalue] [statements] [ExitFor] [statements] Next[counter] 範例: SubCycleThrough() DimCounterAsInteger ForCounter=1To20 Worksheets("Sheet1").Cells(Counter,3).Value=Counter NextCounter EndSub       ForEach...Next陳述式 ForEachelementIngroup [statements] [ExitFor] [statements] Next[element] 範例: SubApplyColor() ConstLimitAsInteger=25 ForEachcInRange("MyRange") Ifc.Value>LimitThen c.Interior.ColorIndex=27 EndIf Nextc EndSub       Do...Loop陳述式 Do[{While|Until}condition] [statements] [ExitDo] [statements] Loop 或 Do [statements] [ExitDo] [statements] Loop[{While|Until}condition]       If...Then...Else...陳述式 IfconditionThen[statements][Elseelsestatements] 或 IfconditionThen [statements] [ElseIfcondition-nThen [elseifstatements]... [Else [elsestatements]] EndIf 全站熱搜 創作者介紹 alyoou 電腦學習園地 alyoou發表在痞客邦留言(0)人氣() E-mail轉寄 全站分類:數位生活個人分類:Excel此分類上一篇:Excel2010進階第1節公式修正 此分類下一篇:Excelvba指令參考 上一篇:VisualBasic2010計時器控制項 下一篇:AutoIT 歷史上的今天 2011:AutoIT 2011:VisualBasic2010計時器控制項 2011:VisualBasic2010PictureBox 2011:VisualBasic2010狀態列控制項 2011:VisualBasic2010工具列控制項-項目 2011:VisualBasic2010功能表控制項 ▲top 留言列表 發表留言 參觀人氣 本日人氣: 累積人氣: 文章分類 PSP(1)棒球(1)ProE(7)測試(10)騎鐵馬(4)燒錄軟體(0)學習(3)MV(29)感人(3)好玩(16)新奇(37)音樂(3)教學(41)VB程式設計(38)IOS(1)勵志(2)Windows7(10)windows8(1)防毒防駭相關(11)Access(18)影音教學(9)影像處理(3)PowerPoint(27)硬體維修DIY(43)會聲會影(2)部落格相關(8)Outlook(11)軟體(49)OFFICE(7)AutoCAD(86)Excel(67)Word(30)筆記(5)電腦網路(22)未分類文章(44) 回到頁首 回到主文 免費註冊 客服中心 痞客邦首頁 ©2003-2022PIXNET 關閉視窗



請為這篇文章評分?