Bạn hoàn toàn có thể sử dụng đầy đủ mã code này ngay cả khi bạn chưa từng thực hiện VBA trước đây.

Bạn đang xem: Các đoạn code hay trong excel

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

Mã Macro là gì?

Trong Excel, mã macro là 1 mã xây dựng được viết bằng ngôn ngữ VBA (Visual Basic for Applications).

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

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

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

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

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

… chúng ta cũng có thể sử dụng quá trình dưới đây cần nên dán mã VBA vào VB Editor.

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

*

Phía phía bên trái trên “Project Window”, bấm chuột phải vào thương hiệu workbook của doanh nghiệp và chèn vào trong 1 module mới.

*

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

*

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

*

Macro đang hiển thị một cửa sổ danh sách những macro có trong tệp của bạn, từ bỏ đó chúng ta cũng có thể chạy những macro gồm trong danh sách đó.

*

Basic

Formatting

Printing

Worksheet

Workbook

Pivot Table

Charts

Advanced

Formulas

BASIC CODE

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

Add Serial Numbers (đánh số thự từ bỏ 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ị đầu vào box để các bạn nhập tối phần nhiều serial và sau đó, nó đang chèn những số vào cột theo thiết bị tự.

Sub Add
Serial
Numbers()

Dim i As Integer

On Error Go
To Last

i = Input
Box("Enter Value", "Enter Serial Numbers")

For i = 1 lớn i

Active
Cell.Value = i

Active
Cell.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 hiển thị sẽ hiển thị một input box và bạn phải nhập số cột mà bạn có nhu cầu chèn.

Sub Insert
Multiple
Columns()

Dim i As Integer

Dim j As Integer

Active
Cell.Entire
Column.Select

On Error Go
To Last

i = Input
Box("Enter number of columns khổng lồ insert", "Insert Columns")

For j = 1 to lớn i

Selection.Insert Shift:=xl
To
Right, Copy
Origin:=xl
Format
From
Rightor
Above

Next j

Last:Exit Sub

End Sub

Add Multiple Rows (chèn dòng)

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

Sub Insert
Multiple
Rows()

Dim i As Integer

Dim j As Integer

Active
Cell.Entire
Row.Select

On Error Go
To Last

i = Input
Box("Enter number of columns to insert", "Insert

Columns")

For j = 1 to i

Selection.Insert Shift:=xl
To
Down,

Copy
Origin:=xl
Format
From
Rightor
Above

Next j

Last:Exit Sub

End Sub

Auto Fit Columns (tự rượu cồn canh những cột)

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

Mã macro này đã chọn tất cả các ô vào worksheet và auto khớp tức thì lập tức các cột.

Sub Auto
Fit
Columns()

Cells.Select

Cells.Entire
Column.Auto
Fit

End Sub

Auto Fit Rows (tự động canh các dòng)

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

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

Sub Auto
Fit
Rows()

Cells.Select

Cells.Entire
Row.Auto
Fit

End Sub

Remove Text Wrap (bỏ cơ chế wrap text)

Mã code này sẽ giúp bạn xóa text wrap khỏi toàn cục worksheet với một chiếc nhấp chuột. Đầu tiên nó đã chọn toàn bộ các cột và tiếp đến xóa text wrap và auto khớp những hàng và cột.

Sub Remove
Wrap
Text()

Cells.Select

Selection.Wrap
Text = False

Cells.Entire
Row.Auto
Fit

Cells.Entire
Column.Auto
Fit

End Sub

Unmerge Cells (không kết nối các ô)

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

Sub Unmerge
Cells()

Selection.Un
Merge

End Sub

Open Calculator (mở laptop trên excel)

Trong hành lang 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ừ bỏ Excel cho bài toán tính toán.

Sub Open
Calculator()

Application.Activate
Microsoft
App Index:=0

End Sub

Add Header/Footer Date (thêm ngày sống chân trang/đầu trang)

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

Bạn có thể điều chỉnh mã này nhằm đổi từ bỏ header thanh lịch footer.

Sub date
In
Header()

With Active
Sheet.Page
Setup

.Left
Header = ""

.Center
Header = "&D"

.Right
Header = ""

.Left
Footer = ""

.Center
Footer = ""

.Right
Footer = ""

End With

Active
Window.View = xl
Normal
View

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ã giành riêng cho bạn.

Chạy mã này, nhập giá bán trị cấu hình thiết lập vào đầu vào box. Để biến đổi liên kết của header hoặc footer, chúng ta cũng có thể điều chỉnh mã.

Sub custom
Header()

Dim my
Text As Stringmy

Text = Input
Box("Enter your text here", "Enter Text")

With Active
Sheet.Page
Setup

.Left
Header = ""

.Center
Header = my
Text

.Right
Header = ""

.Left
Footer = ""

.Center
Footer = ""

.Right
Footer = ""

End With

End Sub

Formatting Codes

Những mã VBA này sẽ giúp bạn định dạng những ô với phạm vi bằng cách sử dụng một số trong những 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ẽ chất vấn mỗi ô các 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ể biến đổi màu sắc từ mã này.

Sub Highlight
Duplicate
Values()

Dim my
Range As Range

Dim my
Cell As Range

Set my
Range = Selection

For Each my
Cell In my
Range

If Worksheet
Function.Count
If(my
Range, my
Cell.Value) > 1 Then

my
Cell.Interior.Color
Index = 36

End If

Next my
Cell

End Sub

Highlight the Active Row and Column

Đây là những cách để triển khai mã code này cấp tốc chóng.

Mở VBE (ALT + F11).Di chuyển mang lại Project Explorer (Crtl + R, If hidden).Chọn workbook của chúng ta và nhấp đúp chuột vào tên một worksheet rõ ràng mà bạn có nhu cầu kích hoạt mã macro.Dán mã vào kia và lựa chọn “Before
Double
Click” tự (event drop down menu).Đóng VBE và chúng ta đã hoàn thành.

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

Private Sub Worksheet_Before
Double
Click(By
Val Target As Range,

Cancel As Boolean)

Dim str
Range As String

str
Range = Target.Cells.Address và "," Target.Cells.Entire
Column.Address và "," & _

Target.Cells.Entire
Row.Address

Range(str
Range).Select

End Sub

Highlight vị trí cao nhất 10 Values

Chỉ lựa chọn 1 phạm vi với chạy mã macro này và nó đã làm khá nổi bật top 10 values với color xanh.

Sub Top
Ten()

Selection.Format
Conditions.Add
Top10

Selection.Format
Conditions(Selection.Format
Conditions.Count).S

t
First
Priority

With Selection.Format
Conditions(1)

.Top
Bottom = xl
Top10Top

.Rank = 10

.Percent = False

End With

With Selection.Format
Conditions(1).Font

.Color = -16752384

.Tint
And
Shade = 0

End With

With Selection.Format
Conditions(1).Interior

.Pattern
Color
Index = xl
Automatic

.Color = 13561798

.Tint
And
Shade = 0

End With

Selection.Format
Conditions(1).Stop
If
True = False

End Sub

Highlight Named Ranges

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

Sub Highlight
Ranges()

Dim Range
Name As Name

Dim Highlight
Range As Range

On Error Resume Next

For Each Range
Name In Active
Workbook.Names

Set Highlight
Range = Range
Name.Refers
To
Range

Highlight
Range.Interior.Color
Index = 36

Next Range
Name

End Sub

Highlight Greater than Values

Sau khi chạy mã này, nó đang yêu cầu giá trị mà bạn muốn làm khá nổi bật các giá chỉ trị béo hơn.

Sub Highlight
Greater
Than
Values()

Dim i As Integer

i = Input
Box("Enter Greater Than Value", "Enter Value")

Selection.Format
Conditions.Delete

Selection.Format
Conditions.Add Type:=xl
Cell
Value,

Operator:=xl
Greater, Formula1:=i

Selection.Format
Conditions(Selection.Format
Conditions.Count).S

t
First
Priority

With Selection.Format
Conditions(1)

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

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

End With

End Sub

Highlight Lower than Values

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

Sub Highlight
Lower
Than
Values()

Dim i As Integer

i = Input
Box("Enter Lower Than Value", "Enter Value")

Selection.Format
Conditions.Delete

Selection.Format
Conditions.Add Type:=xl
Cell
Value,

Operator:=xl
Lower, Formula1:=i

Selection.Format
Conditions(Selection.Format
Conditions.Count).S

t
First
Priority

With Selection.Format
Conditions(1)

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

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

End With

End Sub

Highlight Negative Numbers

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

Sub highlight
Negative
Numbers()

Dim Rng As Range

For Each Rng In Selection

If Worksheet
Function.Is
Number(Rng) Then

If Rng.Value

Rng.Font.Color= -16776961

End If

End If

Next

End Sub

Highlight Specific Text

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

Sub highlight
Value()

Dim my
Str As String

Dim my
Rg As Range

Dim my
Txt As String

Dim my
Cell As Range

Dim my
Char As String

Dim I As Long

Dim J As Long

On Error Resume Next

If Active
Window.Range
Selection.Count> 1 Then

my
Txt= Active
Window.Range
Selection.Address
Local

Else

my
Txt= Active
Sheet.Used
Range.Address
Local

End If

LInput: mix my
Rg= Application.Input
Box("please select the data

range:", "Selection Required", my
Txt, , , , , 8)

If my
Rg Is Nothing Then

Exit Sub

If my
Rg.Areas.Count > 1 Then

Msg
Box"not support multiple columns" Go
To
LInput

End If

If my
Rg.Columns.Count 2 Then

Msg
Box"the selected range can only contain two columns "

Go
To LInput

End If

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

my
Str= my
Rg.Range("B1").Offset(I, 0).Value

With my
Rg.Range("A1").Offset(I, 0)

.Font.Color
Index= 1

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

Mid(.Text, J, Len(my
Str)) = my
Str
Then

.Characters(J, Len(my
Str)).Font.Color
Index= 3

Next

End With

Next I

End Sub

Highlight Cells with Comments

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

Sub highlight
Comment
Cells()

Selection.Special
Cells(xl
Cell
Type
Comments).Select

Selection.Style= "Note"

End Sub

Highlight Alternate Rows in the Selection

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

Sub highlight
Alternate
Rows()

Dim rng As Range

For Each rng In Selection.Rows

If rng.Row
Mod 2 = 1 Then

rng.Style= "20% -Accent1"

rng.Value= rng^ (1 / 3)

Else

End If

Next rng

End Sub

Highlight Cells with Misspelled Words

Nếu bạn chạm chán khó khăn trong việc kiểm tra tất cả các mặt hàng về lỗi chủ yếu tả thì đó là một mã dành cho bạn. Mã sẽ đánh giá mỗi ô được chọn và làm khá nổi bật ô đó khi có lỗi chủ yếu tả.

Sub Highlight
Misspelled
Cells()

Dim rng As Range

For Each rng In Active
Sheet.Used
Range

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

rng.Style= "Bad" kết thúc If

Next rng

End Sub

Highlight Cells With Error in the Entire Worksheet

Mã này để giúp đỡ bạn làm khá nổi bật và đếm toàn bộ các ô tất cả lỗi.

Chỉ việc chạy mã này và mã sẽ trả lại một thông tin có số ô lỗi cùng làm rất nổi bật tất cả các ô đó.

Sub highlight
Errors()

Dim rng As Range

Dim i As Integer

For Each rng In Active
Sheet.Used
Range

If Worksheet
Function.Is
Error(rng) Then

i = i + 1 rng.Style = "bad"

End If

Next rng

Msg
Box "There are total " & i và " error(s) in this worksheet."

End Sub

Highlight Cells with a Specific Text in Worksheet

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

Sub highlight
Specific
Values()

Dim rng As Range

Dim i As Integer

Dim c As Variant

c = Input
Box("Enter Value to lớn Highlight")

For Each rng In Active
Sheet.Used
Range

If rng = c Then

rng.Style = "Note"

i = i + 1

End If

Next rng

Msg
Box "There are total " & i &" "& c và " in this worksheet."

End Sub

Highlight all the Blank Cells Invisible Space

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

Sub blank
With
Space()

Dim rng As Range

For Each rng In Active
Sheet.Used
Range

If rng.Value = " " Then

rng.Style = "Note"

End If

Next rng

End Sub

Highlight Max Value In The Range

Mã này đang kiểm tra toàn bộ các ô được lựa chọn và làm rất nổi bật ô đó với mức giá trị phệ nhất.

Sub highlight
Max
Value()

Dim rng As Range

For Each rng In Selection

If rng = Worksheet
Function.Max(Selection) Then

rng.Style = "Good"

End If

Next rng

End Sub

Highlight Min Value In The Range

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

Sub highlight
Min
Value()

Dim rng As Range

For Each rng In Selection

If rng = Worksheet
Function.Min(Selection) Then

rng.Style = "Good"

End If

Next rng

End Sub

Highlight unique Values

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

Sub highlight
Unique
Values()

Dim rng As Range

Set rng = Selection

rng.Format
Conditions.Delete

Dim uv As Unique
Values

Set uv = rng.Format
Conditions.Add
Unique
Values

uv.Dupe
Unique = xl
Unique

uv.Interior.Color = vb
Green

End Sub

Highlight Difference in Columns

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

Sub column
Difference()

Range("H7:H8,I7:I8").Select

Selection.Column
Differences(Active
Cell).Select

Selection.Style= "Bad"

End Sub

Highlight Difference in Rows

Sử dụng mã này bạn cũng có thể làm nổi bật sự không giống nhau giữa 2 hàng (các ô tương ứng).

Sub row
Difference()

Range("H7:H8,I7:I8").Select

Selection.Row
Differences(Active
Cell).Select

Selection.Style= "Bad"

End Sub

Printing Codes

Những mã macro này sẽ giúp bạn tự động hóa in một số công việc mà rất 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) làm việc cuối trang. Ví dụ bạn phải in 10 trang, sau khoản thời gian sử dụng mã này bạn sẽ nhận được toàn bộ comments ở trang sau cuối thứ 11.

Sub print
Comments()

With Active
Sheet.Page
Setup

.print
Comments= xl
Print
Sheet
End

End With

End Sub

Print Narrow Margin

Sử dụng mã VBA này nhằm in giấy bao gồm lề hẹp. Khi chúng ta chạy mã macro này, mã sẽ tự động hóa thay thay đổi lề thành hẹp.

Xem thêm: Những Mẫu Chậu Rửa Chén Inox 304 Có Khung Chân Bán Chạy Nhất Tp Hcm

Sub print
Narrow
Margin()

With Active
Sheet.Page
Setup

.Left
Margin= Application

.Inches
To
Points(0.25)

.Right
Margin= Application.Inches
To
Points(0.25)

.Top
Margin= Application.Inches
To
Points(0.75)

.Bottom
Margin= Application.Inches
To
Points(0.75)

.Header
Margin= Application.Inches
To
Points(0.3)

.Footer
Margin= Application.Inches
To
Points(0.3)

End With

Active
Window.Selected
Sheets.Print
Out
Copies:=1, Collate:=True,

Ignore
Print
Areas:=False

End Sub

Print Selection

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

Sub print
Selection()

Selection.Print
Out
Copies:=1, Collate:=True

End Sub

Print Custom Pages

Thay vị sử dụng thiết đặt từ print options, chúng ta cũng có thể sử dụng mã này nhằm in phạm vi trang điều chỉnh.

Ví dụ bạn có nhu cầu từ trang 5 mang đến trang10. Bạn chỉ việc chạy mã VBA này với nhập trang ban đầu và trang kết thúc.

Sub print
Custom
Selection()

Dim startpage
As Integer

Dim endpage
As Integer

startpage= Input
Box("Please Enter Start Page number.", "Enter

Value")

If Not Worksheet
Function.Is
Number(startpage) Then

Msg
Box"Invalid Start Page number. Please try again.", "Error"

Exit Sub

End If

endpage= Input
Box("Please Enter kết thúc Page number.", "Enter

Value")

If Not Worksheet
Function.Is
Number(endpage) Then

Msg
Box"Invalid end Page number. Please try again.", "Error"

Exit Sub

End If

Selection.Print
Out
From:=startpage, To:=endpage, Copies:=1,

Collate:=True

End Sub

Worksheet Codes

Những mã macro này để giúp đỡ bạn kiểm soát và thống trị worksheets theo một cách đơn giản và tiết kiệm tương đối nhiều thời gian.

Hide all but the Active Worksheet

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

Sub Hide
Worksheet()

Dim ws As Worksheet

For Each ws In This
Workbook.Worksheets

If ws.Name This
Workbook.Active
Sheet.Name Then

ws.Visible = xl
Sheet
Hidden

End If

Next ws

End Sub

Unhide all Hidden Worksheets

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

Sub Unhide
All
Worksheet()

Dim ws As Worksheet

For Each ws In Active
Workbook.Worksheets

ws.Visible = xl
Sheet
Visible

Next ws

End Sub

Delete all but the Active Worksheet

Mã này khôn xiết hữu ích cho mình nếu bạn có nhu cầu xóa tất cả các worksheet quanh đó sheet sẽ hoạt động.

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

Sub Delete
Worksheets()

Dim ws As Worksheet

For Each ws In This
Workbook.Worksheets

If ws.name This
Workbook.Active
Sheet.name Then

Application.Display
Alerts = False

ws.Delete

Application.Display
Alerts = True

End If

Next ws

End Sub

Protect all Worksheets Instantly

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

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

Sub Protect
All
Worskeets()

Dim ws As Worksheet

Dim ps As String

ps = Input
Box("Enter a Password.", vb
OKCancel)

For Each ws In Active
Workbook.Worksheets

ws.Protect Password:=ps

Next ws

End Sub

Resize All Charts in a Worksheet.

Tạo các chart bao gồm cùng một kích cỡ. Mã macro này sẽ giúp đỡ bạn tạo toàn bộ các chart tất cả chung kích cỡ. Bạn cũng có thể thay đổi chiều cao và chiều rộng của chart bằng phương pháp thay đổi nó vào mã macro.

Sub Resize_Charts()

Dim i As Integer

For i = 1 to Active
Sheet.Chart
Objects.Count

With Active
Sheet.Chart
Objects(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 có nhu cầu thêm các worksheet vào workbook của khách hàng chỉ vào một bước.

Khi chúng ta chạy mã macro này, bạn sẽ nhận được input box nhằm nhập toàn bô sheet mà bạn có nhu cầu nhập.

Sub Insert
Multiple
Sheets()

Dim i As Integer

i = Input
Box("Enter number of sheets lớn insert.", "Enter

Multiple Sheets")

Sheets.Add After:=Active
Sheet, Count:=i

End Sub

Protect worksheet

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

Bạn chỉ việc nhập password của doanh nghiệp vào vào mã.

Sub Protect
WS()

Active
Sheet.Protect "mypassword", True, True

End Sub

Un-Protect Worksheet

Nếu bạn không thích protect worksheet, bạn cũng có thể sử dụng cơ mà macro này.

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

Sub Unprotect
WS()

Active
Sheet.Unprotect "mypassword"

End Sub

Sort Worksheets

Mã này sẽ giúp bạn thu xếp worksheets trong workbook dựa vào tên của worksheet.

Sub Sort
Worksheets()

Dim i As Integer

Dim j As Integer

Dim i
Answer As Vb
Msg
Box
Result

i
Answer = Msg
Box("Sort Sheets in Ascending Order?" và Chr(10) _

& "Clicking No will sort in Descending Order", _

vb
Yes
No
Cancel + vb
Question + vb
Default
Button1, "Sort

Worksheets")

For i = 1 lớn Sheets.Count

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

If i
Answer = vb
Yes Then

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

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

End If

Else
If i
Answer = vb
No Then

If UCase$(Sheets(j).Name)

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

End If

End If

Next j

Next i

End Sub

Protect all the Cells With Formulas

Bạn hoàn toàn có thể sử dụng mã này nhằm protect cell with formula chỉ cách một cú click chuột.

Sub lock
Cells
With
Formulas()

With Active
Sheet

.Unprotect

.Cells.Locked = False

.Cells.Special
Cells(xl
Cell
Type
Formulas).Locked = True

.Protect Allow
Deleting
Rows:=True

End With

End Sub

Delete all Blank Worksheets

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

Sub delete
Blank
Worksheets()

Dim Ws As Worksheet

On Error Resume Next

Application.Screen
Updating= False

Application.Display
Alerts= False

For Each Ws In Application.Worksheets

If Application.Worksheet
Function.Count
A(Ws.Used
Range) = 0 Then

Ws.Delete

End If

Next

Application.Screen
Updating= True

Application.Display
Alerts= True

End Sub

Unhide all Rows and Columns

Thay do hiển thị từng hàng và cột một biện pháp thủ công, chúng ta cũng có thể sử dụng mã này để triển khai chỉ vào một bước.

Sub Unhide
Rows
Columns()

Columns.Entire
Column.Hidden = False

Rows.Entire
Row.Hidden = False

End Sub

Save Each Worksheet as a Single PDF

mã này chỉ đơn giản lưu toàn bộ worksheet vào một trong những tệp PDF riêng. Bạn chỉ cần biến đổi tên tệp tự mã này.

Sub Save
Workshet
As
PDF()

Dimws As Worksheet

For Each ws In Worksheetsws.Export
As
Fixed
Format xl
Type
PDF,

“ENTER-FOLDER-NAME-HERE" và ws.Name & ".pdf" Nextws

End Sub

Disable Page Breaks

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

Sub Disable
Page
Breaks()

Dim wb
As Workbook

Dim wks
As Worksheet

Application.Screen
Updating= False

For Each wb
In Application.Workbooks

For Each Sht
In wb.Worksheets
Sht.Display
Page
Breaks= False

Next Sht

Next wb

Application.Screen
Updating= True

End Sub

Workbook Codes

Những mã này để giúp bạn thực hiện các các bước workbook một cách đơn giản và dễ dàng và không hẳn tốn các công sức.

Create a Backup of a Current Workbook

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

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

Sub File
Back
Up()

This
Workbook.Save
Copy
As Filename:=This
Workbook.Path & _

"" & Format(Date, "mm-dd-yy") & " " và _

This
Workbook.name

End Sub

Close all Workbooks at Once

Bạn thực hiện mã này để đóng tất cả các workbook vẫn mở.

Đầu tiên, mã sẽ đánh giá từng workbook một cùng đóng chúng lại. Giả dụ có ngẫu nhiên worksheet nào chưa được lưu, các bạn sẽ nhận được thông tin để lưu.

Sub Close
All
Workbooks()

Dim wbs As Workbook

For Each wbs In Workbooks

wbs.Close Save
Changes:=True

Next wb

End Sub

Copy Active Worksheet into a New Workbook

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

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

Sub Copy
Worksheet
To
New
Workbook()

This
Workbook.Active
Sheet.Copy _

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 công ty bằng e-mail một cách nhanh chóng.

Bạn bao gồm thể biến đổi tên, email, nội dung trong mã và nếu bạn muốn gửi trực tiếp e-mail này, thực hiện “.Send” thay vày “.Display”.

Dưới đó là 9 thủ thuật thịnh hành nhất lúc viết VBA trong Excel. VBA vào Excel gồm vô số kỹ năng tín toán cấu hình thiết lập và từ bỏ động. Thường thì mã code có thể chạy hàng trăm ngàn hoặc thậm chí hàng trăm dòng. Lúc độ phức tạp và form size của mã code tăng lên, câu hỏi viết mã nhanh và tác dụng mà vẫn khiến cho đồng nghiệp dễ hiểu ngày càng trở đề nghị quan trọng. Nếu khách hàng làm được, bạn sẽ trở thành tài sản vô giá cho nhóm/ doanh nghiệp trong việc gia hạn và phân phát triển quy mô Excel VBA.

*

1. Nhận xét vào trong dòng code sẽ giúp bạn đọc và hiểu dễ hơn

Bạn đã khi nào mở mô hình VBA của người cùng cơ quan lên với dành một giờ tiếp sau để nỗ lực tìm ra đúng chuẩn cách buổi giao lưu của nó chưa? Vậy thì nên tưởng tượng bạn sẽ được đánh giá rất bài bản nếu ai ai cũng hiểu được mã code ví dụ của các bạn ngay cả khi chúng ta không cần giải thích.

Nhận xét là yếu đuối tố đặc biệt quan trọng nhất lúc viết VBA vì các bạn sẽ dễ dàng hiểu được hoàn toàn đoạn code đó sau vài tháng. Bạn sẽ gây tuyệt vời với người cùng cơ quan và lập cập tạo uy tín trong việc chuẩn bị tài liệu xuất sắc, cho nên vì thế bạn không mất quá nhiều thời gian đào tạo cho những người dùng vào tương lai.

*

2. Sử dụng những tên ví dụ và tương xứng để đặt cho các biến cùng hàm

Nếu tên biến đổi và hàm VBA được diễn giải cụ thể thì sẽ giúp người dùng tiết kiệm ngân sách một lượng lớn thời hạn và cho phép họ quan sát và theo dõi rõ ràng kết cấu và luồng của mã code. Tên phát triển thành hoặc tên hàm như “test1” hoặc “first_integer” sẽ gây nên sự khó khăn hiểu cho phần lớn ai nỗ lực đọc mã VBA của bạn.

Quy trình sau đây viết phần trăm lạm phát của Hoa Kỳ vào ô vẫn hoạt động. Hãy coi ví dụ đồ vật hai cụ thể hơn những so cùng với ví dụ đầu tiên như nào!Ví dụ sai

*
Ví dụ đúng
*
*

3. Hãy lập kế hoạch công việc để khiến cho bạn tạo mã VBA đơn giản, hiệu quả

Không có gì quá xa lạ khi chúng ta đã viết mã được một nửa dự án rồi mới nhận thấy rằng mình nên kết cấu nó theo cách khác hoặc chế tạo ra một công dụng riêng mang đến các bộ phận cụ thể trong mã của bạn. Lên planer cho cấu tạo VBA của bạn theo số đông yêu ước mà bạn có nhu cầu nó đạt được, đầy đủ vòng lặp nào các bạn sẽ cần, v.v. Sẽ giúp đỡ bạn tiết kiệm thời gian về lâu dài. Nó cũng cho chính mình thời gian để suy nghĩ về phần đa lỗi tiềm ẩn rất có thể phát sinh trong quy trình viết mã cùng cách bạn sẽ giải quyết.

*

4. Thực hiện Macro để nhanh chóng tìm ra cú pháp

Đối với phần đông mọi người, macro cho họ cái nhìn thứ nhất về quả đât VBA và mã hóa. Ngay lập tức cả đối với những thiết kế viên bao gồm kinh nghiệm, macro là 1 cách hoàn hảo và tuyệt vời nhất giúp hiểu cấp tốc cú pháp VBA quan trọng để tiến hành một hàm hoặc phương thức cụ thể.

Giả sử bạn không biết cách lưu tệp VBA. Bằng cách nhấn Macro Record, chúng ta có thể thực hiện các bước theo cách thủ công bằng tay và trình sửa đổi VBA sẽ ghi lại các bước đó bằng mã hóa.Thật ảo diệu! tiếng đây, chúng ta có thể sử dụng lại và kiểm soát và điều chỉnh mã theo quá trình của riêng mình.

*

5. Đừng phụ thuộc vào macro, hãy học bí quyết viết mã của riêng bạn

Như vẫn đề cập sinh sống trên, macro vô cùng hữu dụng trong bài toán học cách viết một số trong những đoạn mã nhất định. Tuy nhiên, điều quan trọng đặc biệt là chúng ta phải nhận biết rằng các macro vốn không bình an và không tương xứng trong tương lai do chúng được mã hóa cứng cùng không thể tương xứng với những đổi khác tương lai trong cấu tạo trang tính.

Giả sử chúng ta đã ghi lại một macro triển khai các chuyển đổi định dạng khác biệt cho trang tính. 1 phần thông qua mã, nó chọn cột I, và kế tiếp xóa cột I. Giả sử sau đó trong thời điểm tháng tiếp theo, tệp bổ sung cập nhật một cột; bây chừ thì macro của các bạn sẽ xóa sai cột. Học giải pháp tự viết mã sẽ cho phép bạn tạo các vòng lặp với tìm tìm cột đúng mực trước lúc xóa nó.

*

6. Sử dụng Option Explicit để tránh bị thiếu giá bán trị

Đặt đoạn code “Option Explicit” sinh sống đầu mô hình VBA là 1 cách có lợi để tránh lỗi chính tả trong mã.

Trong ví dụ phía bên trái phía dưới, Option Explicit ko được bật. Mã chạy không lỗi, mà lại nó luôn trả về tác dụng là 0.Tại sao? lý do là do phát triển thành Month
Incme bị viết sai chủ yếu tả và bởi đó không có gì để tham chiếu. Gía trị 0 phân tách cho ngẫu nhiên một vật gì thì luôn luôn luôn bằng không.

Với lấy ví dụ như chạy mã sản phẩm hai, Option Explicit phát hiện tại rằng bọn họ có các biến chưa khẳng định trong đoạn mã cùng trả về Lỗi biên dịch. Nó chỉ ra biến không được khai báo và thông tin cho họ biết vấn đề. Bạn nên luôn luôn luôn thực hiện Option Explicit sinh hoạt đầu quy mô trước bất kỳ quy trình như thế nào của mình.

*

7. Cải thiện tốc độ VBA bằng phương pháp giữ những lựa chọn đối tượng người tiêu dùng ở mức buổi tối thiểu

Nếu các bạn mới làm cho quen với VBA với đang thắc mắc vì sao mã của khách hàng chạy rất lờ lững thì việc sử dụng quá nhiều tính năng .Select hoàn toàn có thể là vì sao đáng xem xét đầu tiên. Yêu cầu tránh lựa chọn đối tượng người tiêu dùng trừ khi thực sự đề nghị thiết, đặc biệt khi cách xử lý lượng lớn tài liệu hoặc vòng lặp. Bài toán chọn các đối tượng người sử dụng trong VBA rất là chậm và thường không phải thiết. Những macro được lưu lại thường bao hàm rất nhiều công dụng .Select, bởi vì vậy đặc biệt quan trọng là phải tò mò cách kiêng điều này.

Trong ví dụ thứ nhất phía dưới, chúng ta đang nỗ lực tìm tổng của 1.000 ô đang làm việc trong trang tính. Từng lần bọn họ tham chiếu một ô mới, họ chọn nó, và tiếp nối lấy giá trị của nó. Mặc dù nhiên, câu hỏi lựa lựa chọn trang tính hoặc ô là không yêu cầu thiết. Bạn có thể lấy giá trị ô một cách đối chọi giản. áp dụng bộ đếm thời hạn để lưu lại thời gian thực hiện cho vấn đề chạy từng quy trình, Hãy cùng xem ví dụ đồ vật hai cấp tốc hơn 50 lần!

*

*
8. Sử dụng lại các công dụng thông thường để tiết kiệm thời gian

Cách hữu dụng để giảm thời gian bạn giành cho việc viết mã hoặc xây dựng quy mô là giữ các quy trình (thủ tục Subs) VBA phổ cập nhất của chúng ta ở một nơi. Dưới đây là một ví dụ như từ bài viết “10 các bước VBA mặt hàng đầu” của chúng tôi, lấy các ô đang chọn, hủy thích hợp nhất bọn chúng và áp dụng những tiêu đề tương đương nhau cho mỗi ô. Thậm chí chúng ta cũng có thể gán phím tắt mang lại macro để sử dụng nhanh hơn nữa.

Hãy tham khảo blog của cửa hàng chúng tôi về cách sử dụng lại mã (trong phần tới), tập trung vào các phần hỗ trợ và mô hình mã hóa cá nhân.

*

*
9. Liên tục kiểm tra mã để tránh lỗi run-time errors

Thủ thuật phía trên rất có thể áp dụng cho hầu hết các dự án công trình tại chỗ làm việc, mà lại nó quan trọng liên quan đến mã hóa với VBA mang lại Excel. Bình chọn mã để phát hiện những lỗi và những ngoại lệ rất có thể phát sinh trong thời hạn chạy bằng cách bắt lỗi phù hợp (xem bài viết của công ty chúng tôi về những lỗi vào VBA tại đây).

Một thiết kế viên đề nghị thử bước đầu điều này. Chúng ta nên tự bình chọn mã, sau đó kiểm tra nó trong môi trường thiên nhiên không trực tiếp hoặc ko tác động.

Sau khi cảm giác đã hoàn thiện, bạn nên để đồng nghiệp kiểm tra quy mô Excel của mình mà không đề nghị hướng dẫn họ ngẫu nhiên điều gì về cách nhấn nút xuất xắc nhập đầu vào. Chỉ việc nhìn vào là họ vẫn hiểu được cách mô hình hoạt động. Kiểm tra để giúp đỡ bạn biết những gì sẽ xẩy ra khi mã của khách hàng hoạt động.