Bạn hoàn toàn có thể sử dụng đông đảo mã code này tức thì cả khi chúng ta chưa từng sử dụng VBA trước đây.

Bạn đang xem: Top 12+ thư viện code vba trong excel mới nhất 2022

Đang xem: thư viện vba excel

Nhưng điều thứ nhất phải biết là:

Mã Macro là gì?

Trong Excel, mã macro là một trong mã lập trình được viết bằng ngôn ngữ VBA (Visual Basic for Applications).

Ý tưởng phía sau việc sử dụng mã là để tự động hóa hóa một hành vi mà còn nếu như không bạn cần thực hiện thủ công bằng tay trong Excel.

Ví dụ, bạn 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 1 cú nhấn vào thay vị chọn theo đồ vật tự -> tệp tin Tab -> Print -> Print Select -> OK Button.

Sử dụng mã Macro vào Excel

Trước khi thực hiện những mã này, bảo đảm an toàn rằng bạn có Developer Tab trên thanh Excel để truy cập VB Editor.

Sau khi chúng ta kích hoạt Developer Tab…

… bạn cũng có thể sử dụng công việc dưới đây nên dán mã VBA vào VB Editor.

Di chuyển mang đến developer tab của công ty và nhấp chọn “Visual Basic”.

*
*
*
*

Basic

Formatting

Printing

Worksheet

Workbook

Pivot Table

Charts

Advanced

Formulas

BASIC CODE

Những mã code VBA này sẽ giúp đỡ bạn thực hiện một số công việc cơ phiên bản trong nháy đôi mắt mà bạn thường làm trên bảng tính.

Add Serial Numbers (đánh số thự trường đoản cú tự động)

Code macro này để giúp bạn bổ sung cập nhật số serial tự động hóa trên trang Excel.

Sau khi chúng ta chạy mã macro này, màn hình hiển thị sẽ hiển thị đầu vào box để bạn nhập tối phần nhiều serial cùng sau đó, nó đang chèn các số vào cột theo trang bị tự.

Sub AddSerialNumbers()

Dim i As Integer

On Error GoTo Last

i = InputBox(“Enter Value”, “Enter Serial Numbers”)

For i = 1 khổng lồ i

ActiveCell.Value = i

ActiveCell.Offset(1, 0).Activate

Next i

Last:Exit Sub

End Sub

Add Multiple Columns (chèn cột)

Sau lúc chạy mã macro, screen sẽ hiển thị một đầu vào box và bạn phải nhập số cột mà bạn có nhu cầu chèn.

Sub InsertMultipleColumns()

Dim i As Integer

Dim j As Integer

ActiveCell.EntireColumn.Select

On Error GoTo Last

i = InputBox(“Enter number of columns lớn insert”, “Insert Columns”)

For j = 1 to i

Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromRightorAbove

Next j

Last:Exit Sub

End Sub

Add Multiple Rows (chèn dòng)

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à 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 Integer

Dim j As Integer

ActiveCell.EntireRow.Select

On Error GoTo Last

i = InputBox(“Enter number of columns to insert”, “Insert

Columns”)

For j = 1 lớn i

Selection.Insert Shift:=xlToDown,

CopyOrigin:=xlFormatFromRightorAbove

Next j

Last:Exit Sub

End Sub

Auto Fit Columns (tự cồn canh các cột)

Nhanh chóng auto khớp tất cả các sản phẩm trong worksheet của bạn.

Mã macro này vẫn chọn toàn bộ các ô vào worksheet và tự động khớp ngay lập tức các cột.

Sub AutoFitColumns()

Cells.Select

Cells.EntireColumn.AutoFit

End Sub

Auto Fit Rows (tự rượu cồn canh các dòng)

Bạn hoàn toàn có thể sử dụng mã code này để tự động hóa khớp toàn bộ các sản phẩm trong worksheet.

Khi các bạn chạy mã này, nó đang chọn tất cả các ô trong worksheet và tự động khớp tức thì lập tức những hàng.

Sub AutoFitRows()

