VBA基礎在大家的關注聲中即將告一段落了,有許多經典的VBA操作我們只是作了簡要的介紹,想要熟練地使用VBA還需要大家慢慢地去消化和吸收,然後在實踐中總結和提高。最後我們收集了常見的VBA代碼以饗廣大的讀者,希望對大家有所啟示。
Application(Excel程式)篇
Application.EnableEvents= True/ False ’啟用/禁用所有事件
Application.DisplayAlerts=True/False ’顯示/關閉警告框提示框
Application.ScreenUpdating= True/False ’顯示/關閉螢幕重新整理
Application.StatusBar = "軟體報專用" ’在地址欄中顯示文本,標題列用Caption屬性
Application.Cursor = xlIBeam ‘設定游標形狀為Ⅰ字形,xlWait為沙漏(等待)形,xlNormal為正常
Application.WindowState = xlMinimized ‘視窗最小化,xlMaximized最大化,xlNormal為正常
Application.ActivateMicrosoftApp xlMicrosoftWord ’開啟Word應用程式
Application.TemplatesPath ‘擷取活頁簿模板的位置
Application.CalculateFull ’重新計算所有開啟的活頁簿中的資料
Application.RecentFiles.Maximum = 2 ’將最近使用的文檔列表數設為2
Application.RecentFiles(3).Open ’開啟最近開啟的文檔中的第3個文檔
Application.AutoCorrect.AddReplacement "sweek", "軟體報" ’自動將輸入的"sweek"更正為"軟體報"
Application.Dialogs(xlDialogPrint).Show ‘顯示列印文檔的對話方塊
Application.OnTime Now + TimeValue("00:00:45"), "process" ’45分鐘後執行指定過程
Application.OnTime TimeValue("14:00:00"), " process " ’下午2點執行指定過程
Application.OnTime EarliestTime:=TimeValue("14:00:00"), _
Procedure:="process", Schedule:=False ’取消指定時間的過程的執行
活頁簿/工作表篇
ActiveWorkbook.Sheets.Count ’擷取活動工作薄中工作表數
ActiveWorkbook.LinkSources(xlExcelLinks)(1) ‘返回當前活頁簿中的第一條連結
ThisWorkbook.Worksheets(“sheet2”).Visible=xlSheetHidden ‘隱藏工作表,與在Excel菜單中執行“格式—工作表—隱藏”操作一樣
ThisWorkbook.Worksheets(“sheet2”).Visible=xlSheetVeryHidden ‘隱藏工作表,不能通過在Excel菜單中執行“格式—工作表—取消隱藏”來重新顯示工作表
ThisWorkbook.Worksheets(“sheet2”).Visible=xlSheetVisible ‘顯示被隱藏的工作表
ThisWorkbook.Sheets(1).ProtectContents ‘檢查工作表是否受到保護
ActiveSheet.Columns("B").Cut
ActiveSheet.Columns("F").Insert ‘以上兩句將B列資料移至F列,原C列後的資料左移
ActiveSheet.Range(“A:A”).EntireColumn.AutoFit ‘自動調整當前工作表A列的列寬
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘選中當前工作表中常量和文本儲存格
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘選中當前工作表中常量和文本及錯誤值儲存格
ActiveSheet.UsedRange.Rows.Count ‘當前工作表中已使用的行數
ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(3), , 2 ‘在第3張工作表之前添加2個新的工作表
ActiveSheet.Move After:=ActiveWorkbook. _
Sheets(ActiveWorkbook.Sheets.Count) ’將當前工作表移至工作表的最後
Worksheets(Array(“sheet1”,”sheet2”)).Select ’同時選擇工作表sheet1和sheet2
ActiveSheet.UsedRange.FormatConditions.Delete ‘刪除當前工作表中應用的條件式格式設定
Cells.Hyperlinks.Delete ‘取消當前工作表中所有儲存格的超連結
ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在頁尾顯示檔案的路徑
ActiveSheet.PrintPreview Enablechanges:=False ‘禁用顯示在Excel的“預覽列印”視窗中的“設定”和“頁面邊界”按鈕
儲存格/儲存格範圍篇
ActiveSheet.UsedRange.Row ‘擷取已使用的儲存格範圍的第一行的行號
Range(“A65536”).End(xlUp).Row ‘返回A列最後一行(即記錄的總條數)
cell.Range(“A1”).HasFormula ‘檢查儲存格或儲存格範圍中的第一個儲存格是否含有公式或cell.HasFormula ‘工作表中儲存格是否含有公式
Target.EntireColumn.Select ‘選擇儲存格所在的整個列,Target.EntireRow.Select為選擇儲存格所在的整行
ActiveCell.Row ‘作用儲存格所在的行號,ActiveCell.Column為作用儲存格所在的列數
ActiveWindow.ScrollRow = 2 ’將當前工作表視窗滾動到第2行
ActiveWindow.ScrollColumn = 5 ’將當前工作表視窗滾動到第5列
Worksheets("sheet1").Range("A1:C5").CopyPicture xlScreen, xlBitmap ’將指定的儲存格範圍的內容複寫成螢幕快照
Selection.Hyperlinks.Delete ‘刪除所選地區的所有連結
ActiveSheet.Cells(1, 1).Font.Bold = TRUE ‘Bold屬性用於設定字型是否為加粗, Size屬性設定字型大小, ColorIndex屬性設定字型顏色(其值為色彩索引號), Italic屬性設定字型是否為傾斜, Name屬性設定字型名稱
ActiveSheet.Cells(1, 1).Interior.ColorIndex = 3 ‘將儲存格的背景色設定為紅色
IsEmpty (ActiveCell.Value) ’判斷作用儲存格中是否有值
ActiveCell.Value = UCase(ActiveCell.Value) ’將目前的儲存格中的字元轉換成大寫
ActiveCell.Value = StrConv(ActiveCell.Value, vbLowerCase) ’將作用儲存格中的字串轉換成小寫
ActiveCell.CurrentRegion.Select ’選擇當前作用儲存格所在的連續的非空地區,也可以用Range(ActiveCell, UsedRange.End(xlDown)).Select
ActiveCell.Offset(1,0).Select ’作用儲存格下移一行
Range(“B2”).Offset(ColumnOffset:=1)或Range(“B2”).Offset(,1) ‘讀取指定儲存格右側儲存格中的資料
Range(“B2”).Offset(Rowoffset:=-1)或Range(“B2”).Offset(-1) ‘讀取指定儲存格上一行儲存格中的資料
Range(“A1”).Copy Range(“B1”) ’複製儲存格A1中的內容到B1中
Range(“A1:D8”).Copy Range(“H1”) ’將指定儲存格範圍複製到從H1開始的地區中,用Cut方法可以實現剪下操作
ActiveWindow.RangeSelection.Value = "軟體報" ’將指定字串輸入到所選儲存格範圍中
表單(控制項)篇
Option Explicit ’強制對模組內所有變數進行聲明
Userform1.Show ‘顯示使用者表單
Load Userform1 ‘載入一個使用者表單,但該表單處於隱藏狀態
Userform1.Hide ‘隱藏使用者表單
Unload Userform1 或 Unload Me ‘卸載使用者表單
Me.Height=Int(0.5 * ActiveWindow.Height) ‘表單高度為當前使用中視窗高度的一半,寬度用ActiveWindow. Width屬性
UserForm1.ComboBox1.AddItem Sheets("Sheet1").Cells(1, 1) ‘將指定儲存格中的資料添加到複合框中
ListBox1.List=MyProduct() ‘將數組MyProduct的值添加到列表框ListBox1中
ListBox1.RowSource=”Sheet1!isum” ‘將工作表Sheet1中名為的isum地區的值添加到列表框中
ListBox1.Selected(0) ‘選中列表框中的指定的條目
ListBox1.RemoveItem ListBox1.ListIndex ‘移除列表框中選中的條目
If MsgBox(“要退出嗎?”,vbYesNo)<>vbYes Then Exit Sub ’傳回值不為“是”,則退出
Config=vbYesNo+vbQuestion+vbDefaultButton2 ’使用常量的組合,賦值組Config變數,並設定第二個按鈕為預設按鈕
MsgBox “This is the first line.” & vbNewLine & “Second line.” ’在訊息框中強制換行,也可用vbCrLf代替vbNewLine。
MsgBox "平均值為:"&Format(Application.WorksheetFunction.Average(Selection),"#,##0.00"),vbInformation, "顯示選區平均值" ’應用工作表函數返回所選地區的平均值並按指定顯示的格式
公式與函數
Application.WorksheetFunction.IsNumber(“A1”) ’檢查指定儲存格中的資料是否為數字
Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate
’啟用儲存格範圍A列中最大值的儲存格
Application.MacroOptions Macro:=”GetSum”,Category:=4 ‘將自訂的GetSum函數指定給Excel中的“統計函數”類別
Application.MacroOptions Macro:=” GetSum”, _
Description:=”先求和,然後再輸出。” ‘為自訂函數GetSum進行功能說明
Application.WorksheetFunction.CountA(Cell.EntireColumn) ‘返回該儲存格所在列非空儲存格的數量,所在行使用EntireRow屬性
Application.WorksheetFunction.CountA(Cells) ‘返回當前工作表中非空儲存格數量
圖表篇
ActiveSheet.ChartObjects.Delete ‘刪除工作表中所有的ChartObject對象
ActiveWorkbook.Charts.Delete ‘刪除當前活頁簿中所有的圖表工作表 ActiveSheet.ChartObjects.Count ’擷取當前工作表中圖表的個數
Worksheets("Sheet1").ChartObjects(1).Chart. _
Export Filename:="C:/MyChart.gif", FilterName:="GIF" ‘將指定工作表中的圖表1匯出到C盤上並命名為MyChart.gif
以上代碼均經過我們的測試,大家可放心地使用並在此基礎上加以歸納和提煉。如果你也有VBA使用的心得不妨寫下來和大家一起來分享。{
function onclick()
{
DiggIt(845212,21145,1)
}
}">0 {
function onclick()
{
DiggIt(845212,21145,2)
}
}">0
0
(請您對文章做出評價)