Bảng đối tượng excel vba

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ờ, hãy chuyển đến tab nhà phát triển 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 đó

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

  1. Add Serial Numbers [đánh số tự động]

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

Sau khi bạn chạy mã macro này, màn hình sẽ hiển thị hộp nhập liệu để bạn nhập số sê-ri tối đa 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

  1. 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

  1. 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. Toàn bộ hàng. Lựa chọn

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

kết thúc phụ

  1. Auto Fit Columns [tự động canh các cột]

Nhanh chóng tự khớp tất cả các hàng trong bảng tính của bạn

Mã macro này sẽ chọn tất cả các ô trong trang tính và tự động khớp ngay lập tức các cột

Sub AutoFitColumns[]

tế bào. Lựa chọn

tế bào. Toàn bộ cột. Tự động điều chỉnh

End Sub

  1. Auto Fit Rows [tự động canh các dòng]

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

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[]

tế bào. Lựa chọn

tế bào. Toàn bộ hàng. Tự động điều chỉnh

End Sub

  1. Remove Text Wrap [bỏ chế độ ngắt dòng văn bản]

Đoạn mã này sẽ giúp bạn xóa dòng văn bản khỏi toàn bộ bảng tính bằng một cú nhấp chuột. Đầu tiên nó sẽ chọn tất cả các cột và sau đó xóa dòng văn bản và tự động khớp các hàng và cột

Sub RemoveWrapText[]

tế bào. Lựa chọn

Lựa chọn. WrapText = Sai

tế bào. Toàn bộ hàng. Tự động điều chỉnh

tế bào. Toàn bộ cột. Tự động điều chỉnh

End Sub

  1. Bỏ hợp nhất các ô [không kết nối được các ô]

Chọn các ô và chạy mã này, nó sẽ không tìm hiểu tất cả các ô vừa chọn với dữ liệu bị mất của bạn.                                             

Sub Unmerge Cells[]

Lựa chọn. Hủy hợp nhất

End Sub

  1. Open Calculator [mở máy tính trên excel]

Trong cửa sổ có công cụ máy tính và sử dụng mã macro này, bạn có thể mở máy tính trực tiếp từ Excel để tính toán

Sub OpenCalculator[]

Đăng kí. Kích hoạt MicrosoftApp Index. =0

End Sub

  1. Add Header/Footer Date [thêm ngày ở chân trang/đầu trang]

Sử dụng mã này để thêm ngày vào phần đầu trang và chân trang trong trang tính

Bạn có thể điều chỉnh mã này để thay đổi từ đầu trang sang chân trang

Ngày phụInHeader[]

Với ActiveSheet. Thiết lập trang

Tiêu đề bên trái = ""

Tiêu đề trung tâm = "&D"

Tiêu đề bên phải = ""

Chân trái = ""

CenterFooter = ""

Chân phải = ""

Kết thúc với

Cửa sổ hoạt động. Chế độ xem = xlNormalView

End Sub

  1. Custom Header/Footer [chèn đầu trang/chân trang theo ý bạn]

Nếu bạn muốn tùy chỉnh tùy chỉnh chèn tiêu đề 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 hộp nhập liệu. Để thay đổi liên kết của đầu trang hoặc chân trang, bạn có thể điều chỉnh mã

Tiêu đề tùy chỉnh phụ []

Dim myText dưới dạng Stringmy

Text = InputBox["Nhập văn bản của bạn tại đây", "Nhập văn bản"]

Với ActiveSheet. Thiết lập trang

Tiêu đề bên trái = ""

Tiêu đề trung tâm = myText

Tiêu đề bên phải = ""

Chân trái = ""

CenterFooter = ""

Chân phải = ""

Kết thúc với

kết thúc phụ

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ể

  1. Đánh dấu các bản sao từ lựa chọn [tô màu các ô cùng giá trị trong vùng được chọn]

Mã macro này sẽ kiểm tra từng ô 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

Đánh dấu phụ Giá trị trùng lặp[]

Dim myRange As Range

Dim myCell As Range

Đặt myRange = Lựa chọn

Đối với mỗi myCell trong phạm vi của tôi

If WorksheetFunction. CountIf[myRange, myCell. Giá trị] > 1 Thì

di động của tôi. Nội địa. Chỉ số màu = 36

End If

Tiếp theo myCell

End Sub

  1. Đánh dấu hàng và cột hiện hoạt

Đây là những bước để thực hiện mã này một cách nhanh chóng

  1. Open VBE [ALT + F11]
  2. Di chuyển đến Project Explorer [Crtl + R, If hidden]
  3. Chọn sổ làm việc của bạn và nhấp hai lần chuột vào tên một trang tính cụ thể mà bạn muốn kích hoạt mã macro
  4. Dán mã vào đó và chọn “ BeforeDoubleClick ” từ [menu thả xuống sự kiện]
  5. Đóng VBE và bạn đã hoàn thành

Xin 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 hai chuột

Private Sub Worksheet_ BeforeDoubleClick[ByVal Target As Range,

Hủy dưới dạng Boolean]

Dim strRange dưới dạng chuỗi

strRange = Target. tế bào. Địa chỉ & "," Mục tiêu. Cells. Toàn bộ cột. Địa chỉ nhà & "," & _

Mục tiêu. Cells. Toàn bộ hàng. Địa chỉ nhà

Range[strRange]. Select

End Sub

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 Selection. FormatConditions[1]

TopBottom = xlTop10Top

Rank = 10

Percent = False

Kết thúc với

With Selection. FormatConditions[1]. Font

Color = -16752384

TintAndShade = 0

Kết thúc với

With Selection. FormatConditions[1]. Interior

PatternColorIndex = xlAutomatic

Color = 13561798

TintAndShade = 0

Kết thúc với

Selection. FormatConditions[1]. StopIfTrue = False

End Sub

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[]

Phạm vi mờTên Như tên

Dim HighlightRange As Range

Khi gặp lỗi Tiếp tục Tiếp theo

Đối với mỗi RangeName trong ActiveWorkbook. tên

Đặt HighlightRange = RangeName. Phạm vi giới thiệu

Phạm vi nổi bật. Nội địa. Chỉ số màu = 36

Phạm vi tiếp theo Tên

End Sub

  1. Làm nổi bật giá trị lớn hơn giá trị

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

Điểm nổi bật phụGreaterThanValues[]

Dim i As Integer

i = InputBox["Nhập giá trị lớn hơn", "Nhập giá trị"]