Cells.Select

Cells.EntireRow.AutoFit

End Sub

Remove Text Wrap (bỏ chính sách wrap text)

Mã code này sẽ 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ó đã chọn toàn bộ các cột và kế tiếp xóa text wrap và tự động khớp những hàng với cột.

Sub RemoveWrapText()

Cells.Select

Selection.WrapText = False

Cells.EntireRow.AutoFit

Cells.EntireColumn.AutoFit

End Sub

Unmerge Cells (không kết nối những ô)

Chọn các ô và chạy mã này, nó sẽ không sát nhập toàn bộ các ô vừa lựa chọn với dữ liệu bị mất của bạn.

Sub UnmergeCells()

Selection.UnMerge

End Sub

Open Calculator (mở laptop trên excel)

Trong hành lang cửa số có một lắp thêm tính ví dụ và áp dụng mã macro này, chúng ta có thể mở máy tính trực tiếp từ Excel cho việc tính toán.

Sub OpenCalculator()

Application.ActivateMicrosoftApp Index:=0

End Sub

Add Header/Footer Date (thêm ngày sống 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à footer trong worksheet.

Bạn rất có thể điều chỉnh mã này để đổi từ bỏ header quý phái footer.

Sub dateInHeader()

With ActiveSheet.PageSetup

.LeftHeader = “”

.CenterHeader = “&D”

.RightHeader = “”

.LeftFooter = “”

.CenterFooter = “”

.RightFooter = “”

End With

ActiveWindow.View = xlNormalView

End Sub

Custom Header/Footer (chèn đầu trang/chân trang theo ý bạn)

Nếu bạn có nhu cầu chèn header cấu hình thiết lập thì đấy là một mã dà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 input đầu vào box. Để đổi khác liên kết của header hoặc footer, chúng ta có thể điều chỉnh mã.

Sub customHeader()

Dim myText As Stringmy

Text = InputBox(“Enter your text here”, “Enter Text”)

With ActiveSheet.PageSetup

.LeftHeader = “”

.CenterHeader = myText

.RightHeader = “”

.LeftFooter = “”

.CenterFooter = “”

.RightFooter = “”

End With

End Sub

Formatting Codes

Những mã VBA này để giúp đỡ bạn định dạng các ô với phạm vi bằng phương pháp sử dụng một số trong những tiêu chuẩn chỉnh và điều kiện cụ thể.

Highlight Duplicates from Selection (tô màu những ô cùng cực hiếm trong vùng được chọn)

Mã macro này sẽ khám nghiệm mỗi ô các bạn chọn cùng làm khá nổi bật các giá trị trùng lặp.

Bạn cũng đều có thể thay đổi màu sắc từ mã này.

Sub HighlightDuplicateValues()

Dim myRange As Range

Dim myCell As Range

Set myRange = Selection

For Each myCell In myRange

If WorksheetFunction.CountIf(myRange, myCell.Value) > 1 Then

myCell.Interior.ColorIndex = 36

End If

Next myCell

End Sub

Highlight the Active Row & Column

Đây là những cách để thực hiện mã code này cấp tốc chóng.

Mở VBE (ALT + F11).Di chuyển cho Project Explorer (Crtl + R, If hidden).Chọn workbook của bạn và nhấp đúp con chuột vào thương hiệu một worksheet ví dụ mà bạn muốn kích hoạt mã macro.Dán mã vào kia và 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 các bạn sẽ không thể kiểm soát và điều chỉnh ô bằng phương pháp nhấp đúp chuột.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,

Cancel As Boolean)

Dim strRange As String

strRange = Target.Cells.Address & “,” Target.Cells.EntireColumn.Address & “,” & _

Target.Cells.EntireRow.Address

Range(strRange).Select

End Sub

Highlight vị trí cao nhất 10 Values

Chỉ chọn 1 phạm vi cùng chạy mã macro này và nó đang làm nổi bật top 10 values với color xanh.

Sub TopTen()

Selection.FormatConditions.AddTop10

