Excel

Thư Viện Vba Excel (2021) – Top 100 Mã Excel Vba Macros Hữu Dụng – Lingocard.vn

1649
Nội dung bài viết

    Bạn có thể sử dụng những mã code này ngay cả khi bạn chưa từng sử dụng VBA trước đây.

    Đang xem: Thư viện vba excel

    Nhưng điều đầu tiên phải biết là:

    Mã Macro là gì?

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

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

    Ví dụ, bạn có thể sử dụng một mã chỉ để in một phạm vi ô cụ thể chỉ với một cú nhấp chuột thay vì chọn theo thứ tự -> File Tab -> Print -> Print Select -> OK Button.

    Sử dụng mã Macro trong Excel

    Trước khi sử dụng những mã này, đảm bảo rằng bạn có Developer Tab trên thanh Excel để truy cập VB Editor.

    Sau khi bạn kích hoạt Developer Tab…

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

    Di chuyển đến developer tab của bạn và nhấp chọn “Visual Basic”.

    *

    Phía bên trái trên “Project Window”, nhấp chuột phải vào tên workbook của bạn và chèn vào một module mới.

    *

    Dán mã code của bạn vào trong module đó và đóng lại.

    *

    Bây giờ, di chuyển đến developer tab và nhấp chuột vào Macro.

    *

    Macro sẽ hiển thị một cửa sổ danh sách các macro có trong tệp của bạn, từ đó bạn có thể chạy các macro có trong danh sách đó.

    *

    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ơ bản trong nháy mắt mà bạn thường làm trên bảng tính.

    Add Serial Numbers (đánh số thự tự tự động)

    Code macro này sẽ giúp bạn bổ sung số serial tự động trên trang Excel.

    Sau khi bạn chạy mã macro này, màn hình sẽ hiển thị input box để bạn nhập tối đa số serial và sau đó, nó sẽ chèn các số vào cột theo thứ tự.

    Sub AddSerialNumbers()

    Dim i As Integer

    On Error GoTo Last

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

    For i = 1 To i

    ActiveCell.Value = i

    ActiveCell.Offset(1, 0).Activate

    Next i

    Last:Exit Sub

    End Sub

    Add Multiple Columns (chèn cột)

    Sau khi chạy mã macro, màn hình sẽ hiển thị một input box và bạn phải nhập số cột mà bạn muốn 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 to 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 sẽ hiển thị một input box và bạn phải nhập số hàng mà bạn muốn 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 To i

    Selection.Insert Shift:=xlToDown,

    CopyOrigin:=xlFormatFromRightorAbove

    Next j

    Last:Exit Sub

    End Sub

    Auto Fit Columns (tự động canh các cột)

    Nhanh chóng tự động khớp tất cả các hàng trong worksheet của bạn.

    Mã macro này sẽ chọn tất cả các ô trong 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ự động canh các dòng)

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

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

    Sub AutoFitRows()

    Cells.Select

    Cells.EntireRow.AutoFit

    End Sub

    Remove Text Wrap (bỏ chế độ wrap text)

    Mã code này sẽ giúp bạn xóa text wrap khỏi toàn bộ worksheet với một cái nhấp chuột. Đầu tiên nó sẽ chọn tất cả các cột và sau đó xóa text wrap và tự động khớp các hàng và 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 các ô)

    Chọn các ô 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 dữ liệu bị mất của bạn.

    Sub UnmergeCells()

    Selection.UnMerge

    End Sub

    Open Calculator (mở máy tính trên excel)

    Trong cửa sổ có một máy tính cụ thể và sử dụng mã macro này, bạn 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 ở chân trang/đầu trang)

    Sử dụng mã này để bổ sung ngày vào phần header và footer trong worksheet.

    Bạn có thể điều chỉnh mã này để đổi từ header sang footer.

    Sub dateInHeader()

    With duongleteach.comSetup

    .LeftHeader = “”

    .CenterHeader = “&D”

    .RightHeader = “”

    .LeftFooter = “”

    .CenterFooter = “”

    .RightFooter = “”

    End With

    duongleteach.com = xlNormalView

    End Sub

    Custom 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 thì đây là một mã dành cho bạn.

    Chạy mã này, nhập giá trị tùy chỉnh vào input box. Để thay đổi liên kết của header hoặc footer, bạn có thể điều chỉnh mã.

    Sub customHeader()

    Dim myText As Stringmy

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

    With duongleteach.comSetup

    .LeftHeader = “”

    .CenterHeader = myText

    .RightHeader = “”

    .LeftFooter = “”

    .CenterFooter = “”

    .RightFooter = “”

    End With

    End Sub

    Formatting Codes

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

    Highlight Duplicates from Selection (tô màu các ô cùng giá trị trong vùng được chọn)

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

    Bạn cũng 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 duongleteach.comtIf(myRange, duongleteach.come) > 1 Then

    myCell.Interior.ColorIndex = 36

    End If

    Next myCell

    End Sub

    Highlight the Active Row and Column

    Đây là những bước để thực hiện 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 bạn và nhấp đúp chuột vào tên một worksheet cụ thể mà bạn muốn kích hoạt mã macro.Dán mã vào đó và chọn “BeforeDoubleClick” từ (event drop down menu).Đóng VBE và bạn đã hoàn thành.

    Hãy lưu ý rằng, khi áp dụng mã macro này bạn sẽ không thể điều chỉnh ô bằng cách nhấp đúp chuột.

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,

    Cancel As Boolean)

    Dim strRange As String

    strRange = duongleteach.comess & “,” duongleteach.comess & “,” & _

    Target.Cells.EntireRow.Address

    Range(strRange).Select

    End Sub

    Highlight Top 10 Values

    Chỉ chọn một phạm vi và chạy mã macro này và nó sẽ làm nổi bật top 10 values với màu xanh.

    Sub TopTen()

    Selection.FormatConditions.AddTop10

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

    tFirstPriority

    With duongleteach.comatConditions(1)

    .TopBottom = xlTop10Top

    .Rank = 10

    .Percent = False

    End With

    With duongleteach.comatConditions(1).Font

    .Color = -16752384

    .TintAndShade = 0

    End With

    With duongleteach.comatConditions(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 bao nhiêu phạm vi được chỉ định trong worksheet của bạn thì bạn có thể sử dụng mã này để làm nổi bật chúng.

    Sub HighlightRanges()

    Dim RangeName As Name

    Dim HighlightRange As Range

    On Error Resume Next

    For Each RangeName In duongleteach.coms

    Set HighlightRange = duongleteach.comrsToRange

    HighlightRange.Interior.ColorIndex = 36

    Next RangeName

    End Sub

    Highlight Greater than Values

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

    Sub HighlightGreaterThanValues()

    Dim i As Integer

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

    Selection.FormatConditions.Delete

    duongleteach.com Type:=xlCellValue,

    Operator:=xlGreater, Formula1:=i

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

    tFirstPriority

    With duongleteach.comatConditions(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ó sẽ yêu cầu giá trị mà bạn muốn làm nổi bật các giá trị thấp hơn.

    Sub HighlightLowerThanValues()

    Dim i As Integer

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

    Selection.FormatConditions.Delete

    duongleteach.com Type:=xlCellValue,

    Operator:=xlLower, Formula1:=i

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

    tFirstPriority

    With duongleteach.comatConditions(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à chạy mã này. Nó sẽ kiểm tra mỗi ô trong phạm vi này và làm nổi bật tất cả các ô có (negative numbers).

    Sub highlightNegativeNumbers()

    Dim Rng As Range

    For Each Rng In Selection

    If duongleteach.commber(Rng) Then

    If duongleteach.com

    Rng.Font.Color= -16776961

    End If

    End If

    Next

    End Sub

    Highlight Specific Text

    Giả sử bạn có một tệp dữ liệu lớn và bạn muốn kiểm tra một giá trị cụ thể. Trong trường hợp này, bạn có thể sử dụng mã này. Khi bạn chạy nó, màn hình sẽ hiện input box để 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 duongleteach.comt> 1 Then

    myTxt= duongleteach.comessLocal

    Else

    myTxt= duongleteach.comessLocal

    End If

    LInput: Set myRg= duongleteach.comtBox(“please select the data

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

    If myRg Is Nothing Then

    Exit Sub

    If duongleteach.com > 1 Then

    MsgBox”not support multiple columns” GoToLInput

    End If

    If duongleteach.com 2 Then

    MsgBox”the selected range can only contain two columns “

    GoTo LInput

    End If

    For I = 0 To duongleteach.comt-1

    myStr= duongleteach.come(“B1”).Offset(I, 0).Value

    With duongleteach.come(“A1”).Offset(I, 0)

    .Font.ColorIndex= 1

    For J = 1 To 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 nổi bật tất cả các ô với việc sử dụng comments macro này.

    Sub highlightCommentCells()

    Selection.SpecialCells(xlCellTypeComments).Select

    Selection.Style= “Note”

    End Sub

    Highlight Alternate Rows in the Selection

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

    Sub highlightAlternateRows()

    Dim rng As Range

    For Each rng In duongleteach.com

    If duongleteach.comod 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 gặp khó khăn trong việc kiểm tra tất cả các hàng về lỗi chính tả thì đây là một mã dành cho bạn. Mã sẽ kiểm tra mỗi ô được chọn và làm nổi bật ô đó khi có lỗi chính tả.

    Sub HighlightMisspelledCells()

    Dim rng As Range

    For Each rng In duongleteach.comRange

    If Not duongleteach.comkSpelling(word:=rng.Text) Then

    rng.Style= “Bad” End If

    Next rng

    End Sub

    Highlight Cells With Error in the Entire Worksheet

    Mã này sẽ giúp bạn làm nổi bật và đếm tất cả các ô có 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 và làm nổi bật tất cả các ô đó.

    Sub highlightErrors()

    Dim rng As Range

    Dim i As Integer

    For Each rng In duongleteach.comRange

    If duongleteach.comror(rng) Then

    i = i + 1 duongleteach.com = “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 các ô có giá trị cụ thể mà bạn sẽ đề cập và sau đó, mã sẽ làm nổi bật tất cả các ô đó.

    Xem thêm: Cách Bỏ Mật Khẩu Máy Tính Win 8, Hướng Dẫn Gỡ Bỏ Mật Khẩu Trên Win 8

    Sub highlightSpecificValues()

    Dim rng As Range

    Dim i As Integer

    Dim c As Variant

    c = InputBox(“Enter Value To Highlight”)

    For Each rng In duongleteach.comRange

    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 có những ô trống nhưng chúng có một khoảng trống duy nhất và vì vậy, sẽ rất khó để nhận biết chúng. Mã này sẽ giúp bạn kiểm tra tất cả các ô trong worksheet và làm nổi bật các ô có khoảng trống nhất định.

    Sub blankWithSpace()

    Dim rng As Range

    For Each rng In duongleteach.comRange

    If duongleteach.com = ” ” Then

    rng.Style = “Note”

    End If

    Next rng

    End Sub

    Highlight Max Value In The Range

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

    Sub highlightMaxValue()

    Dim rng As Range

    For Each rng In Selection

    If rng = duongleteach.com(Selection) Then

    rng.Style = “Good”

    End If

    Next rng

    End Sub

    Highlight Min Value In The Range

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

    Sub highlightMinValue()

    Dim rng As Range

    For Each rng In Selection

    If rng = duongleteach.com(Selection) Then

    rng.Style = “Good”

    End If

    Next rng

    End Sub

    Highlight Unique Values

    Các mã này sẽ làm nổi bật tất cả các ô được 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 = duongleteach.comniqueValues

    uv.DupeUnique = xlUnique

    uv.Interior.Color = vbGreen

    End Sub

    Highlight Difference in Columns

    Sử dụng mã này bạn có thể làm nổi bật sự khác biệt 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 bạn có thể làm nổi bật sự khác nhau giữa 2 hàng (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 sẽ giúp bạn tự động in một số công việc mà có thể tiết kiệm rất nhiều thời gian.

    Print Comments

    Sử dụng mã macro này kích hoạt cài đặt để in (cell comments) ở cuối trang. Ví dụ bạn phải in 10 trang, sau khi sử dụng mã này bạn sẽ nhận được tất cả comments ở trang cuối cùng thứ 11.

    Sub printComments()

    With duongleteach.comSetup

    .printComments= xlPrintSheetEnd

    End With

    End Sub

    Print Narrow Margin

    Sử dụng mã VBA này để in giấy có lề hẹp. Khi bạn chạy mã macro này, mã sẽ tự động thay đổi lề thành hẹp.

    Sub printNarrowMargin()

    With duongleteach.comSetup

    .LeftMargin= Application

    .InchesToPoints(0.25)

    .RightMargin= duongleteach.comesToPoints(0.25)

    .TopMargin= duongleteach.comesToPoints(0.75)

    .BottomMargin= duongleteach.comesToPoints(0.75)

    .HeaderMargin= duongleteach.comesToPoints(0.3)

    .FooterMargin= duongleteach.comesToPoints(0.3)

    End With

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

    IgnorePrintAreas:=False

    End Sub

    Print Selection

    Mã này sẽ giúp bạn in phạm vi được chọn. Bạn không cần phải di chuyển đến mục printing options và cài đặt phạm vi in. bạn chỉ việc chọn một phạm vi và chạy mã này.

    Sub printSelection()

    Selection.PrintOutCopies:=1, Collate:=True

    End Sub

    Print Custom Pages

    Thay vì sử dụng cài đặt từ print options, bạn có thể sử dụng mã này để in phạm vi trang điều chỉnh.

    Ví dụ bạn muốn từ trang 5 đế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 Integer

    Dim endpageAs Integer

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

    Value”)

    If Not duongleteach.commber(startpage) Then

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

    Exit Sub

    End If

    endpage= InputBox(“Please Enter End Page number.”, “Enter

    Value”)

    If Not duongleteach.commber(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 và quản lý worksheets theo một cách đơn giản và tiết kiệm rất nhiều thời gian.

    Hide all but the Active Worksheet

    Ví dụ bạn muốn ẩn tất cả các worksheets trong workbook của bạn ngoài worksheet đang hoạt động. Mã macro này sẽ giúp bạn làm điều này.

    Sub HideWorksheet()

    Dim ws As Worksheet

    For Each ws In duongleteach.comsheets

    If ws.Name duongleteach.com Then

    ws.Visible = xlSheetHidden

    End If

    Next ws

    End Sub

    Unhide all Hidden Worksheets

    Mã này dành cho việc nếu bạn muốn hiển thị tất cả các worksheets mà bạn đã ẩn trong mà trước.

    Sub UnhideAllWorksheet()

    Dim ws As Worksheet

    For Each ws In duongleteach.comsheets

    ws.Visible = xlSheetVisible

    Next ws

    End Sub

    Delete all but the Active Worksheet

    Mã này rất hữu ích cho bạn nếu bạn muốn xóa tất cả các worksheet ngoại trừ sheet đang hoạt động.

    Khi bạn chạy mã này, mã sẽ so sánh tên workwheet đang hoạt động với các worksheet khác và sau đó xóa chúng.

    Sub DeleteWorksheets()

    Dim ws As Worksheet

    For Each ws In duongleteach.comsheets

    If ws.name duongleteach.com 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 bạn 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 khi nhập password, click OK. And make sure to take care about CAPS.

    Sub ProtectAllWorskeets()

    Dim ws As Worksheet

    Dim ps As String

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

    For Each ws In duongleteach.comsheets

    ws.Protect Password:=ps

    Next ws

    End Sub

    Resize All Charts in a Worksheet.

    Tạo các chart 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 có chung kích cỡ. Bạn có thể thay đổi chiều cao và chiều rộng của chart bằng cách thay đổi nó trong mã macro.

    Sub Resize_Charts()

    Dim i As Integer

    For i = 1 To duongleteach.comt

    With duongleteach.comtObjects(i)

    .Width = 300

    .Height = 200

    End With

    Next i

    End Sub

    Insert Multiple Worksheets

    Bạn có thể sử dụng mã này nếu bạn muốn thêm nhiều worksheet trong workbook của bạn chỉ trong một bước.

    Khi bạn chạy mã macro này, bạn sẽ nhận được input box để nhập tổng số sheet mà bạn muốn nhập.

    Sub InsertMultipleSheets()

    Dim i As Integer

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

    Multiple Sheets”)

    duongleteach.com After:=ActiveSheet, Count:=i

    End Sub

    Protect worksheet

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

    Bạn chỉ cần nhập password của bạn 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à macro này.

    Bạn chỉ cần nhập password mà bạn đã sử dụng khi protect worksheet của bạn.

    Sub UnprotectWS()

    ActiveSheet.Unprotect “mypassword”

    End Sub

    Sort Worksheets

    Mã này sẽ giúp bạn sắp xếp worksheets trong workbook dựa 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 duongleteach.comt

    For j = 1 To duongleteach.com – 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 có thể sử dụng mã này để protect cell with formula chỉ với 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ã sẽ kiểm tra tất cả các worksheets trong workbook đang hoạt động và xóa chúng nếu có 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 duongleteach.comsheets

    If duongleteach.comtA(Ws.UsedRange) = 0 Then

    Ws.Delete

    End If

    Next

    Application.ScreenUpdating= True

    Application.DisplayAlerts= True

    End Sub

    Unhide all Rows and Columns

    Thay vì hiển thị từng hàng và cột một cách thủ công, bạn có thể sử dụng mã này để thực hiện 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ỉ đơn giản lưu tất cả worksheet vào một tệp PDF riêng. Bạn chỉ cần thay đổi tên tệp từ mã này.

    Sub SaveWorkshetAsPDF()

    Dimws As Worksheet

    For Each ws In duongleteach.comrtAsFixedFormat xlTypePDF,

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

    End Sub

    Disable Page Breaks

    Bạn có thể sử dụng mã này để vô hiệu hóa ngắt trang. Mã đơn giản chỉ vô hiệu 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 duongleteach.combooks

    For Each ShtIn duongleteach.comlayPageBreaks= False

    Next Sht

    Next wb

    Application.ScreenUpdating= True

    End Sub

    Workbook Codes

    Những mã này sẽ giúp bạn thực hiện các công việc workbook một cách đơn giản và không phải tốn nhiều công sức.

    Create a Backup of a Current Workbook

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

    Mã sẽ lưu một tệp hỗ trợ trực tiếp với tệp hiện tại được lưu và mã cũng sẽ bổ sung ngày và tên của tệp.

    Sub FileBackUp()

    ThisWorkbook.SaveCopyAs Filename:=duongleteach.com & _

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

    ThisWorkbook.name

    End Sub

    Close all Workbooks at Once

    Bạn sử dụng mã này để đóng tất cả các workbook đang mở.

    Đầu tiên, mã sẽ kiểm tra từng workbook một và đóng chúng lại. Nếu có bất kỳ worksheet nào chưa đượ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 hoạt động vào một workbook mới, bạn chỉ cần chạy mã macro và mã sẽ thực hiện cho bạn.

    Điều này tiết kiệm rất nhiều thời gian.

    Sub CopyWorksheetToNewWorkbook()

    duongleteach.com _

    Before:=Workbooks.Add.Worksheets(1)

    End Sub

    Active Workbook in an Email

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

    Xem thêm: Cách Tính Thở Oxy Chỉ Định 1, Thở Oxy Qua Mặt Nạ Trong Hồi Sức Cấp Cứu

    Bạn có thể thay đổi tên, email, nội dung trong mã và nếu bạn muốn gửi trực tiếp email này, sử dụng “.Send” thay vì “.Display”.

    0 ( 0 bình chọn )

    Dương Lê

    https://duongleteach.com
    Chuyên review khóa học online tốt nhất hiện nay. Chia sẻ kinh nghiệm học online

    Kết nối với chúng tôi

    Sự kiện nổi bật

    Thứ 5

    27/04/2021 00:00

    Mã miễn phí vận chuyển 5.5 Shopee

    Tại địa điểm

    Duongleteach.com

    Chủ đề