Home / bài 1: lập trình vba trong excel là gì Bài 1: Lập Trình Vba Trong Excel Là Gì 12/03/2022 Bạn hoàn toàn có thể sử dụng số đông mã code này ngay cả khi bạn chưa từng sử dụng VBA trước đây.Bạn đang xem: Bài 1: lập trình vba trong excel là gìNhưng điều đầu tiên phải biết là:Mã Macro là gì?Trong Excel, mã macro là một trong những mã lập trình sẵn được viết bằng ngôn từ VBA (Visual Basic for Applications).Ý tưởng phía sau việc áp dụng mã là để auto hóa một hành vi mà nếu như không bạn đề nghị thực hiện thủ công bằng tay trong Excel.Ví dụ, chúng ta có thể sử dụng một mã chỉ nhằm in một phạm vi ô rõ ràng chỉ với cùng một cú click chuột thay bởi chọn theo thứ tự -> tệp tin Tab -> Print -> Print Select -> OK Button.Sử dụng mã Macro vào ExcelTrước khi sử dụng những mã này, bảo đảm an toàn rằng chúng ta có Developer Tab bên trên thanh Excel để truy vấn VB Editor.Sau khi bạn kích hoạt Developer Tab… … chúng ta cũng có thể sử dụng công việc dưới đây cần nên dán mã VBA vào VB Editor.Di chuyển mang đến developer tab của người sử dụng và nhấp chọn “Visual Basic”.Phía bên trái trên “Project Window”, click chuột phải vào tên workbook của doanh nghiệp và chèn vào trong 1 module mới.Dán mã code của người tiêu dùng vào trong module đó cùng đóng lại.Bây giờ, di chuyển đến developer tab và bấm chuột vào Macro.Macro đang hiển thị một cửa sổ danh sách những macro gồm trong tệp của bạn, trường đoản cú đó chúng ta cũng có thể chạy những macro gồm trong list đó.BasicFormattingPrintingWorksheetWorkbookPivot TableChartsAdvancedFormulasBASIC CODENhững mã code VBA này sẽ giúp đỡ bạn tiến hành một số công việc cơ phiên bản trong nháy đôi mắt mà bạn thường có tác dụng trên bảng tính.Add Serial Numbers (đánh số thự trường đoản cú tự động)Code macro này sẽ giúp bạn bổ sung số serial tự động hóa trên trang Excel.Sau khi bạn chạy mã macro này, màn hình sẽ hiển thị input box để chúng ta nhập tối đa phần serial cùng sau đó, nó đã chèn những số vào cột theo sản phẩm công nghệ tự.Sub AddSerialNumbers()Dim i As IntegerOn Error GoTo Lasti = InputBox("Enter Value", "Enter Serial Numbers")For i = 1 to lớn iActiveCell.Value = iActiveCell.Offset(1, 0).ActivateNext iLast:Exit SubEnd SubAdd Multiple Columns (chèn cột)Sau khi chạy mã macro, màn hình hiển thị sẽ hiển thị một input đầu vào box và bạn phải nhập số cột mà bạn muốn chèn.Sub InsertMultipleColumns()Dim i As IntegerDim j As IntegerActiveCell.EntireColumn.SelectOn Error GoTo Lasti = InputBox("Enter number of columns lớn insert", "Insert Columns")For j = 1 to iSelection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromRightorAboveNext jLast:Exit SubEnd SubAdd Multiple Rows (chèn dòng)Sau lúc chạy mã macro, màn hình sẽ hiển thị một input đầu vào box và các bạn phải nhập số sản phẩm mà bạn có nhu cầu chèn. Sub InsertMultipleRows()Dim i As IntegerDim j As IntegerActiveCell.EntireRow.SelectOn Error GoTo Lasti = InputBox("Enter number of columns lớn insert", "InsertColumns")For j = 1 to iSelection.Insert Shift:=xlToDown,CopyOrigin:=xlFormatFromRightorAboveNext jLast:Exit SubEnd Sub Auto Fit Columns (tự hễ canh các cột)Nhanh chóng auto khớp toàn bộ các mặt hàng trong worksheet của bạn.Mã macro này vẫn chọn toàn bộ các ô vào worksheet và auto khớp ngay lập tức những cột.Sub AutoFitColumns()Cells.SelectCells.EntireColumn.AutoFitEnd SubAuto Fit Rows (tự cồn canh những dòng)Bạn có thể sử dụng mã code này để tự động khớp tất cả các mặt hàng trong worksheet.Khi chúng ta chạy mã này, nó đã chọn tất cả các ô vào worksheet và tự động khớp ngay lập tức lập tức các hàng.Sub AutoFitRows()Cells.SelectCells.EntireRow.AutoFitEnd SubRemove Text Wrap (bỏ cơ chế wrap text)Mã code này để giúp bạn xóa text wrap khỏi toàn thể worksheet với một chiếc nhấp chuột. Đầu tiên nó sẽ chọn toàn bộ các cột và tiếp nối xóa text wrap và tự động khớp các hàng cùng cột.Sub RemoveWrapText()Cells.SelectSelection.WrapText = FalseCells.EntireRow.AutoFitCells.EntireColumn.AutoFitEnd SubUnmerge Cells (không kết nối những ô)Chọn những ô và chạy mã này, nó sẽ không sát nhập tất cả các ô vừa chọn với tài liệu bị mất của bạn. Sub UnmergeCells()Selection.UnMergeEnd SubOpen Calculator (mở máy tính xách tay trên excel)Trong cửa sổ có một thứ tính rõ ràng và sử dụng mã macro này, bạn cũng có thể mở máy tính xách tay trực tiếp trường đoản cú Excel cho bài toán tính toán.Sub OpenCalculator()Application.ActivateMicrosoftApp Index:=0End SubAdd Header/Footer Date (thêm ngày sinh hoạt chân trang/đầu trang)Sử dụng mã này để bổ sung cập nhật ngày vào phần header với footer vào worksheet.Bạn hoàn toàn có thể điều chỉnh mã này nhằm đổi từ header lịch sự footer.Sub dateInHeader()With ActiveSheet.PageSetup.LeftHeader = "".CenterHeader = "&D".RightHeader = "".LeftFooter = "".CenterFooter = "".RightFooter = ""End WithActiveWindow.View = xlNormalViewEnd SubCustom Header/Footer (chèn đầu trang/chân trang theo ý bạn)Nếu bạn muốn chèn header tùy chỉnh thiết lập thì đây là một mã giành riêng cho bạn.Chạy mã này, nhập giá bán trị cấu hình thiết lập vào đầu vào box. Để chuyển đổi liên kết của header hoặc footer, bạn cũng có thể điều chỉnh mã.Sub customHeader()Dim myText As StringmyText = InputBox("Enter your text here", "Enter Text")With ActiveSheet.PageSetup.LeftHeader = "".CenterHeader = myText.RightHeader = "".LeftFooter = "".CenterFooter = "".RightFooter = ""End WithEnd Sub Formatting CodesNhững mã VBA này sẽ giúp bạn định dạng các ô cùng phạm vi bằng phương pháp sử dụng một vài tiêu chuẩn chỉnh và đk cụ thể.Highlight Duplicates from Selection (tô màu các ô cùng cực hiếm trong vùng được chọn)Mã macro này sẽ kiểm soát mỗi ô các bạn chọn với làm nổi bật các giá trị trùng lặp. Bạn cũng có thể chuyển đổi màu nhan sắc từ mã này.Sub HighlightDuplicateValues()Dim myRange As RangeDim myCell As RangeSet myRange = SelectionFor Each myCell In myRangeIf WorksheetFunction.CountIf(myRange, myCell.Value) > 1 ThenmyCell.Interior.ColorIndex = 36End IfNext myCellEnd SubHighlight the Active Row và ColumnĐây là những bước để tiến hành mã code này nhanh chóng.Mở VBE (ALT + F11).Di chuyển đến Project Explorer (Crtl + R, If hidden).Chọn workbook của doanh nghiệp và nhấp đúp con chuột vào thương hiệu một worksheet ví dụ mà bạn có nhu cầu kích hoạt mã macro.Dán mã vào kia và lựa chọn “BeforeDoubleClick” từ bỏ (event drop down menu).Đóng VBE và các bạn đã hoàn thành.Hãy để ý rằng, khi áp dụng mã macro này bạn sẽ không thể kiểm soát và điều chỉnh ô bằng cách nhấp lưu ban chuột.Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,Cancel As Boolean)Dim strRange As StringstrRange = Target.Cells.Address và "," Target.Cells.EntireColumn.Address & "," & _Target.Cells.EntireRow.AddressRange(strRange).SelectEnd SubHighlight top 10 ValuesChỉ lựa chọn 1 phạm vi và chạy mã macro này cùng nó sẽ làm rất nổi bật top 10 values với màu xanh.Sub TopTen()Selection.FormatConditions.AddTop10Selection.FormatConditions(Selection.FormatConditions.Count).StFirstPriorityWith Selection.FormatConditions(1).TopBottom = xlTop10Top.Rank = 10.Percent = FalseEnd WithWith Selection.FormatConditions(1).Font.Color = -16752384.TintAndShade = 0End WithWith Selection.FormatConditions(1).Interior.PatternColorIndex = xlAutomatic.Color = 13561798.TintAndShade = 0End WithSelection.FormatConditions(1).StopIfTrue = FalseEnd SubHighlight Named RangesNếu bạn không chắc hẳn rằng bao nhiêu phạm vi được chỉ định trong worksheet của khách hàng thì chúng ta cũng có thể sử dụng mã này để triển khai nổi nhảy chúng.Sub HighlightRanges()Dim RangeName As NameDim HighlightRange As RangeOn Error Resume NextFor Each RangeName In ActiveWorkbook.NamesSet HighlightRange = RangeName.RefersToRangeHighlightRange.Interior.ColorIndex = 36Next RangeNameEnd SubHighlight Greater than ValuesSau lúc chạy mã này, nó sẽ yêu cầu giá trị mà bạn muốn làm rất nổi bật các giá chỉ trị bự hơn.Sub HighlightGreaterThanValues()Dim i As Integeri = InputBox("Enter Greater Than Value", "Enter Value")Selection.FormatConditions.DeleteSelection.FormatConditions.Add Type:=xlCellValue,Operator:=xlGreater, Formula1:=iSelection.FormatConditions(Selection.FormatConditions.Count).StFirstPriorityWith Selection.FormatConditions(1).Font.Color = RGB(0, 0, 0).Interior.Color = RGB(31, 218, 154)End WithEnd SubHighlight Lower than ValuesSau lúc chạy mã này, nó đã yêu ước giá trị mà bạn muốn làm nổi bật các quý giá thấp hơn.Sub HighlightLowerThanValues()Dim i As Integeri = InputBox("Enter Lower Than Value", "Enter Value")Selection.FormatConditions.DeleteSelection.FormatConditions.Add Type:=xlCellValue,Operator:=xlLower, Formula1:=iSelection.FormatConditions(Selection.FormatConditions.Count).StFirstPriorityWith Selection.FormatConditions(1).Font.Color = RGB(0, 0, 0).Interior.Color = RGB(217, 83, 79)End WithEnd SubHighlight Negative NumbersChọn một pham vi những ô với chạy mã này. Nó sẽ kiểm tra mỗi ô vào phạm vi này với làm trông rất nổi bật tất cả các ô gồm (negative numbers).Sub highlightNegativeNumbers()Dim Rng As RangeFor Each Rng In SelectionIf WorksheetFunction.IsNumber(Rng) ThenIf Rng.Value Rng.Font.Color= -16776961End IfEnd IfNextEnd SubHighlight Specific TextGiả sử bạn có một tệp dữ liệu lớn và bạn có nhu cầu kiểm tra một giá chỉ trị chũm thể. Vào trường vừa lòng này, chúng ta cũng có thể sử dụng mã này. Khi bạn chạy nó, screen sẽ hiện input box để chúng ta nhập giá chỉ trị ước ao tìm kiếm.Sub highlightValue()Dim myStr As StringDim myRg As RangeDim myTxt As StringDim myCell As RangeDim myChar As StringDim I As LongDim J As LongOn Error Resume NextIf ActiveWindow.RangeSelection.Count> 1 ThenmyTxt= ActiveWindow.RangeSelection.AddressLocalElsemyTxt= ActiveSheet.UsedRange.AddressLocalEnd IfLInput: mix myRg= Application.InputBox("please select the datarange:", "Selection Required", myTxt, , , , , 8)If myRg Is Nothing ThenExit SubIf myRg.Areas.Count > 1 ThenMsgBox"not tư vấn multiple columns" GoToLInputEnd IfIf myRg.Columns.Count 2 ThenMsgBox"the selected range can only contain two columns "GoTo LInputEnd IfFor I = 0 khổng lồ myRg.Rows.Count-1myStr= myRg.Range("B1").Offset(I, 0).ValueWith myRg.Range("A1").Offset(I, 0).Font.ColorIndex= 1For J = 1 lớn Len(.Text)Mid(.Text, J, Len(myStr)) = myStrThen.Characters(J, Len(myStr)).Font.ColorIndex= 3NextEnd WithNext IEnd SubHighlight Cells with CommentsĐể làm nổi bật tất cả những ô với việc áp dụng comments macro này.Sub highlightCommentCells()Selection.SpecialCells(xlCellTypeComments).SelectSelection.Style= "Note"End SubHighlight Alternate Rows in the SelectionVới vấn đề làm trông rất nổi bật các hàng cụ thế, chúng ta có thể dễ dàng đọc dữ liệu hơn. Và vì chưng điều này, bạn cũng có thể sử dụng mã VBA bên dưới. Mã chỉ đơn giản dễ dàng làm nổi bật mỗi hàng sửa chữa thay thế trong phạm vi được chọn.Sub highlightAlternateRows()Dim rng As RangeFor Each rng In Selection.RowsIf rng.RowMod 2 = 1 Thenrng.Style= "20% -Accent1"rng.Value= rng^ (1 / 3)ElseEnd IfNext rngEnd SubHighlight Cells with Misspelled WordsNếu bạn gặp gỡ khó khăn trong bài toán kiểm tra tất cả các mặt hàng về lỗi thiết yếu tả thì đấy là một mã dành riêng cho bạn. Mã sẽ khám nghiệm mỗi ô được lựa chọn và làm khá nổi bật ô kia khi bao gồm lỗi chủ yếu tả.Sub HighlightMisspelledCells()Dim rng As RangeFor Each rng In ActiveSheet.UsedRangeIf Not Application.CheckSpelling(word:=rng.Text) Thenrng.Style= "Bad" end IfNext rngEnd SubHighlight Cells With Error in the Entire WorksheetMã này để giúp đỡ bạn làm khá nổi bật và đếm tất cả các ô gồm lỗi.Chỉ việc chạy mã này và mã đã trả lại một thông báo có số ô lỗi cùng làm rất nổi bật tất cả các ô đó.Sub highlightErrors()Dim rng As RangeDim i As IntegerFor Each rng In ActiveSheet.UsedRangeIf WorksheetFunction.IsError(rng) Theni = i + 1 rng.Style = "bad"End IfNext rngMsgBox "There are total " & i và " error(s) in this worksheet."End SubHighlight Cells with a Specific Text in WorksheetMã này để giúp đỡ bạn đếm các ô có giá trị cụ thể mà bạn sẽ đề cập và sau đó, mã vẫn làm khá nổi bật tất cả những ô đó.Xem thêm: Tình Yêu Không Có Lỗi, Lỗi Là Ở Bạn Thân Remix, Tình Yêu Không Có Lỗi, Lỗi Ở Bạn ThânSub highlightSpecificValues()Dim rng As RangeDim i As IntegerDim c As Variantc = InputBox("Enter Value lớn Highlight")For Each rng In ActiveSheet.UsedRangeIf rng = c Thenrng.Style = "Note"i = i + 1End IfNext rngMsgBox "There are total " & i &" "& c và " in this worksheet."End SubHighlight all the Blank Cells Invisible Space Đôi khi bao gồm ô trống tuy thế chúng tất cả một khoảng trống duy tốt nhất và vị vậy, sẽ khá khó để nhận thấy chúng. Mã này sẽ giúp bạn kiểm tra tất cả các ô vào worksheet cùng làm nổi bật các ô có tầm khoảng trống nhất định.Sub blankWithSpace()Dim rng As RangeFor Each rng In ActiveSheet.UsedRangeIf rng.Value = " " Thenrng.Style = "Note"End IfNext rngEnd SubHighlight Max Value In The RangeMã này sẽ kiểm tra tất cả các ô được chọn và làm khá nổi bật ô đó với giá trị bự nhất.Sub highlightMaxValue()Dim rng As RangeFor Each rng In SelectionIf rng = WorksheetFunction.Max(Selection) Thenrng.Style = "Good"End IfNext rngEnd SubHighlight Min Value In The RangeMã vẫn kiểm tra tất cả các ô được lựa chọn và làm rất nổi bật ô đó với mức giá trị bé dại nhất.Sub highlightMinValue()Dim rng As RangeFor Each rng In SelectionIf rng = WorksheetFunction.Min(Selection) Thenrng.Style = "Good"End IfNext rngEnd SubHighlight chất lượng ValuesCác mã này đã làm nổi bật tất cả các ô được chọn mà có mức giá trị duy nhất.Sub highlightUniqueValues()Dim rng As RangeSet rng = Selectionrng.FormatConditions.DeleteDim uv As UniqueValuesSet uv = rng.FormatConditions.AddUniqueValuesuv.DupeUnique = xlUniqueuv.Interior.Color = vbGreenEnd SubHighlight Difference in ColumnsSử dụng mã này chúng ta cũng có thể làm khá nổi bật sự khác hoàn toàn giữa 2 cột (các ô tương ứng).Sub columnDifference()Range("H7:H8,I7:I8").SelectSelection.ColumnDifferences(ActiveCell).SelectSelection.Style= "Bad"End SubHighlight Difference in RowsSử dụng mã này bạn có thể làm khá nổi bật sự không giống nhau giữa 2 mặt hàng (các ô tương ứng).Sub rowDifference()Range("H7:H8,I7:I8").SelectSelection.RowDifferences(ActiveCell).SelectSelection.Style= "Bad"End SubPrinting CodesNhững mã macro này để giúp bạn auto in một số công việc mà hoàn toàn có thể tiết kiệm rất nhiều thời gian.Print CommentsSử dụng mã macro này kích hoạt cài đặt để in (cell comments) sinh sống cuối trang. Ví dụ bạn phải in 10 trang, sau khi sử dụng mã này các bạn sẽ nhận được toàn bộ comments ở trang sau cùng thứ 11.Sub printComments()With ActiveSheet.PageSetup.printComments= xlPrintSheetEndEnd WithEnd SubPrint Narrow MarginSử dụng mã VBA này nhằm in giấy bao gồm lề hẹp. Khi chúng ta chạy mã macro này, mã sẽ auto thay thay đổi lề thành hẹp.Sub printNarrowMargin()With ActiveSheet.PageSetup.LeftMargin= Application.InchesToPoints(0.25).RightMargin= Application.InchesToPoints(0.25).TopMargin= Application.InchesToPoints(0.75).BottomMargin= Application.InchesToPoints(0.75).HeaderMargin= Application.InchesToPoints(0.3).FooterMargin= Application.InchesToPoints(0.3)End WithActiveWindow.SelectedSheets.PrintOutCopies:=1, Collate:=True,IgnorePrintAreas:=FalseEnd SubPrint SelectionMã này sẽ giúp đỡ bạn in phạm vi được chọn. Bạn không yêu cầu phải di chuyển đến mục printing options và thiết đặt phạm vi in. Chúng ta chỉ việc lựa chọn một phạm vi và chạy mã này.Sub printSelection()Selection.PrintOutCopies:=1, Collate:=TrueEnd SubPrint Custom PagesThay vày sử dụng thiết đặt từ print options, bạn có thể sử dụng mã này nhằm in phạm vi trang điều chỉnh.Ví dụ bạn có nhu cầu từ trang 5 mang đến trang10. Bạn chỉ cần chạy mã VBA này và nhập trang bắt đầu và trang kết thúc.Sub printCustomSelection()Dim startpageAs IntegerDim endpageAs Integerstartpage= InputBox("Please Enter Start Page number.", "EnterValue")If Not WorksheetFunction.IsNumber(startpage) ThenMsgBox"Invalid Start Page number. Please try again.", "Error"Exit SubEnd Ifendpage= InputBox("Please Enter kết thúc Page number.", "EnterValue")If Not WorksheetFunction.IsNumber(endpage) ThenMsgBox"Invalid kết thúc Page number. Please try again.", "Error"Exit SubEnd IfSelection.PrintOutFrom:=startpage, To:=endpage, Copies:=1,Collate:=TrueEnd SubWorksheet CodesNhững mã macro này sẽ giúp đỡ bạn kiểm soát điều hành và thống trị worksheets theo một cách đơn giản dễ dàng và ngày tiết kiệm rất nhiều thời gian.Hide all but the Active WorksheetVí dụ bạn muốn ẩn toàn bộ các worksheets vào workbook của doanh nghiệp ngoài worksheet sẽ hoạt động. Mã macro này sẽ giúp bạn có tác dụng điều này.Sub HideWorksheet()Dim ws As WorksheetFor Each ws In ThisWorkbook.WorksheetsIf ws.Name ThisWorkbook.ActiveSheet.Name Thenws.Visible = xlSheetHiddenEnd IfNext wsEnd SubUnhide all Hidden WorksheetsMã này giành cho việc nếu bạn muốn hiển thị toàn bộ các worksheets mà các bạn đã ẩn trong mà lại trước. Sub UnhideAllWorksheet()Dim ws As WorksheetFor Each ws In ActiveWorkbook.Worksheetsws.Visible = xlSheetVisibleNext wsEnd SubDelete all but the Active WorksheetMã này cực kỳ hữu ích cho mình nếu bạn có nhu cầu xóa toàn bộ các worksheet ngoài sheet đã hoạt động.Khi bạn chạy mã này, mã sẽ đối chiếu tên workwheet đang vận động với các worksheet khác và tiếp đến xóa chúng.Sub DeleteWorksheets()Dim ws As WorksheetFor Each ws In ThisWorkbook.WorksheetsIf ws.name ThisWorkbook.ActiveSheet.name ThenApplication.DisplayAlerts = Falsews.DeleteApplication.DisplayAlerts = TrueEnd IfNext wsEnd SubProtect all Worksheets InstantlyĐây là mã dành cho chính mình nếu bạn muốn protect các worksheet chỉ vào một lần.Khi chạy mã macro này, các bạn sẽ nhận được một đầu vào box nhằm nhập password. Sau khoản thời gian nhập password, click OK. Và make sure to take care about CAPS.Sub ProtectAllWorskeets()Dim ws As WorksheetDim ps As Stringps = InputBox("Enter a Password.", vbOKCancel)For Each ws In ActiveWorkbook.Worksheetsws.Protect Password:=psNext wsEnd SubResize All Charts in a Worksheet.Tạo các chart gồm cùng một kích cỡ. Mã macro này sẽ giúp bạn tạo tất cả các chart tất cả chung kích cỡ. Bạn có thể thay đổi độ cao và chiều rộng của chart bằng cách thay thay đổi nó trong mã macro.Sub Resize_Charts()Dim i As IntegerFor i = 1 to ActiveSheet.ChartObjects.CountWith ActiveSheet.ChartObjects(i).Width = 300.Height = 200End WithNext iEnd SubInsert Multiple WorksheetsBạn hoàn toàn có thể sử dụng mã này nếu bạn muốn thêm các worksheet vào workbook của khách hàng chỉ vào một bước.Khi các bạn chạy mã macro này, các bạn sẽ nhận được input box nhằm nhập toàn bô sheet mà bạn có nhu cầu nhập.Sub InsertMultipleSheets()Dim i As Integeri = InputBox("Enter number of sheets to insert.", "EnterMultiple Sheets")Sheets.Add After:=ActiveSheet, Count:=iEnd SubProtect worksheetNếu bạn muốn protect worksheet, bạn cũng có thể sử dụng mã này.Bạn chỉ cần nhập password của khách hàng vào trong mã.Sub ProtectWS()ActiveSheet.Protect "mypassword", True, TrueEnd SubUn-Protect WorksheetNếu bạn không thích protect worksheet, chúng ta có thể sử dụng mà macro này.Bạn chỉ cần nhập password mà bạn đã thực hiện khi protect worksheet của bạn.Sub UnprotectWS()ActiveSheet.Unprotect "mypassword"End SubSort WorksheetsMã này để giúp bạn bố trí worksheets trong workbook nhờ vào tên của worksheet.Sub SortWorksheets()Dim i As IntegerDim j As IntegerDim iAnswer As VbMsgBoxResultiAnswer = MsgBox("Sort Sheets in Ascending Order?" và Chr(10) _& "Clicking No will sort in Descending Order", _vbYesNoCancel + vbQuestion + vbDefaultButton1, "SortWorksheets")For i = 1 to lớn Sheets.CountFor j = 1 to lớn Sheets.Count - 1If iAnswer = vbYes ThenIf UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) ThenSheets(j).Move After:=Sheets(j + 1)End IfElseIf iAnswer = vbNo ThenIf UCase$(Sheets(j).Name) Sheets(j).Move After:=Sheets(j + 1)End IfEnd IfNext jNext iEnd Sub Protect all the Cells With FormulasBạn hoàn toàn có thể sử dụng mã này nhằm protect cell with formula chưa đến một cú click chuột.Sub lockCellsWithFormulas()With ActiveSheet.Unprotect.Cells.Locked = False.Cells.SpecialCells(xlCellTypeFormulas).Locked = True.Protect AllowDeletingRows:=TrueEnd WithEnd SubDelete all Blank WorksheetsChạy mã này với mã đã kiểm tra toàn bộ các worksheets trong workbook đang vận động và xóa chúng nếu gồm một worksheet trống.Sub deleteBlankWorksheets()Dim Ws As WorksheetOn Error Resume NextApplication.ScreenUpdating= FalseApplication.DisplayAlerts= FalseFor Each Ws In Application.WorksheetsIf Application.WorksheetFunction.CountA(Ws.UsedRange) = 0 ThenWs.DeleteEnd IfNextApplication.ScreenUpdating= TrueApplication.DisplayAlerts= TrueEnd SubUnhide all Rows và ColumnsThay bởi hiển thị từng hàng với cột một giải pháp thủ công, bạn có thể sử dụng mã này để tiến hành chỉ trong một bước.Sub UnhideRowsColumns()Columns.EntireColumn.Hidden = FalseRows.EntireRow.Hidden = FalseEnd SubSave Each Worksheet as a Single PDFmã này chỉ đơn giản và dễ dàng lưu toàn bộ worksheet vào một tệp PDF riêng. Bạn chỉ cần biến hóa tên tệp từ bỏ mã này.Sub SaveWorkshetAsPDF()Dimws As WorksheetFor Each ws In Worksheetsws.ExportAsFixedFormat xlTypePDF,“ENTER-FOLDER-NAME-HERE" & ws.Name & ".pdf" NextwsEnd SubDisable Page BreaksBạn rất có thể sử dụng mã này để loại bỏ hóa ngắt trang. Mã đơn giản dễ dàng chỉ loại bỏ hóa ngắt trang từ những workbook sẽ mở.Sub DisablePageBreaks()Dim wbAs WorkbookDim wksAs WorksheetApplication.ScreenUpdating= FalseFor Each wbIn Application.WorkbooksFor Each ShtIn wb.WorksheetsSht.DisplayPageBreaks= FalseNext ShtNext wbApplication.ScreenUpdating= TrueEnd Sub Workbook CodesNhững mã này để giúp bạn triển khai các quá trình workbook một cách đơn giản và không hẳn tốn các công sức.Create a Backup of a Current WorkbookĐây là một trong những mã macro có ích nhất rất có thể giúp chúng ta lưu một tệp cung ứng cho workbook của bạn.Mã sẽ lưu một tệp cung cấp trực tiếp với tệp lúc này được lưu với mã cũng sẽ bổ sung cập nhật ngày với tên của tệp.Sub FileBackUp()ThisWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & _"" và Format(Date, "mm-dd-yy") & " " & _ThisWorkbook.nameEnd SubClose all Workbooks at OnceBạn áp dụng mã này để đóng toàn bộ các workbook đang mở.Đầu tiên, mã sẽ khám nghiệm từng workbook một cùng đóng bọn chúng lại. Trường hợp có bất kỳ worksheet nào chưa được lưu, các bạn sẽ nhận được thông tin để lưu.Sub CloseAllWorkbooks()Dim wbs As WorkbookFor Each wbs In Workbookswbs.Close SaveChanges:=TrueNext wbEnd SubCopy Active Worksheet into a New WorkbookVí dụ, nếu bạn có nhu cầu sao chép worksheet đang chuyển động vào một workbook mới, bạn chỉ việc chạy mã macro cùng mã sẽ thực hiện cho bạn.Điều này máu kiệm tương đối nhiều thời gian.Sub CopyWorksheetToNewWorkbook()ThisWorkbook.ActiveSheet.Copy _Before:=Workbooks.Add.Worksheets(1)End SubActive Workbook in an EmailSử dụng mã macro này để gửi active workbook của chúng ta bằng email một bí quyết nhanh chóng.Bạn bao gồm thể chuyển đổi tên, email, nội dung trong mã và nếu bạn muốn gửi trực tiếp thư điện tử này, thực hiện “.Send” thay bởi “.Display”.