Selection.FormatConditions(Selection.FormatConditions.Count).S

tFirstPriority

With Selection.FormatConditions(1)

.TopBottom = xlTop10Top

.Rank = 10

.Percent = False

End With

With Selection.FormatConditions(1).Font

.Color = -16752384

.TintAndShade = 0

End With

With Selection.FormatConditions(1).Interior

.PatternColorIndex = xlAutomatic

.Color = 13561798

.TintAndShade = 0

End With

Selection.FormatConditions(1).StopIfTrue = False

End Sub

Highlight Named Ranges

Nếu bạn không chắc chắn rằng bao nhiêu phạm vi được hướng dẫn và chỉ định trong worksheet của người tiêu dùng thì chúng ta cũng có thể sử dụng mã này để triển khai nổi bật chúng.

Sub HighlightRanges()

Dim RangeName As Name

Dim HighlightRange As Range

On Error Resume Next

For Each RangeName In ActiveWorkbook.Names

Set HighlightRange = RangeName.RefersToRange

HighlightRange.Interior.ColorIndex = 36

Next RangeName

End Sub

Highlight Greater than Values

Sau khi chạy mã này, nó sẽ yêu mong giá trị mà bạn muốn làm khá nổi bật các giá bán trị khủng hơn.

Sub HighlightGreaterThanValues()

Dim i As Integer

i = InputBox(“Enter Greater Than Value”, “Enter Value”)

Selection.FormatConditions.Delete

Selection.FormatConditions.Add Type:=xlCellValue,

Operator:=xlGreater, Formula1:=i

Selection.FormatConditions(Selection.FormatConditions.Count).S

tFirstPriority

With Selection.FormatConditions(1)

.Font.Color = RGB(0, 0, 0)

.Interior.Color = RGB(31, 218, 154)

End With

End Sub

Highlight Lower than Values

Sau khi chạy mã này, nó đang yêu cầu giá trị mà bạn muốn làm trông rất nổi bật các quý giá thấp hơn.

Sub HighlightLowerThanValues()

Dim i As Integer

i = InputBox(“Enter Lower Than Value”, “Enter Value”)

Selection.FormatConditions.Delete

Selection.FormatConditions.Add Type:=xlCellValue,

Operator:=xlLower, Formula1:=i

Selection.FormatConditions(Selection.FormatConditions.Count).S

tFirstPriority

With Selection.FormatConditions(1)

.Font.Color = RGB(0, 0, 0)

.Interior.Color = RGB(217, 83, 79)

End With

End Sub

Highlight Negative Numbers

Chọn một pham vi các ô với chạy mã này. Nó sẽ chất vấn mỗi ô vào phạm vi này và làm nổi bật tất cả các ô bao gồm (negative numbers).

Sub highlightNegativeNumbers()

Dim Rng As Range

For Each Rng In Selection

If WorksheetFunction.IsNumber(Rng) Then

If Rng.Value

Rng.Font.Color= -16776961

End If

End If

Next

End Sub

Highlight Specific Text

Giả sử các bạn có một tệp tài liệu lớn và bạn muốn kiểm tra một giá trị cụ thể. Vào trường hợp này, chúng ta có thể sử dụng mã này. Khi bạn chạy nó, màn hình sẽ hiện input box để các bạn nhập giá trị ý muốn tìm kiếm.

Sub highlightValue()

Dim myStr As String

Dim myRg As Range

Dim myTxt As String

Dim myCell As Range

Dim myChar As String

Dim I As Long

Dim J As Long

On Error Resume Next

If ActiveWindow.RangeSelection.Count> 1 Then

myTxt= ActiveWindow.RangeSelection.AddressLocal

Else

myTxt= ActiveSheet.UsedRange.AddressLocal

End If

LInput: mix myRg= Application.InputBox(“please select the data

range:”, “Selection Required”, myTxt, , , , , 8)

If myRg Is Nothing Then

Exit Sub

If myRg.Areas.Count > 1 Then

MsgBox”not tư vấn multiple columns” GoToLInput

