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
- 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
- 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. 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ụ
- 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
- 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
- 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
- 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
- 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
- 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
- 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ể
- Đá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
- Đá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
- Open VBE [ALT + F11]
- Di chuyển đến Project Explorer [Crtl + R, If hidden]
- 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
- Dán mã vào đó và chọn “ BeforeDoubleClick ” từ [menu thả xuống sự kiện]
- Đó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
- 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
- Đá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
- Đá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
- Đá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
- 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
- Đá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
- Đá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
- Đá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
- Đá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
- 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
- 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
- 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
- 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
- Ẩ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
- 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
- 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
- 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
- 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
- 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ụ
- 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
- 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
- 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
- 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
- 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
- Đó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
- 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
- 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
- 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
- Đế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
- Ẩ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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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