Lựa chọn. điều kiện định dạng. Xóa bỏ

Lựa chọn. điều kiện định dạng. thêm loại. =xlCellValue,

Nhà điều hành. =xlLớn hơn, Công thức1. = tôi

Selection. FormatConditions[Selection. FormatConditions. Count]. S

tFirstPriority

With Selection. FormatConditions[1]

Nét chữ. Màu = RGB[0, 0, 0]

Nội địa. Màu = RGB[31, 218, 154]

Kết thúc với

End Sub

  1. Đánh dấu thấp hơn giá trị

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

Điểm nổi bật phụLowerThanValues[]

Dim i As Integer

i = InputBox["Nhập giá trị thấp hơn", "Nhập giá trị"]

Lựa chọn. điều kiện định dạng. Xóa bỏ

Lựa chọn. điều kiện định dạng. thêm loại. =xlCellValue,

Nhà điều hành. =xlLower, Formula1. = tôi

Selection. FormatConditions[Selection. FormatConditions. Count]. S

tFirstPriority

With Selection. FormatConditions[1]

Nét chữ. Màu = RGB[0, 0, 0]

Nội địa. Màu = RGB[217, 83, 79]

Kết thúc với

End Sub

  1. Đánh dấu số âm

Select an pham vi cac ô va run this code. Nó sẽ kiểm tra từng ô trong phạm vi này và làm nổi bật tất cả các ô có [số âm]

Điểm nổi bật phụNegativeNumbers[]

Dim Rng As Range

Cho Mỗi Rng Trong Lựa Chọn

Nếu WorksheetFunction. IsNumber[Rng] Sau đó

Nếu Rng. Giá trị < 0 Thì

Rng. Nét chữ. Màu = -16776961

End If

End If

Tiếp theo

End Sub

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 thị hộp nhập liệu để bạn nhập giá trị muốn tìm kiếm

Điểm nổi bật phụValue[]

Làm mờ myStr dưới dạng chuỗi

Làm mờ myRg theo phạm vi

Làm mờ myTxt dưới dạng chuỗi

Dim myCell As Range

Làm mờ myChar dưới dạng chuỗi

Dim I As Long

Dim J As Long

Khi gặp lỗi Tiếp tục Tiếp theo

Nếu ActiveWindow. Phạm viLựa chọn. Đếm > 1 Thì

myTxt= ActiveWindow. Phạm viLựa chọn. Địa chỉCục bộ

Khác

myTxt= ActiveSheet. Phạm vi đã sử dụng. Địa chỉCục bộ

End If

đầu vào. Đặt ứng dụng myRg=. InputBox["vui lòng chọn dữ liệu

phạm vi. ", "Yêu cầu lựa chọn", myTxt, , , , , 8]

Nếu myRg không có gì thì

Thoát phụ

Nếu myRg. Khu vực. Đếm > 1 Thì

MsgBox"không hỗ trợ nhiều cột" GoToLInput

End If

Nếu myRg. Cột. Đếm 2 Rồi

MsgBox"phạm vi đã chọn chỉ có thể chứa hai cột"

GoTo LInput

End If

Vì tôi = 0 Đến myRg. hàng. Đếm-1

myStr= myRg. Phạm vi ["B1"]. Độ lệch [I, 0]. Giá trị

Với myRg. Phạm vi ["A1"]. Độ lệch [I, 0]

Nét chữ. Chỉ số màu = 1

Với J = 1 Tới Len[. Chữ]

trung bình [. Văn bản, J, Len[myStr]] = myStrThen

Nhân vật[J, Len[myStr]]. Nét chữ. Chỉ số màu = 3

Tiếp theo

Kết thúc với

tiếp theo tôi

End Sub

  1. Đánh dấu các ô có nhận xét

Để làm nổi bật tất cả các ô với việc sử dụng comments macro này

Điểm nổi bật phụCommentCells[]

Lựa chọn. Ô đặc biệt[xlCellTypeComments]. Lựa chọn

Lựa chọn. Kiểu = "Ghi chú"

End Sub

  1. Làm nổi bật các hàng thay thế trong vùng chọn

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

Điểm nổi bật phụAlternateRows[]

Dim rng As Range

Đối với mỗi rng trong lựa chọn. hàng

nếu rng. RowMod 2 = 1 Sau đó

rng. Phong cách = "20% -Accent1"

rng. Giá trị= rng^ [1 / 3]

Khác

End If

vòng tiếp theo

End Sub

  1. Đánh dấu các ô có từ sai chính tả

Nếu bạn gặp khó khăn khi kiểm tra tất cả các hàng về lỗi mô tả chính xác thì đây là mã dành cho bạn. Mã sẽ kiểm tra từng ô được chọn và làm nổi bật ô đó khi có lỗi mô tả chính xác

Điểm nổi bật phụMispelledCells[]

Dim rng As Range

Đối với mỗi rng trong ActiveSheet. Phạm vi đã sử dụng

Nếu không ứng dụng. Kiểm tra Chính tả [từ. =rng. Văn bản] Sau đó

rng. Style= "Xấu" Kết thúc Nếu

vòng tiếp theo

End Sub

  1. Đánh dấu các ô có lỗi trong toàn bộ trang tính

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ỉ công 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

Đối với mỗi rng trong ActiveSheet. Phạm vi đã sử dụng

Nếu WorksheetFunction. IsError[rng] Sau đó

i = i + 1 rng. Phong cách = "xấu"

End If

vòng tiếp theo

MsgBox "Có tổng số " & i & " lỗi trong trang tính này. "

End Sub

  1. Đánh dấu các ô có văn bản cụ thể trong trang tính

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 ô đó

Điểm nổi bật phụSpecificValues[]

Dim rng As Range

Dim i As Integer

Dim c dưới dạng biến thể

c = InputBox["Nhập Giá Trị Để Đánh Dấu"]

Đối với mỗi rng trong ActiveSheet. Phạm vi đã sử dụng

Nếu rng = c Thì

rng. Phong cách = "Ghi chú"

tôi = tôi + 1

End If

vòng tiếp theo

MsgBox "Có tổng số " & i &" "& c & " trong trang tính này. "

End Sub

  1. Đánh dấu tất cả các ô trống Không gian vô hình

Đô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 trang tính và làm nổi bật các ô có khoảng trống nhất định

Phụ trốngWithSpace[]

Dim rng As Range

Đối với mỗi rng trong ActiveSheet. Phạm vi đã sử dụng

nếu rng. Value = " " Then

rng. Phong cách = "Ghi chú"

End If

vòng tiếp theo

End Sub

  1. 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 = WorksheetFunction. Max[Selection] Then

rng. Style = "Good"

End If

vòng tiếp theo

End Sub

  1. 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 = WorksheetFunction. Min[Selection] Then

rng. Style = "Good"

End If

vòng tiếp theo

End Sub

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 = rng. FormatConditions. AddUniqueValues

uv. DupeUnique = xlUnique

uv. Interior. Color = vbGreen

End Sub

  1. 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

  1. Làm nổi bật sự khác biệt trong hàng

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]