End If

If myRg.Columns.Count 2 Then

MsgBox”the selected range can only contain two columns “

GoTo LInput

End If

For I = 0 to lớn myRg.Rows.Count-1

myStr= myRg.Range(“B1”).Offset(I, 0).Value

With myRg.Range(“A1”).Offset(I, 0)

.Font.ColorIndex= 1

For J = 1 lớn Len(.Text)

Mid(.Text, J, Len(myStr)) = myStrThen

.Characters(J, Len(myStr)).Font.ColorIndex= 3

Next

End With

Next I

End Sub

Highlight Cells with Comments

Để làm khá nổi bật tất cả những ô với việc thực hiện comments macro này.

Sub highlightCommentCells()

Selection.SpecialCells(xlCellTypeComments).Select

Selection.Style= “Note”

End Sub

Highlight Alternate Rows in the Selection

Với bài toán làm khá nổi bật các hàng gắng thế, chúng ta cũng có thể dễ dàng đọc tài liệu hơn. Và do điều này, chúng ta có thể sử dụng mã VBA bên dưới. Mã chỉ đơn giản và dễ dàng làm nổi bật mỗi hàng thay thế sửa chữa trong phạm vi được chọn.

Sub highlightAlternateRows()

Dim rng As Range

For Each rng In Selection.Rows

If rng.RowMod 2 = 1 Then

rng.Style= “20% -Accent1”

rng.Value= rng^ (1 / 3)

Else

End If

Next rng

End Sub

Highlight Cells with Misspelled Words

Nếu bạn chạm chán khó khăn trong việc kiểm tra toàn bộ các hàng về lỗi chính 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 rất nổi bật ô đó khi có lỗi chủ yếu tả.

Sub HighlightMisspelledCells()

Dim rng As Range

For Each rng In ActiveSheet.UsedRange

If Not Application.CheckSpelling(word:=rng.Text) Then

rng.Style= “Bad” over If

Next rng

End Sub

Highlight Cells With Error in the Entire Worksheet

Mã này sẽ 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ã sẽ 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ả những ô đó.

Sub highlightErrors()

Dim rng As Range

Dim i As Integer

For Each rng In ActiveSheet.UsedRange

If WorksheetFunction.IsError(rng) Then

i = i + 1 rng.Style = “bad”

End If

Next rng

MsgBox “There are total ” & i & ” error(s) in this worksheet.”

End Sub

Highlight Cells with a Specific Text in Worksheet

Mã này sẽ giúp bạn đếm những ô có giá trị cụ thể mà bạn sẽ đề cập với sau đó, mã vẫn làm rất nổi bật tất cả những ô đó.

Sub highlightSpecificValues()

Dim rng As Range

Dim i As Integer

Dim c As Variant

c = InputBox(“Enter Value lớn Highlight”)

For Each rng In ActiveSheet.UsedRange

If rng = c Then

rng.Style = “Note”

i = i + 1

End If

Next rng

MsgBox “There are total ” & i &” “& c & ” in this worksheet.”

End Sub

Highlight all the Blank Cells Invisible Space

Đôi khi bao hàm ô trống cơ mà chúng có một không gian duy độc nhất và vị vậy, sẽ rất khó để phân biệt chúng. Mã này sẽ giúp đỡ bạn kiểm tra tất cả các ô trong worksheet cùng làm nổi bật các ô có tầm khoảng trống tốt nhất định.

Sub blankWithSpace()

Dim rng As Range

For Each rng In ActiveSheet.UsedRange

If rng.Value = ” ” Then

rng.Style = “Note”

End If

Next rng

End Sub

Highlight Max Value In The Range

Mã này đang kiểm tra tất cả các ô được chọn và làm trông rất nổi bật ô đó với cái giá trị lớn nhất.

Xem thêm: Hội Phát Cuồng Vì One Piece: Strong World Vietsub Hd, Hội Phát Cuồng Vì One Piece

Sub highlightMaxValue()

Dim rng As Range

For Each rng In Selection

