[心得] VBA

看板NHLUE-ILT作者 (vichen)時間9年前 (2014/11/24 19:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
VBA語句集 (第1輯) 定製模塊行為 (1) Option Explicit '強制對模塊內所有變量進行聲明 Option Private Module '標記模塊為私有,僅對同一工程中其它模塊有用,在宏對話框 中不顯示 Option Compare Text '字符串不區分大小寫 Option Base 1 '指定數組的第一個下標為1 (2) On Error Resume Next '忽略錯誤繼續執行VBA代碼,避免出現錯誤消息 (3) On Error GoTo ErrorHandler '當錯誤發生時跳轉到過程中的某個位置 (4) On Error GoTo 0 '恢復正常的錯誤提示 (5) Application.DisplayAlerts=False '在程序執行過程中使出現的警告框不顯示 (6) Application.ScreenUpdating=False '關閉屏幕刷新 Application.ScreenUpdating=True '打開屏幕刷新 (7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏運行的功能 工作簿 (8) Workbooks.Add() '創建一個新的工作簿 (9) Workbooks(「book1.xls」).Activate '激活名為book1的工作簿 (10) ThisWorkbook.Save '保存工作簿 (11) ThisWorkbook.close '關閉當前工作簿 (12) ActiveWorkbook.Sheets.Count '獲取活動工作薄中工作表數 (13) ActiveWorkbook.name '返回活動工作薄的名稱 (14) ThisWorkbook.Name 『返回當前工作簿名稱 ThisWorkbook.FullName 『返回當前工作簿路徑和名稱 (15) ActiveWindow.EnableResize=False 『禁止調整活動工作簿的大小 (16) Application.Window.Arrange xlArrangeStyleTiled 『將工作簿以平鋪方式排列 (17) ActiveWorkbook.WindowState=xlMaximized 『將當前工作簿最大化 工作表 (18) ActiveSheet.UsedRange.Rows.Count 『當前工作表中已使用的行數 (19) Rows.Count 『獲取工作表的行數(註:考慮向前兼容性) (20) Sheets(Sheet1).Name= 「Sum」 '將Sheet1命名為Sum (21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一個新工作表在第一工作 表前 (22) ActiveSheet.Move After:=ActiveWorkbook. _ Sheets(ActiveWorkbook.Sheets.Count) '將當前工作表移至工作表的最後 (23) Worksheets(Array(「sheet1」,」sheet2」)).Select '同時選擇工作表1和工作表 2 (24) Sheets(「sheet1」).Delete或 Sheets(1).Delete '刪除工作表1 (25) ActiveWorkbook.Sheets(i).Name '獲取工作表i的名稱 (26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines '切換工作 表中的網格線顯示,這種方法也可以用在其它方面進行相互切換,即相當於開關按鈕 (27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings 『切換工作 表中的行列邊框顯示 (28) ActiveSheet.UsedRange.FormatConditions.Delete 『刪除當前工作表中所有的條 件格式 (29) Cells.Hyperlinks.Delete 『取消當前工作表所有超鏈接 (30) ActiveSheet.PageSetup.Orientation=xlLandscape 或ActiveSheet.PageSetup.Orientation=2 '將頁面設置更改為橫向 (31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName 『在頁面設置的 表尾中輸入文件路徑 ActiveSheet.PageSetup.LeftFooter=Application.UserName 『將用戶名放置在活動工作 表的頁腳 單元格/單元格區域 (32) ActiveCell.CurrentRegion.Select 或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select '選擇當前活動單元格所包含的範圍,上下左右無空行 (33) Cells.Select 『選定當前工作表的所有單元格 (34) Range(「A1」).ClearContents '清除活動工作表上單元格A1中的內容 Selection.ClearContents '清除選定區域內容 Range(「A1:D4」).Clear '徹底清除A1至D4單元格區域的內容,包括格式 (35) Cells.Clear '清除工作表中所有單元格的內容 (36) ActiveCell.Offset(1,0).Select '活動單元格下移一行,同理,可下移一列 (37) Range(「A1」).Offset(ColumnOffset:=1)或Range(「A1」).Offset(,1) 『偏移一 列 Range(「A1」).Offset(Rowoffset:=-1)或Range(「A1」).Offset(-1) 『向上偏移一行 (38) Range(「A1」).Copy Range(「B1」) '複製單元格A1,粘貼到單元格B1中 Range(「A1:D8」).Copy Range(「F1」) '將單元格區域複製到單元格F1開始的區域中 Range(「A1:D8」).Cut Range(「F1」) '剪切單元格區域A1至D8,複製到單元格F1開始的 區域中 Range(「A1」).CurrentRegion.Copy Sheets(「Sheet2」).Range(「A1」) '複製包含A1 的單元格區域到工作表2中以A1起始的單元格區域中 註:CurrentRegion屬性等價於定位命令,由一個矩形單元格塊組成,周圍是一個或多個 空行或列 (39) ActiveWindow.RangeSelection.Value=XX '將值XX輸入到所選單元格區域中 (40) ActiveWindow.RangeSelection.Count '活動窗口中選擇的單元格數 (41) Selection.Count '當前選中區域的單元格數 (42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,」」) 『返 回單元格中超級鏈接的地址並賦值 (43) TextColor=Range(「A1」).Font.ColorIndex 『檢查單元格A1的文本顏色並返回顏 色索引 Range(「A1」).Interior.ColorIndex 『獲取單元格A1背景色 (44) cells.count 『返回當前工作表的單元格數 (45) Selection.Range(「E4」).Select 『激活當前活動單元格下方3行,向右4列的單元 格 (46) Cells.Item(5,」C」) 『引單元格C5 Cells.Item(5,3) 『引單元格C5 (47) Range(「A1」).Offset(RowOffset:=4,ColumnOffset:=5) 或 Range(「A1」).Offset(4,5) 『指定單元格F5 (48) Range(「B3」).Resize(RowSize:=11,ColumnSize:=3) Rnage(「B3」).Resize(11,3) 『創建B3:D13區域 (49) Range(「Data」).Resize(,2) 『將Data區域擴充2列 (50) Union(Range(「Data1」),Range(「Data2」)) 『將Data1和Data2區域連接 (51) Intersect(Range(「Data1」),Range(「Data2」)) 『返回Data1和Data2區域的交叉 區域 (52) Range(「Data」).Count 『單元格區域Data中的單元格數 Range(「Data」). Columns.Count 『單元格區域Data中的列數 Range(「Data」). Rows.Count 『單元格區域Data中的行數 (53) Selection.Columns.Count 『當前選中的單元格區域中的列數 Selection.Rows.Count 『當前選中的單元格區域中的行數 (54) Selection.Areas.Count 『選中的單元格區域所包含的區域數 (55) ActiveSheet.UsedRange.Row 『獲取單元格區域中使用的第一行的行號 (56) Rng.Column 『獲取單元格區域Rng左上角單元格所在列編號 (57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) 『在活動工 作表中返回所有符合條件格式設置的區域 (58) Range(「A1」).AutoFilter Field:=3,VisibleDropDown:=False 『關閉由於執行自 動篩選命令產生的第3個字段的下拉列表 名稱 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.215.42 ※ 文章網址: http://www.ptt.cc/bbs/NHLUE-ILT/M.1416830351.A.2DC.html
文章代碼(AID): #1KSnsFBS (NHLUE-ILT)