Hàng conDifference[]

Range["H7. H8,I7. I8"]. Select

Lựa chọn. RowDifferences[ActiveCell]. Lựa chọn

Selection. Style= "Bad"

End Sub

Những mã macro này sẽ giúp bạn tự động trong một số công việc mà có thể tiết kiệm điện rất nhiều thời gian

Sử dụng mã macro này để kích hoạt cài đặt trong [ô nhận xét] ở cuối trang. Ví dụ: bạn phải ở trong 10 trang, sau khi sử dụng mã này, bạn sẽ nhận được tất cả các nhận xét ở trang cuối cùng thứ 11

Bản in phụNhận xét []

Với ActiveSheet. Thiết lập trang

printComments= xlPrintSheetEnd

Kết thúc với

End Sub

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 bên cạnh thành

Bản in phụNarrowMargin[]

Với ActiveSheet. Thiết lập trang

LeftMargin= Ứng dụng

InchToPoints[0. 25]

RightMargin= Ứng dụng. InchToPoints[0. 25]

TopMargin= Ứng dụng. InchesToPoints[0. 75]

Ký quỹ dưới = Ứng dụng. InchToPoints[0. 75]

HeaderMargin= Ứng dụng. InchToPoints[0. 3]

FooterMargin= Ứng dụng. InchToPoints[0. 3]

Kết thúc với

Cửa sổ hoạt động. Trang tính đã chọn. In RaBản Sao. =1, đối chiếu. = Đúng,

Bỏ qua khu vực in. =Sai

End Sub

Mã này sẽ giúp bạn trong phạm vi được chọn. Bạn không cần phải chuyển đến mục tùy chọn in và cài đặt phạm vi trong. you only select a range and run this code

Sub printSelection[]

Lựa chọn. In RaBản Sao. =1, đối chiếu. = Đúng

End Sub

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

Ví dụ bạn muốn từ trang 5 đến trang 10. Bạn chỉ cần chạy mã VBA này và nhập trang bắt đầu và trang kết thúc

In phụCustomSelection[]

Dim startpageAs Integer

Dim endpageLà số nguyên