If rng = WorksheetFunction.Max(Selection) Then

rng.Style = “Good”

End If

Next rng

End Sub

Highlight Min Value In The Range

Mã đã kiểm tra tất cả các ô được chọn và làm khá nổi bật ô đó với mức giá trị nhỏ dại nhất.

Sub highlightMinValue()

Dim rng As Range

For Each rng In Selection

If rng = WorksheetFunction.Min(Selection) Then

rng.Style = “Good”

End If

Next rng

End Sub

Highlight chất lượng Values

Các mã này sẽ làm nổi bật tất cả các ô được lựa chọn mà có giá trị duy nhất.

Sub highlightUniqueValues()

Dim rng As Range

Set rng = Selection

rng.FormatConditions.Delete

Dim uv As UniqueValues

Set uv = rng.FormatConditions.AddUniqueValues

uv.DupeUnique = xlUnique

uv.Interior.Color = vbGreen

End Sub

Highlight Difference in Columns

Sử dụng mã này chúng ta cũng có thể làm trông rất nổi bật sự biệt lập giữa 2 cột (các ô tương ứng).

Sub columnDifference()

Range(“H7:H8,I7:I8”).Select

Selection.ColumnDifferences(ActiveCell).Select

Selection.Style= “Bad”

End Sub

Highlight Difference in Rows

Sử dụng mã này chúng ta có thể làm trông rất nổi bật sự khác biệt giữa 2 sản phẩm (các ô tương ứng).

Sub rowDifference()

Range(“H7:H8,I7:I8”).Select

Selection.RowDifferences(ActiveCell).Select

Selection.Style= “Bad”

End Sub

Printing Codes

Những mã macro này để giúp đỡ bạn auto in một số các bước mà hoàn toàn có thể tiết kiệm tương đối nhiều thời gian.

Print Comments

Sử dụng mã macro này kích hoạt cài đặt để in (cell comments) nghỉ ngơi cuối trang. Ví dụ các bạn phải in 10 trang, sau khoản thời gian sử dụng mã này các bạn sẽ nhận được toàn bộ comments làm việc trang ở đầu cuối thứ 11.

Sub printComments()

With ActiveSheet.PageSetup

.printComments= xlPrintSheetEnd

End With

End Sub

Print Narrow Margin

Sử dụng mã VBA này nhằm in giấy gồm lề hẹp. Khi bạn chạy mã macro này, mã sẽ tự động 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 With

ActiveWindow.SelectedSheets.PrintOutCopies:=1, Collate:=True,

IgnorePrintAreas:=False

End Sub

Print Selection

Mã này để giúp đỡ bạn in phạm vi được chọn. Bạn không yêu cầu phải dịch chuyển đến mục printing options và setup phạm vi in. Các bạn chỉ việc lựa chọn một phạm vi với chạy mã này.

Sub printSelection()

Selection.PrintOutCopies:=1, Collate:=True

End Sub

Print Custom Pages

Thay bởi sử dụng cài đặt từ print options, chúng ta 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 lại trang10. Bạn chỉ việc chạy mã VBA này với nhập trang bước đầu và trang kết thúc.

Sub printCustomSelection()

Dim startpageAs Integer

Dim endpageAs Integer

startpage= InputBox(“Please Enter Start Page number.”, “Enter

Value”)

If Not WorksheetFunction.IsNumber(startpage) Then

MsgBox”Invalid Start Page number. Please try again.”, “Error”

Exit Sub

End If

endpage= InputBox(“Please Enter kết thúc Page number.”, “Enter

Value”)

If Not WorksheetFunction.IsNumber(endpage) Then

MsgBox”Invalid end Page number. Please try again.”, “Error”

Exit Sub

End If

Selection.PrintOutFrom:=startpage, To:=endpage, Copies:=1,

Collate:=True

End Sub

Worksheet Codes

Những mã macro này sẽ giúp đỡ bạn kiểm soát điều hành và cai quản worksheets theo một cách đơn giản và dễ dàng và máu kiệm rất nhiều thời gian.

Hide all but the Active Worksheet

Ví dụ bạn có nhu cầu ẩn tất cả các worksheets vào workbook của khách hàng ngoài worksheet đang hoạt động. Mã macro này sẽ giúp đỡ bạn làm cho điều này.

Sub HideWorksheet()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

If ws.Name ThisWorkbook.ActiveSheet.Name Then

ws.Visible = xlSheetHidden

End If

Next ws

End Sub

Unhide all Hidden Worksheets

Mã 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 Worksheet

For Each ws In ActiveWorkbook.Worksheets

ws.Visible = xlSheetVisible

Next ws

End Sub

Delete all but the Active Worksheet

Mã này siêu hữu ích cho mình nếu bạn muốn xóa tất cả các worksheet bên cạnh sheet đang hoạt động.

Khi bạn chạy mã này, mã sẽ đối chiếu tên workwheet đang chuyển động với các worksheet khác và tiếp đến xóa chúng.

Sub DeleteWorksheets()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

If ws.name ThisWorkbook.ActiveSheet.name Then

Application.DisplayAlerts = False

ws.Delete

Application.DisplayAlerts = True

End If

Next ws

End Sub

Protect all Worksheets Instantly

Đây là mã dành cho mình nếu bạn muốn protect các worksheet chỉ trong một lần.

Khi chạy mã macro này, bạn sẽ nhận được một input box để nhập password. Sau khoản thời gian nhập password, click OK. & make sure to lớn take care about CAPS.

Sub ProtectAllWorskeets()

Dim ws As Worksheet

Dim ps As String

ps = InputBox(“Enter a Password.”, vbOKCancel)

For Each ws In ActiveWorkbook.Worksheets

ws.Protect Password:=ps

Next ws

End Sub

Resize All Charts in a Worksheet.

Tạo những chart tất cả 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ũng có thể thay đổi độ cao và chiều rộng lớn của chart bằng phương pháp thay đổi nó vào mã macro.

Sub Resize_Charts()

Dim i As Integer

For i = 1 to ActiveSheet.ChartObjects.Count

With ActiveSheet.ChartObjects(i)

.Width = 300

.Height = 200

End With

Next i

End Sub

Insert Multiple Worksheets

Bạ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 bạn chỉ vào một bước.

Khi chúng ta chạy mã macro này, các bạn sẽ nhận được input đầu vào box để nhập toàn bô sheet mà bạn muốn nhập.

Sub InsertMultipleSheets()

Dim i As Integer

i = InputBox(“Enter number of sheets to lớn insert.”, “Enter

Multiple Sheets”)

Sheets.Add After:=ActiveSheet, Count:=i

End Sub

Protect worksheet

Nếu bạn có nhu cầu protect worksheet, bạn có thể sử dụng mã này.

Bạn chỉ việc nhập password của khách hàng vào trong mã.

Sub ProtectWS()

ActiveSheet.Protect “mypassword”, True, True

End Sub

Un-Protect Worksheet

Nếu bạn không muốn protect worksheet, bạn có thể sử dụng mà lại 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 Sub

Sort Worksheets

Mã này để giúp bạn sắp xếp worksheets trong workbook phụ thuộc vào tên của worksheet.

Sub SortWorksheets()

Dim i As Integer

Dim j As Integer

Dim iAnswer As VbMsgBoxResult

iAnswer = MsgBox(“Sort Sheets in Ascending Order?” & Chr(10) _

& “Clicking No will sort in Descending Order”, _

vbYesNoCancel + vbQuestion + vbDefaultButton1, “Sort

Worksheets”)

For i = 1 to Sheets.Count

For j = 1 to lớn Sheets.Count – 1

If iAnswer = vbYes Then

If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then

Sheets(j).Move After:=Sheets(j + 1)

End If

ElseIf iAnswer = vbNo Then

If UCase$(Sheets(j).Name)

Sheets(j).Move After:=Sheets(j + 1)

End If

End If

Next j

Next i

End Sub