startpage= InputBox["Vui lòng nhập số trang bắt đầu. ", "Đi vào

Giá trị"]

Nếu không phải WorksheetFunction. IsNumber [trang bắt đầu] Sau đó

MsgBox"Số trang bắt đầu không hợp lệ. Vui lòng thử lại. ", "Lỗi"

Thoát phụ

End If

endpage= InputBox["Vui lòng nhập số trang cuối. ", "Đi vào

Giá trị"]

Nếu không phải WorksheetFunction. IsNumber [trang cuối] Sau đó

MsgBox"Số trang kết thúc không hợp lệ. Vui lòng thử lại. ", "Lỗi"

Thoát phụ

End If

Lựa chọn. In raTừ. = trang bắt đầu, Đến. =trang cuối, Bản sao. =1,

đối chiếu. = Đúng

End Sub

Những mã macro này sẽ giúp bạn kiểm soát và quản lý bảng tính theo một cách đơn giản và tiết kiệm điện rất nhiều thời gian

  1. Ẩn tất cả trừ Active Worksheet

Ví dụ bạn muốn ẩn tất cả các trang tính trong sổ làm việc của bạn bên ngoài trang tính đang hoạt động. Mã macro này sẽ giúp bạn thực hiện điều này

Sub HideWorksheet[]

Dim ws As Worksheet

For Each ws In ThisWorkbook. bảng tính

nếu ws. Tên ThisWorkbook. Bảng hoạt động. tên rồi

ws. Hiển thị = xlSheetHidden

End If

tiếp theo

End Sub

  1. Bỏ ẩn tất cả các Worksheet ẩn

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

Sub UnhideAllWorksheet[]

Dim ws As Worksheet

Đối với mỗi ws trong ActiveWorkbook. bảng tính

ws. Hiển thị = xlSheetVisible

tiếp theo

End Sub

  1. Xóa tất cả trừ 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 trang tính ngoại trừ trang tính đang hoạt động

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

Sub DeleteWorksheets[]

Dim ws As Worksheet

For Each ws In ThisWorkbook. bảng tính

nếu ws. name ThisWorkbook. Bảng hoạt động. tên Rồi

Đăng kí. Cảnh báo hiển thị = Sai

ws. Xóa bỏ

Đăng kí. Cảnh báo hiển thị = Đúng

End If

tiếp theo

End Sub

  1. Bảo vệ tất cả các Worksheet ngay lập tức

Đây là mã dành cho bạn nếu bạn muốn bảo vệ các trang tính chỉ trong một lần

Khi chạy mã macro này, bạn sẽ nhận được một hộp nhập liệu để nhập mật khẩu. Sau khi nhập mật khẩu, bấm OK. Và đảm bảo quan tâm đến CAPS

Phụ ProtectAllWorskeets[]

Dim ws As Worksheet

Dim ps dưới dạng chuỗi

ps = InputBox["Nhập mật khẩu. ", vbOKHủy]

Đối với mỗi ws trong ActiveWorkbook. bảng tính

ws. bảo vệ mật khẩu. = ps

tiếp theo

End Sub

  1. Thay đổi kích thước tất cả các biểu đồ trong một trang tính

Create the chart with same size. macro code này sẽ giúp bạn tạo tất cả các biểu đồ có kích thước chung. Bạn có thể thay đổi chiều cao và chiều rộng của biểu đồ bằng cách thay đổi nó trong mã macro

Thay đổi kích thước phụ_Charts[]

Dim i As Integer

Đối với i = 1 Đến ActiveSheet. đối tượng biểu đồ. Đếm

Với ActiveSheet. ChartObjects[i]

Chiều rộng = 300

Chiều cao = 200

Kết thúc với

tiếp theo tôi

End Sub

  1. Chèn nhiều trang tính

Bạn có thể sử dụng mã này nếu bạn chỉ muốn thêm nhiều trang tính vào sổ làm việc của mình 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["Nhập số tờ cần chèn. ", "Đi vào

Nhiều trang tính"]

trang tính. Thêm vào sau. =ActiveSheet, Đếm. = tôi

End Sub

Nếu bạn muốn bảo vệ trang tính, bạn có thể sử dụng mã này

You only enter your password in the code

Phụ ProtectWS[]

Bảng hoạt động. Bảo vệ "mypassword", True, True

End Sub

Nếu bạn không muốn bảo vệ trang tính, bạn có thể sử dụng macro này

Bạn chỉ cần nhập mật khẩu mà bạn đã sử dụng khi bảo vệ trang tính của bạn

Phụ UnprotectWS[]

Bảng hoạt động. Bỏ bảo vệ "mật khẩu của tôi"

End Sub

Mã này sẽ giúp bạn sắp xếp các trang tính trong sổ làm việc dựa trên tên của trang tính

Sub SortWorksheets[]

Dim i As Integer

Dim j As Integer

Làm mờ iAnswer dưới dạng VbMsgBoxResult

iAnswer = MsgBox["Sắp xếp trang tính theo thứ tự tăng dần?" & Chr[10] _

& "Nhấp vào Không sẽ sắp xếp theo thứ tự giảm dần", _

vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sắp xếp

bảng tính"]

Với i = 1 Đến Trang tính. Đếm

Với j = 1 Đến Trang tính. Đếm - 1

Nếu iAnswer = vbYes thì

Nếu UCase$[Tờ[j]. Tên] > UCase$[Trang tính[j + 1]. Tên] Sau đó

Tờ[j]. di chuyển sau. =Trang tính[j + 1]

End If

ElseIf iAnswer = vbNo Then

Nếu UCase$[Tờ[j]. Tên] < UCase$[Trang tính[j + 1]. Tên] Sau đó

Tờ[j]. di chuyển sau. =Trang tính[j + 1]

End If

End If

Next j

tiếp theo tôi

kết thúc phụ

  1. Bảo vệ tất cả các ô có công thức

Bạn có thể sử dụng mã này để bảo vệ ô có công thức chỉ bằng một cú nhấp chuột

Khóa phụCellsWithFormulas[]

Với ActiveSheet

Bỏ bảo vệ

tế bào. Đã khóa = Sai

tế bào. SpecialCells[xlCellTypeFormulas]. Đã khóa = Đúng

Bảo vệ AllowDeletingRows. = Đúng

Kết thúc với

End Sub

  1. Xóa tất cả các Worksheet trống

Chạy mã này và mã sẽ kiểm tra tất cả các trang tính trong sổ làm việc đang hoạt động và xóa chúng nếu có một trang tính trống

Xóa phụBlankWorksheets[]

Dim Ws As Worksheet

Khi gặp lỗi Tiếp tục Tiếp theo

Đăng kí. Đang cập nhật màn hình = Sai

Đăng kí. Cảnh báo hiển thị = Sai

Cho Mỗi Ws Trong Ứng Dụng. bảng tính

Nếu ứng dụng. Bảng TínhChức Năng. ĐếmA[Ws. usedRange] = 0 Sau đó

Ws. Xóa bỏ

End If

Tiếp theo

Đăng kí. Đang cập nhật màn hình = Đúng

Đăng kí. Cảnh báo hiển thị = Đúng

End Sub

  1. Bỏ ẩn tất cả các hàng và cột

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[]

Cột. Toàn bộ cột. Ẩn = Sai

hàng. Toàn bộ hàng. Ẩn = Sai

End Sub

  1. Lưu từng trang tính dưới dạng một tệp PDF

mã này chỉ đơn giản là lưu tất cả trang tính vào một tệp PDF riêng. Bạn chỉ cần thay đổi tên tệp từ mã này

Phụ SaveWorkshetAsPDF[]

Dimws dưới dạng bảng tính

Đối với mỗi ws trong Worksheetsws. ExportAsFixedFormat xlTypePDF,

“NHẬP-THƯ MỤC-TÊN-ĐÂY" & ws. Tên & ". pdf" Nextws

End Sub

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ừ sổ làm việc đang mở

Sub DisablePageBreaks[]

Sổ làm việc Dim wbAs

Trang tính Dim wksAs

Đăng kí. Đang cập nhật màn hình = Sai

Đối với mỗi ứng dụng wbIn. sách bài tập

Cho Mỗi ShtIn wb. Bảng tínhSht. DisplayPageBreaks = Sai

Sht tiếp theo

wb tiếp theo

Đăng kí. Đang cập nhật màn hình = Đúng

kết thúc phụ

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

  1. Tạo bản sao lưu của sổ làm việc hiện tại

Đây là một trong những mã macro hữu ích nhất có thể giúp bạn lưu tệp hỗ trợ cho sổ làm việc 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[]

Sổ làm việc này. SaveCopyAs Tên tập tin. =ThisWorkbook. Đường dẫn & _

"" & Định dạng[Ngày, "mm-dd-yy"] & " " & _

ThisWorkbook. Tên

End Sub

  1. Đóng tất cả Workbook cùng một lúc

Bạn sử dụng mã này để đóng tất cả các sổ làm việc đang mở

Đầu tiên, mã sẽ kiểm tra từng sổ làm việc và đóng chúng lại. Nếu có bất kỳ trang tính nào chưa được lưu, bạn sẽ nhận được thông báo để lưu

Sub CloseAllWorkbooks[]

Làm mờ wbs dưới dạng sổ làm việc

Đối với mỗi wbs trong sổ làm việc

wbs. Đóng LưuThay đổi. = Đúng

wb tiếp theo

End Sub

  1. Sao chép Worksheet đang hoạt động vào một Workbook mới

Ví dụ, nếu bạn muốn sao chép trang tính đang hoạt động vào một sổ làm việc 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

Bản sao phụWorksheetToNewWorkbook[]

Sổ làm việc này. Bảng hoạt động. Sao chép _

Trước. =Sách bài tập. cộng. Bảng tính[1]

End Sub

  1. Sổ làm việc hiện hoạt trong email

Sử dụng mã macro này để gửi sổ làm việc đang hoạt động của bạn qua email một cách nhanh chóng

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

Gửi phụ Send_Mail[]

Dim OutApp làm đối tượng

Dim OutMail làm đối tượng

Đặt OutApp = CreateObject["Outlook. Đăng kí"]

Đặt OutMail = OutApp. TạoItem[0]

Với OutMail

đến = "Bán hàng @ FrontLinePaper. com"

Chủ đề = "Báo cáo tăng trưởng"

Body = "Xin chào nhóm, Vui lòng xem Báo cáo tăng trưởng đính kèm. "

tệp đính kèm. Thêm ActiveWorkbook. Họ và tên

trưng bày

Kết thúc với

Đặt OutMail = Không có gì

Set OutApp = Không có gì

End Sub

  1. Thêm Sổ làm việc vào Tệp đính kèm Thư

Sau khi chạy mã này, mã sẽ mở ứng dụng thư mặc định của bạn và sổ làm việc đang hoạt động sẽ được đính kèm với thư

Phụ OpenWorkbookAsAttachment[]

Đăng kí. Hộp thoại[xlDialogSendMail]. Trình diễn

End Sub

Bạn có thể sử dụng auto_open để thực hiện công việc mở một tệp tin và bạn chỉ cần định mã macro “auto_open”

phụ auto_open[]

MsgBox "Chào mừng đến với ExcelChamps & Cảm ơn bạn đã tải xuống

tập tin. "

End Sub

Bạn có thể sử dụng close_open để thực hiện công việc mở một tệp tin và bạn chỉ cần định mã macro “close_open”

Phụ auto_close[]

MsgBox "Tạm biệt. Đừng quên kiểm tra những thứ hay ho khác trên

excelchamps. com"

End Sub

  1. Đếm các sổ làm việc chưa được lưu đang mở

Ví dụ bạn đang mở sổ làm việc 5-10, bạn có thể sử dụng mã này để biết số sổ làm việc chưa được lưu

Sub VisibleWorkbooks[]

Dim book As Workbook

Dim i As Integer

Đối với mỗi cuốn sách trong sách bài tập

nếu sách. Đã lưu = Sai rồi

tôi = tôi + 1

End If

Cuốn sách tiếp theo

MsgBox tôi

End Sub

Các mã này sẽ giúp bạn quản lý và thực hiện một số thay đổi trong bảng tổng hợp chỉ trong nháy mắt

  1. Ẩn tổng phụ của Bảng Pivot

You only must run this code to hide all the subtotal

Đầu tiên, bạn chọn một ô từ bảng tổng hợp. Sau đó, thực hiện chạy mã này

Sub HideSubtotals[]

Dim pt dưới dạng PivotTable

Làm mờ pf dưới dạng PivotField

Khi gặp lỗi Tiếp tục Tiếp theo

Đặt pt = ActiveSheet. PivotTable [ActiveCell. PivotTable. Tên]

Nếu pt không có gì thì

MsgBox "Bạn phải đặt con trỏ bên trong PivotTable. "

Thoát phụ

End If

Cho Mỗi pf Trong pt. Trường xoay vòng

pf. Tổng phụ[1] = True

pf. Tổng phụ[1] = Sai

pf tiếp theo

End Sub

Đây là một phương pháp để làm mới các bảng tổng hợp một cách nhanh chóng

Chỉ cần chạy mã này, các bảng tổng hợp trong sổ làm việc của bạn sẽ được làm mới chỉ trong một bước

Sub CloseAllWorkbooks[]

Làm mờ wbs dưới dạng sổ làm việc

Đối với mỗi wbs trong sổ làm việc

wbs. Đóng LưuThay đổi. = Đúng

wb tiếp theo

End Sub

  1. Tự động cập nhật phạm vi Pivot Table

Nếu bạn không sử dụng các bảng Excel, bạn có thể sử dụng mã này để nâng cấp phạm vi bảng tổng hợp

Cập nhật phụPivotTableRange[]

Làm mờ dữ liệu_Sheet dưới dạng trang tính

Làm mờ Pivot_Sheet dưới dạng Trang tính

Làm mờ điểm bắt đầu dưới dạng phạm vi

Dim DataRange As Range

Dim PivotName dưới dạng chuỗi

Dim NewRange dưới dạng chuỗi

Dim LastCol As Long

Dim lastRow As Long

'Đặt Pivot Table & Source Worksheet

Đặt Data_Sheet = ThisWorkbook. Trang tính ["PivotTableData3"]

Đặt Pivot_Sheet = ThisWorkbook. Trang tính ["Pivot3"]

'Nhập tên bảng Pivot

PivotName = "PivotTable2"

'Xác định Điểm Nhìn chằm chằm & Phạm vi Động

Bảng dữliệu. Hoạt động

Đặt Điểm bắt đầu = Data_Sheet. Range["A1"]

LastCol = StartPoint. End[xlToRight]. Column

DownCell = StartPoint. End[xlDown]. Row

Đặt phạm vi ngày = Bảng dữ liệu. Range[StartPoint, Cells[DownCell, LastCol]]

NewRange = Data_Sheet. Name & ". " & Phạm vi dữ liệu. Address[ReferenceStyle. =xlR1C1]

'Change Pivot Table Data Source Range Address

Pivot_Sheet. PivotTables[PivotName]. _

ChangePivotCache ActiveWorkbook. _

PivotCaches. Create[SourceType. =xlDatabase, SourceData. =Phạm vi mới]

'Ensure Pivot Table is Refreshed

Pivot_Sheet. PivotTables[PivotName]. RefreshTable

'Complete Message

Pivot_Sheet. Activate

MsgBox "Your Pivot Table is now updated. "

End Sub

  1. Disable/Enable Get Pivot Data

Để vô hiệu hóa/kích hoạt chức năng GetPivotData, bạn cần sử dụng Excel option

Nhưng với mã này, bạn có thể làm điều đó chỉ với một cú click chuột

Sub activateGetPivotData[]

Application. GenerateGetPivotData = True

End Sub

Sub deactivateGetPivotData[]

Application. GenerateGetPivotData = False

End Sub

Sử dụng những mã VBA này để quản lý charts trong Excel và tiết kiệm được nhiều thời gian của bạn

Mã này sẽ giúp bạn chuyển đổi loại chart mà cần phải sử dụng các chart option từ tab

Bạn chỉ cần chỉ rõ loại chart nào mà bạn muốn chuyển đổi

Mã bên dưới sẽ được chọn chuyển đổi đến một column chart được tập hợp

Có nhiều mã code khác nhau dành cho các loại chart khác nhau, bạn có thể tìm thấy các loại đó ở đây

Sub ChangeChartType[]

ActiveChart. ChartType = xlColumnClustered

End Sub

Mã này sẽ giúp bạn chuyển đổi chart sang hình ảnh

Bạn chỉ cần chọn chart và chạy mã này

Sub ConvertChartToPicture[]

ActiveChart. ChartArea. Copy

ActiveSheet. Phạm vi ["A1"]. Lựa chọn

ActiveSheet. Pictures. Paste. Select

End Sub

Đầu tiên, bạn cần phải chọn chart và chạy mã này

Bạn sẽ nhận được một input box để nhập tiêu đề chart

Sub AddChartTitle[]

Dim i dưới dạng biến thể

i = InputBox["Vui lòng nhập tiêu đề biểu đồ của bạn", "Tiêu đề biểu đồ"]

On Error GoTo Last

ActiveChart. SetElement [msoElementChartTitleAboveChart]

ActiveChart. ChartTitle. Text = i

Last

Thoát phụ

End Sub

Một số mã code mà bạn có thể dùng để thực hiện advanced task trong spreadsheet của bạn

  1. Lưu phạm vi đã chọn dưới dạng PDF

Nếu bạn muốn ẩn tất cả các subtotal, chỉ cần chạy mã này

Đầu tiên, bạn chọn một ô từ bảng tổng hợp. Sau đó, thực hiện chạy mã này

Sub HideSubtotals[]

Dim pt dưới dạng PivotTable

Làm mờ pf dưới dạng PivotField

Khi gặp lỗi Tiếp tục Tiếp theo

Set pt = ActiveSheet. PivotTables[ActiveCell. PivotTable. n ame]

Nếu pt không có gì thì

MsgBox "Bạn phải đặt con trỏ bên trong PivotTable. "

Thoát phụ

End If

Cho Mỗi pf Trong pt. Trường xoay vòng

pf. Tổng phụ[1] = True

pf. Tổng phụ[1] = Sai

pf tiếp theo

End Sub

  1. Create a Table of Content

Ví dụ bạn có hơn 100 worksheet trong workbook và rất khó để navigate

Khi bạn chạy mã này, mã sẽ tạo một worksheet mới và tạo một chỉ số worksheet với một hyperlink dẫn tới những worksheet đó

Bảng phụ của Nội dung []

Dim i As Long

Khi gặp lỗi Tiếp tục Tiếp theo

Đăng kí. Cảnh báo hiển thị = Sai

Trang tính["Mục lục"]. Delete

Đăng kí. Cảnh báo hiển thị = Đúng

On Error GoTo 0

Sổ làm việc này. trang tính. Add Before. =ThisWorkbook. Bảng tính[1]

ActiveSheet. Name = "Table of Content"

Với i = 1 Đến Trang tính. Đếm

Với ActiveSheet

Hyperlinks. Add _

Anchor. =ActiveSheet. Cells[i, 1], _

Address. ="", _

SubAddress. ="'" & Sheets[i]. Name & "'. A1", _

ScreenTip. =Sheets[i]. Name, _

TextToDisplay. =Sheets[i]. Name

Kết thúc với

tiếp theo tôi

End Sub

  1. Convert Range into an Image

Dán phạm vi được chọn như một hình ảnh

Bạn chỉ cần chọn phạm vi và sau khi bạn chạy mã này, mã sẽ tự động chèn một hình ảnh cho phạm vi đó

Sub PasteAsPicture[]

Application. CutCopyMode = False

Selection. Copy

ActiveSheet. Pictures. Paste. Select

End Sub

Mã VBA này sẽ chuyển đổi phạm vi được chọn của bạn sang một hình ảnh được liên kết và bạn có thể sử dụng hình ảnh này bất cứ nơi đâu bạn muốn

Sub LinkedPicture[]

Selection. Copy

ActiveSheet. Pictures. Paste[Link. =True]. Select

End Sub

Chọn một phạm vi và chạy mã này

Excel sẽ đọc các văn bản của từng ô một mà bạn có trong phạm vi

Sub Speak[]

Selection. Speak

End Sub

Đây là một mẫu nhập dữ liệu mặc định mà bạn có thể sử dụng để nhập dữ liệu

Sub DataForm[]

ActiveSheet. ShowDataForm

End Sub

Goal Seek có thể rất hữu ích cho bạn để giải quyết các vấn đề phức tạp

Tìm hiểu thêm các thông tin về goal seek ở đây trước khi sử dụng mã này

Sub GoalSeekVBA[]

Dim Target As Long

On Error GoTo Errorhandler

Target = InputBox["Enter the required value", "Enter Value"]

Worksheets["Goal_Seek"]. Activate

With ActiveSheet . Range["C7"]

GoalSeek_ Goal. =Target, _

ChangingCell. =Range["C2"]

Kết thúc với

Thoát phụ

Errorhandler. MsgBox["Sorry, value is not valid. "]

End Sub

  1. VBA Code to Search on Google

Thực hiện theo post này để biết thêm cách sử dụng mã VBA này để tìm kiếm trên Google

Sub SearchWindow32[]

Dim chromePath As String

Dim search_string As String

Dim query As String

query = InputBox["Enter here your search here", "Google Search"]

search_string = query

search_string = Replace[search_string, " ", "+"]

'Uncomment the following line for Windows 64 versions and comment out Windows 32 versions'

chromePath = "C. Program

FilesGoogleChromeApplicationchrome. exe"

'Uncomment the following line for Windows 32 versions and comment out Windows 64 versions

chromePath = "C. Program Files

[x86]GoogleChromeApplicationchrome. exe"

Shell [chromePath & " -url http. //google. com/#q=" & search_string]

End Sub

Các mã này sẽ giúp bạn tính toán và đưa ra kết quả mà bạn thường phải làm với worksheet functions và formulas

  1.  Convert all Formulas into Values

Đơn giản chỉ là chuyển đổi các formulas sang values

Khi bạn chạy mã macro này, mã sẽ thay đổi các formulas sang các absolute values

Sub ConvertToValues[]

Dim MyRange As Range

Dim MyCell As Range

Select Case MsgBox["You Can't Undo This Action. " & "Save

Workbook First?", vbYesNoCancel, "Alert"]

Case Is = vbYes

ThisWorkbook. Save

Case Is = vbCancel

Thoát phụ

End Select

Set MyRange = Selection

For Each MyCell In MyRange

If MyCell. HasFormula Sau đó

MyCell. Công thức = MyCell. Value

End If

Next MyCell

End Sub

  1. Remove Spaces from Selected Cells

Đây là một trong những mã macro hữu ích nhât trong danh sách này

Mã sẽ kiểm tra selection của bạn và sau đó xóa tất cả khoảng trắng từ selection đó

Sub RemoveSpaces[]

Dim myRange As Range

Dim myCell As Range

Select Case MsgBox["You Can't Undo This Action. " & "Save

Workbook First?", _

vbYesNoCancel, "Cảnh báo"]

Case Is = vbYesThisWorkbook. Save

Case Is = vbCancel

Thoát phụ

End Select

Đặt myRange = Lựa chọn

Đối với mỗi myCell trong phạm vi của tôi

If Not IsEmpty[myCell] Then

myCell = Trim[myCell]

End If

Tiếp theo myCell

End Sub

  1. Remove Characters from a String

Đơn giản là xóa các ký tự từ đầu chuỗi văn bản

Bạn chỉ cần tham khảo một ô hoặc chèn một văn bản vào function và số ký tự sẽ bị xóa từ đầu chuỗi văn bản

Mã có 2 argument “rng” cho chuỗi văn bản và “cnt” cho việc đếm các ký tự để xóa bỏ

Ví dụ. Nếu bạn muốn xóa ký tự đầu tiên từ một cột, bạn chỉ cần nhập 1 vào cnt

Public Function removeFirstC[rng As String, cnt As Long]

removeFirstC = Right[rng, Len[rng] - cnt]

End Function

  1. Add Insert Degree Symbol in Excel

Ví dụ bạn có một danh sách các số trong một cột và bạn muốn thêm degree symbol vào chúng

Sub degreeSymbol[ ]

Dim rng As Range

For Each rng In Selection

rng. Select

If ActiveCell "" Then

If IsNumeric[ActiveCell. Value] Then

ActiveCell. Value = ActiveCell. Value & "°"

End If

End If

Tiếp theo

End Sub

Bạn chỉ cần nhập chức năng “rvrse” vào một ô và chuyển đến ô có văn bản mà bạn muốn đảo ngược

Public Function rvrse[ByVal cell As Range] As String

rvrse = VBA. strReverse[cell. Value]

End Function

  1. Activate R1C1 Reference Style

Mã macro này sẽ giúp bạn kích hoạt R1C1 reference style mà không phải sử dụng Excel options

Sub DataForm[]

ActiveSheet. ShowDataForm

End Sub

  1. Activate A1 Reference Style

Mã macro này sẽ giúp bạn kích hoạt A1 reference style mà không cần phải sử dụng Excel options

Kích hoạt phụA1[]

Nếu ứng dụng. ReferenceStyle = xlR1C1 Then

Application. ReferenceStyle = xlA1

Khác

Application. ReferenceStyle = xlA1

End If

End Sub

Với mã này, bạn có thể chèn phạm vi thời gian theo thứ tự từ 00. 00 đến 23. 00

Sub TimeStamp[]

Dim i As Integer

For i = 1 To 24

ActiveCell. FormulaR1C1 = i & ". 00"

ActiveCell. NumberFormat = "[$-409]h. mm AM/PM;@"

ActiveCell. Offset[RowOffset. =1, ColumnOffset. =0]. Select

tiếp theo tôi

End Sub

Nếu trong worksheet của bạn có dates và bạn muốn chuyển đổi tất cả các dates sang days. Bạn có thể sử dụng mã này

Đơn giản chỉ cần chọn phạm vi các ô và chạy mã này

Sub date2day[]

Dim tempCell As Range

Selection. Value = Selection. Value

For Each tempCell In Selection

If IsDate[tempCell] = True Then

With tempCell

Value = Day[tempCell]

NumberFormat = "0"

Kết thúc với

End If

Next tempCell

End Sub

Mã này sẽ chuyển đổi ngày sang năm

Sub date2year[]

Dim tempCell As Range

Selection. Value = Selection. Value

For Each tempCell In Selection

If IsDate[tempCell] = True Then

With tempCell

Value = Year[tempCell]

NumberFormat = "0"

Kết thúc với

End If

Next tempCell

End Sub

Bạn có thể sử dụng mã này nếu trong worksheet có hiển thị thời gian cùng với ngày và bạn muốn xóa thời gian đi

Sub removeTime[]

Dim Rng As Range

Cho Mỗi Rng Trong Lựa Chọn

If IsDate[Rng] = True Then

Rng. Value = VBA. Int[Rng. Value]

End If

Tiếp theo

Selection. NumberFormat = "dd-mmm-yy"

End Sub

  1. Remove Date from Date and Time

Mã sẽ trả lại duy nhất thời gian khỏi giá trị ngày và thời gian

Sub removeDate[]

Dim Rng As Range

Cho Mỗi Rng Trong Lựa Chọn

If IsDate[Rng] = True Then

Rng. Value = Rng. Value - VBA. Fix[Rng. Value]

End If

NextSelection. NumberFormat = "hh. mm. ss am/pm"

End Sub

Chọn các ô và chạy mã này

Mã sẽ kiểm tra mỗi một ô của phạm vi được chọn và sau đó chuyển đổi chúng sang văn bản chữ hoa

Sub convertUpperCase[]

Dim Rng As Range

Cho Mỗi Rng Trong Lựa Chọn

If Application. WorksheetFunction. IsText[Rng] Then

rng. Value = UCase[Rng]

End If

Tiếp theo

End Sub

Mã này sẽ giúp bạn chuyển đổi văn bản được chọn sang văn bản chữ thường

Chỉ cần chọn một phạm vi các ô có văn bản và chạy mã này

Nếu một ô có 1 số hoặc bất kỳ giá trị nào không phải là văn bản thì giá trị đó sẽ được giữ lại

Chuyển đổi phụLowerCase[]

Dim Rng As Range

Cho Mỗi Rng Trong Lựa Chọn

If Application. WorksheetFunction. IsText[Rng] Then

Rng. Value= LCase[Rng]

End If

Tiếp theo

End Sub

Mã này sẽ chuyền đổi văn bản được chọn sang tên riêng mà có chữ cái đầu được viết hoa và phần còn lại được viết thường

Sub convertProperCase[]

Dim Rng As Range

Cho Mỗi Rng Trong Lựa Chọn

If WorksheetFunction. IsText[Rng] Then

Rng. Value= WorksheetFunction. Proper[Rng. Giá trị]

End If

Tiếp theo

End Sub

Trong trường hợp văn bản, từ đầu tiên có chữ cái đầu viết hoa và phần còn lại viết thường trong mỗi câu thì mã này sẽ giúp bạn chuyển đổi văn bản thường thành câu có chữ cái đầu được viết hoa

Sub convertTextCase[]

Dim Rng As Range

Cho Mỗi Rng Trong Lựa Chọn

If WorksheetFunction. IsText[Rng] Then

Rng. Value= UCase[Left[Rng, 1]] & LCase[Right[Rng, Len[Rng] -1]]

End If

vòng tiếp theo

End Sub

  1. Remove a Character form Selection

Bạn có thể sử dụng mã này để xóa một ký tự cụ thể từ ô được chọn

Mã sẽ hiển thị một input box để nhập ký tự mà bạn muốn xóa

Sub removeChar[]

Dim Rng As Range

Dim rc As String

rc = InputBox["Character[s] to Replace", "Enter Value"]

Cho Mỗi Rng Trong Lựa Chọn

Selection. Replace What. =rc, Replacement. =""

Tiếp theo

End Sub

  1. Word Count from Entire Worksheet

Mã có thể giúp bạn đếm tất cả các từ trong một worksheet

Sub Word_Count_Worksheet[]

Dim WordCnt As Long

Dim rng As Range

Dim S As String

Dim N As Long

For Each rng In ActiveSheet. UsedRange. Cells

S = Application. WorksheetFunction. Trim[rng. Text]

N = 0

If S vbNullString Then

N = Len[S] - Len[Replace[S, " ", ""]] + 1

End If

WordCnt = WordCnt + N

vòng tiếp theo

MsgBox "There are total " & Format[WordCnt, "#,##0"] & " words

in the active worksheet"

End Sub

  1. Remove the Apostrophe from a Number

Nếu bạn có dữ liệu bằng số mà có dấu móc lửng trước mỗi số, bạn có thể chạy mã này để xóa chúng

Sub removeApostrophes[]

Selection. Value = Selection. Value

End Sub

  1. Remove Decimals from Numbers

Mã này chỉ đơn giản giúp bạn xóa tất cả các phân số thập phân khỏi các số từ phạm vi được chọn

Sub removeDecimals[]

Dim lnumber As Double

Dim lResult As Long

Dim rng As Range

For Each rng In Selection

rng. Value= Int[rng]

rng. NumberFormat= "0"

vòng tiếp theo

End Sub

  1. Multiply all the Values by a Number

Ví dụ bạn có một danh sách các số và bạn muốn nhân tất cả các số với một số cụ thể

Hãy sử dụng mã này

Chọn một phạm vi các ô và chạy mã này. Đầu tiên mã sẽ yêu cầu bạn nhập số mà bạn muốn nhân và sau đó ngay lập tức nhân tất cả các số trong ô với số đó

Sub multiWithNumber[]

Dim rng As Range

Dim c As Integer c = InputBox["Enter number to multiple",

"Input Required"]

For Each rng In Selection

If WorksheetFunction. IsNumber[rng] Then

rng. Value = rng * c

Khác

End If

vòng tiếp theo

End Sub

  1. Add a Number in all the Numbers

Giống như việc nhân lên, bạn cũng có thể thêm một số vào một bộ số

Sub addNumber[]

Dim rngAs Range

DimiAs Integer

i= InputBox["Enter number to multiple", "Input Required"]

For Each rng In Selection

If WorksheetFunction. IsNumber[rng] Then

rng. Value= rng+ i

Khác

End If

vòng tiếp theo

End Sub

  1. Calculate the Square Root

Bạn có thể sử dụng mã này để tính số căn bình phương mà không cần áp dụng công thức

Mã sẽ kiểm tra tất cả các ô được chọn và chuyển đổi các số thành căn bình phương của chúng

Sub getSquareRoot[]

Dim rngAs Range

Dim i As Integer

For Each rng In Selection

If WorksheetFunction. IsNumber[rng] Then

rng. Value= Sqr[rng]

Khác

End If

vòng tiếp theo

End Sub

Bạn có thể sử dụng mã này để tính căn bậc ba mà không phải áp dụng công thức

Mã sẽ kiểm tra tất cả các ô được chọn và chuyển đổi các số thành căn bậc ba của chúng

Sub getCubeRoot[]

Dim rng As Range

Dimi As Integer

For Each rng In Selection

If WorksheetFunction. IsNumber[rng] Then

rng. Value = rng ^ [1 / 3]

Khác

End If

Nextrng

End Sub

  1. Add A-Z Alphabets in a Range

Cũng giống như các dãy số, bạn cũng có thể chèn các chữ cái vào worksheet

Sub addcAlphabets[]

Dim i As Integer

For i= 65 To 90

ActiveCell. Value= Chr[i]

ActiveCell. Offset[1, 0]. Lựa chọn

tiếp theo tôi

End Sub

Sub addsAlphabets[]

Dim i As Integer

For i= 97 To 122

ActiveCell. Value= Chr[i]

ActiveCell. Offset[1, 0]. Lựa chọn

tiếp theo tôi

End Sub

  1. Convert Roman Numbers into Arabic Numbers

Đôi khi, rất khó để nhận biết số La Mã là số seri. Mã này sẽ giúp bạn chuyển đổi số La Mã sang số Arabic

Sub convertToNumbers[]

Dim rng As Range

Selection. Giá trị = Lựa chọn. Value

For Each rng In Selection

If Not WorksheetFunction. IsNonText[rng] Then

rng. Value= WorksheetFunction. Arabic[rng]

End If

vòng tiếp theo

End Sub

Mã này sẽ kiểm tra các ô được chọn và chuyển đổi các số âm sang số dương. You only select a range and run this code

Sub removeNegativeSign[]

Dim rngAs Range

Selection. Giá trị = Lựa chọn. Value

Đối với mỗi lựa chọn rngIn

If WorksheetFunction. IsNumber[rng]

Then rng. Value= Abs[rng]

End If

vòng tiếp theo

End Sub

  1. Replace Blank Cells with Zeros

Đối với dữ liệu có ô khoảng trắng, bạn có thể sử dụng mã dưới đây để thêm số vào những ô trắng này. Bạn sẽ sử dụng những ô này cho các tính soán sau một cách dễ dàng với mã này

Chủ Đề