Protect all the Cells With Formulas

Bạn hoàn toàn có thể sử dụng mã này để 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:=True

End With

End Sub

Delete all Blank Worksheets

Chạy mã này và mã đã kiểm tra tất cả các worksheets trong workbook đang vận động và xóa chúng nếu bao gồm một worksheet trống.

Sub deleteBlankWorksheets()

Dim Ws As Worksheet

On Error Resume Next

Application.ScreenUpdating= False

Application.DisplayAlerts= False

For Each Ws In Application.Worksheets

If Application.WorksheetFunction.CountA(Ws.UsedRange) = 0 Then

Ws.Delete

End If

Next

Application.ScreenUpdating= True

Application.DisplayAlerts= True

End Sub

Unhide all Rows và Columns

Thay vì hiển thị từng hàng và cột một bí quyết thủ công, bạn có thể sử dụng mã này để triển khai chỉ trong một bước.

Sub UnhideRowsColumns()

Columns.EntireColumn.Hidden = False

Rows.EntireRow.Hidden = False

End Sub

Save Each Worksheet as a Single PDF

mã này chỉ dễ dàng và đơn giản lưu toàn bộ worksheet vào trong 1 tệp PDF riêng. Chúng ta chỉ cần biến hóa tên tệp trường đoản cú mã này.

Sub SaveWorkshetAsPDF()

Dimws As Worksheet

For Each ws In Worksheetsws.ExportAsFixedFormat xlTypePDF,

“ENTER-FOLDER-NAME-HERE” & ws.Name & “.pdf” Nextws

End Sub

Disable Page Breaks

Bạn hoàn toàn có thể sử dụng mã này để vô hiệu hóa hóa ngắt trang. Mã đơn giản chỉ loại bỏ hóa ngắt trang từ các workbook đang mở.

Sub DisablePageBreaks()

Dim wbAs Workbook

Dim wksAs Worksheet

Application.ScreenUpdating= False

For Each wbIn Application.Workbooks

For Each ShtIn wb.WorksheetsSht.DisplayPageBreaks= False

Next Sht

Next wb

Application.ScreenUpdating= True

End Sub

Workbook Codes

Những mã này để giúp bạn triển khai các công việc workbook một cách dễ dàng và đơn giản và không phải tốn các công sức.

Create a Backup of a Current Workbook

Đây là giữa những mã macro hữu dụng nhất hoàn toàn có thể giúp các bạn lưu một tệp hỗ trợ cho workbook của bạn.

Mã sẽ lưu một tệp cung ứng trực tiếp cùng với tệp bây giờ được lưu và 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 & _

“” & Format(Date, “mm-dd-yy”) & ” ” & _

ThisWorkbook.name

End Sub

Close all Workbooks at Once

Bạn áp dụng mã này nhằm đóng tất cả các workbook vẫn mở.

Đầu tiên, mã sẽ soát sổ từng workbook một cùng đóng bọn chúng lại. Nếu như có bất kỳ worksheet nào không được lưu, bạn sẽ nhận được thông báo để lưu.

Sub CloseAllWorkbooks()

Dim wbs As Workbook

For Each wbs In Workbooks

wbs.Close SaveChanges:=True

Next wb

End Sub

Copy Active Worksheet into a New Workbook

Ví dụ, nếu bạn muốn sao chép worksheet đang chuyển động vào một workbook mới, bạn chỉ việc chạy mã macro với mã sẽ thực hiện cho bạn.

Điều này tiết kiệm không ít thời gian.

Sub CopyWorksheetToNewWorkbook()

ThisWorkbook.ActiveSheet.Copy _

Before:=Workbooks.Add.Worksheets(1)

End Sub

Active Workbook in an Email

Sử dụng mã macro này nhằm gửi active workbook của bạn bằng email một bí quyết nhanh chóng.

Bạn bao gồm thể biến đổi tên, email, văn bản trong mã với nếu bạn có nhu cầu gửi trực tiếp email này, thực hiện “.Send” thay vị “.Display”.