Cập nhật thông tin chi tiết về Hướng Dẫn Cách Tự Học Vba Hiệu Quả Với Chức Năng Record Macro mới nhất trên website Theindochinaproject.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất.
Đối với nhiều người trong chúng ta, VBA là một kiến thức khá mới. VBA là Visual Basic Application – ngôn ngữ lập trình đi kèm với các phần mềm của Microsoft. VBA có tính ứng dụng rất cao, giúp tự động hóa, giảm các thao tác tay, tăng hiệu quả hoạt động của các phần mềm như Excel, Word, PowerPoint… Nhưng việc tiếp cận VBA với nhiều bạn gặp khó, bởi chúng ta phải tìm hiểu một ngôn ngữ mới, học một tư duy mới là tư duy lập trình.
Trong bài viết này, Học Excel Online sẽ giới thiệu với các bạn một cách rất hiệu quả để có thể tự học VBA, đó là sử dụng chức năng Record Macro trong Excel.
Macros là gì?
Macros – hay nói cụ thể hơn là Excel Macros (trong phạm vi bài viết tìm hiểu về VBA trong Excel) là những chương trình nhỏ giúp lặp đi lặp lại các thao tác từ đơn giản tới phức tạp trong Excel một cách tự động.
Macros có thể bao gồm 1 hoặc nhiều câu lệnh nằm trong 1 thủ tục gọi là Sub.
Mỗi 1 Sub sẽ được bắt đầu với từ khóa Sub và kết thúc với từ khóa End Sub
Cách tạo ra 1 macro bằng Record Macro
Chúng ta có thể tạo ra 1 macro với cách rất đơn giản là thực hiện việc Record Macro.
Record Macro có nghĩa là ghi lại thao tác của người dùng, chuyển hóa thao tác đó thành 1 thủ tục (sub) để biến nó thành 1 Macro.
Các bước để thực hiện Record Macro như sau:
Bước 1: Mở thẻ Developer
Thẻ Developer là một thẻ đặc biệt trong Excel mà phục vụ cho những nhà phát triển, những người muốn áp dụng VBA vào Excel để khiến Excel làm việc hiệu quả hơn. Bản thân thẻ này đã có trong thanh công cụ của Excel, tuy nhiên ở chế độ mặc định thì nó không được hiển thị lên. Do đó muốn sử dụng thẻ này, chúng ta phải mở nó ra.
Cách thực hiện: Mời các bạn đọc ở bài viết:
Cách hiện thẻ Developer để ghi Macro hoặc viết code VBA trong Excel
Bước 2: Bấm nút Record Macro
Tại thẻ Developer, chúng ta chọn tới nút Record Macro như hình sau:
Macro name: tên của Macro được tạo bởi việc Record Macro
Shortcut key: phím tắt cho Macro được tạo
Store macro in: nơi lưu trữ macro trong các Project của VBA
Description: mô tả về macro, ghi chú
Bước 3: Những lưu ý khi kết thúc lệnh Record Macro
Khi đã bước vào tiến trình ghi Macro, chúng ta cần hết sức chú ý:
Bất kỳ thao tác nào của chúng ta cũng sẽ được ghi lại thành đoạn code của Macro trong VBA (dù có làm việc với Excel hay không). Do đó cần hết sức hạn chế các thao tác thừa: lăn chuột, chọn/di chuyển quá nhiều ô, nhiều sheet…
Những thao tác phức tạp sẽ cho ra những câu lệnh phức tạp. Do đó cố gắng sử dụng những thao tác đơn giản nhất, chính xác nhất nếu bạn mới học VBA.
Luôn nhớ bấm nút Stop Recording khi muốn dừng việc ghi Macro. Nút Stop Recording ở tại chính vị trí nút Record Macro khi ở chế độ ghi Macro:
Macro vừa ghi được sẽ nằm trong môi trường VBA. Do đó chúng ta cần mở môi trường này ra thì mới có thể xem được nội dung của Macro.
Trong thẻ Developer, các bạn bấm vào mục Visual Basic (hay phím tắt là Alt + F11)
Khi bấm vào Module1 thì thấy Sub Macro1. Đây chính là tên của Macro vừa ghi lại bởi Record Macro.
Với người mới học ngôn ngữ lập trình VBA, việc nhớ cách viết các câu lệnh khá là khó. Điều chúng ta băn khoăn nhất chính là không hiểu được cách viết 1 câu lệnh thế nào cho đúng, tiếp đó là cách diễn tả 1 mong muốn thành câu lệnh trong macro.
Cả 2 thắc mắc này đều có thể giải quyết thông qua việc sử dụng Record Macro. Chúng ta chưa cần phải biết viết code hay tự viết, bởi Excel sẽ làm điều đó giúp chúng ta. Chúng ta chỉ cần biết cách điều khiển Excel làm việc đó, và biết sử dụng kết quả thu được.
Những nguyên tắc khi tự học VBA thông qua Record Macro (không phải bắt buộc, nhưng nên tuân thủ)
Nguyên tắc 1: Biết rõ mục đích, thao tác cần thực hiện.
Việc này giúp hạn chế thao tác thừa, đồng thời giúp việc đọc hiểu code thông qua các thao tác vừa thực hiện được tốt hơn.
Nguyên tắc 2: Ghi lại các thao tác bằng tiếng việt trước cho từng đoạn lệnh.
Việc này giúp quá trình đọc, biên dịch lại các code được dễ dàng, dễ hiểu hơn khi đối chiếu tiếng việt với code
Nguyên tắc 3: Xóa bỏ những đoạn code thừa, không cần thiết
Trong quá trình record macro không thể tránh khỏi việc có những thao tác thừa. Do đó khi áp dụng nguyên tắc 1 và nguyên tắc 2, chúng ta có thể lọc ra được những đoạn code nào là thừa, không cần thiết. Khi đã lọc được rồi chúng ta nên xóa bỏ những đoạn code thừa, tránh gây nhầm lẫn trong quá trình chạy, xử lý code sau này.
Nguyên tắc 4: Lưu lại macro đã học được
Sau mỗi lần học VBA thông qua record macro, chúng ta lại thu được 1 macro làm một nhiệm vụ cụ thể. Những việc này có thể lặp đi lặp lại rất nhiều lần trong quá trình chúng ta học VBA, áp dụng VBA vào excel. Do đó cần lưu lại các macro đã học để có thể sử dụng lại bất cứ khi nào, tránh mất thời gian thực hiện lại. Việc này sẽ giúp chúng ta tăng tốc độ học, biết được những đoạn code nào là mới, code nào đã biết… để bổ sung thêm vào danh sách macro ngày một nhiều hơn.
Việc lập trình bao gồm 2 mảng chính:
Như vậy khi chúng ta biết cách sử dụng record macro và học VBA thông qua thao tác này, tức là chúng ta đã biết được gần 1 nửa những gì cần phải học, phải làm. Do đó với những ai đang có định hướng tìm hiểu VBA từ con số 0, chúng ta nên bắt đầu với việc học cách sử dụng record macro trong Excel luôn và ngay. Bạn sẽ thấy học VBA không khó như bạn vẫn nghĩ.
Tự động lọc danh sách không trùng với Advanced Filter VBA cực kỳ đơn giản Hướng dẫn cách lọc dữ liệu vào Báo cáo chi tiết trong Excel bằng VBA Tự động tô màu dòng của ô được chọn trong bảng bằng VBA
Cách Sử Dụng Macro Và Vba Trong Microsoft Excel
VBA là cách gọi tắt của Visual Basic for Application, là một ngôn ngữ lập trình dựa trên ngôn ngữ VB được phát triển bởi Microsoft.
VBA ngoài được tích hợp vào chung với Microsoft Office như Excel, Word, PowerPoint hay Outlook, nó còn được sử dụng trong cả Autocad để tạo ra các bản vẽ được lập trình sẵn.
Còn Macro, đây là một công cụ giúp bạn ghi lại các thao tác thực hiện dưới dạng câu lệnh VBA khi thao tác trên Excel. Đây là công cụ có thể giúp bạn tự động hóa nhiều thao tác trên Excel và trong bài chia sẻ này mình sẽ chia sẻ với các bạn cách để thực hiện.
Cách sử dụng Macro và VBA trong Microsoft Excel
Đầu tiên, đê thuận tiện bạn nên đưa công cụ Developer ra thanh Ribbon Toolbar của Excel.
Cách thêm công cụ Developer vào Ribbon Toolbar Excel.
Sau khi đưa Developer ra thanh công cụ Ribbon Toolbar, bạn sẽ thấy các thành phần chính để xây dựng VBA như sau:
Code: Bao gồm quản lý VBA, và Macro.
Controls: Bao gồm các Object để liên kết với các thành phần trong VBA.
Để vào giao diện quản lý VBA thì bạn có thể sử dụng 2 cách:
Chuyển sang Developer và chọn Visual Basic.
Hoặc sử dụng tổ hợp phím Alt +F11
Trong giao diện VBA sẽ có các thành phần như:
Thanh công cụ.
Cây menu quản lý Sheet, Module, Class, UserForm
Màn hình soạn thảo lệnh.
Màn hình cho phép bạn tạo các điểm để xem khi Debug lệnh.
Sheet1…Sheetn: được tự động tạo ra theo số Sheet từ File. Khi tạo lệnh trong từng Sheet thì lệnh đó chỉ được gọi và sử dụng từ Sheet đó.
UserForm: được dùng để tạo giao diện người dùng và viết lệnh.
Module: khác với Sheet, module có thể được truy xuất từ tất cả các Sheet và Module, Class khác trong cùng một VBA Project.
Class: cũng tương tự như Module nhưng Class được dùng để tạo các Objet với các thuộc tính được bạn định nghĩa.
👉Để hình dung đơn giản về cách để viết lệnh trong VBA mình sẽ làm một ví dụ cụ thể về hàm cộng, ví dụ như tính tổng của giá trị cộng với 3.
Khi viết hàm bình thường, bạn có thể sẽ viết như A2 + 3. Nhưng khi sử dụng VBA để tạo hàm mới bạn có thể sẽ thực hiện như sau:
Tạo một Module mới.
Thêm vào Module vừa tạo đoạn lệnh sau.
Function Cong_Them_3(so As Integer) Cong_Them_3 = so + 3 End FunctionTrong đó:
Function: Khai báo hàm kiểu trả về.
Cong_Them_3: Là tên hàm.
so As Integer: khai báo biến so là kiểu Interger (kiểu số).
Cong_Them_3 = so + 3: tổng của biến so +3 sẽ được trả về hàm.
End Function: kết thúc hàm.
Một cách đơn giản hơn việc tự tạo các hàm VBA là bạn có thể tận dụng cộng cụ Macro. Công cụ này sẽ tạo ra một Module mới khi bạn khởi tạo Macro và ghi lại toàn bộ thao tác trên bảng tính Excel dưới dạng các câu lệnh VBA.
Ở đây mình có 1 ví dụ là tạo một Macro tự động cộng thêm 1 (AutoFill).
Đầu tiên, bạn chọn vào Record Macro
Chọn Cells A1.
Nhập vào Cells A1 giá trị 1
Sau đó thực hiện AutoFill đến Cells A10.
Là lệnh thao tác chọn Cells A1.
Ghi vào Cells đang được chọn giá trị là 1. Tức là ở câu lệnh (1) bạn đã chọn Cells A1 thì ActiveCell chính là Cell A1.
Lệnh thực hiện AutoFill, tức là giá trị tiếp theo sẽ được cộng thêm 1.
Vùng giá trị sau khi AutoFill sẽ được chọn là Range(“A1:A10”).
Bây giờ để áp dụng lại các thao tác bạn vừa thực hiện đã được Macro ghi lại. Bạn hãy tạo một Sheet mới và chọn thêm nút nhấn liên kết tới Macro.
Để lưu một file có Macro hay VBA thì bạn hãy lưu file bằng định dạng: Excel Macro-Enable Workbook.
✅ Lưu ý: Không lưu bằng định dạng khác vì Macro sẽ bị mất.
Để mở các file có Macro thì khi mở bạn cần chọn Enable Content (1) để cho phép chạy Macro hoặc chọn vào Macro Security (2) để mặc định theo tùy chọn.
OK! Bài viết này chia sẻ với các bạn những điều cơ bản nhất để các bạn tổng quát và hình dung được VBA và Macro là gì và hoạt động như thế nào.
Bạn hãy cố gắng làm quen và sử dụng 2 công cụ này vì nó sẽ giúp bạn tạo ra tốc độ cũng như điều khác biệt trong việc thao tác và quản lý dữ liệu.
Top 100 Mã Excel Vba Macros Hữu Dụng
Top 100 mã Excel VBA Macros hữu dụng
8/28/2019
Bạn có thể sử dụng những mã code này ngay cả khi bạn chưa từng sử dụng VBA trước đây.
Nhưng điều đầu tiên phải biết là:
Mã Macro là gì?
Trong Excel, mã macro là một mã lập trình được viết bằng ngôn ngữ VBA (Visual Basic for Applications).
Ý tưởng đằng sau việc sử dụng mã là để tự động hóa một hành động mà nếu không bạn phải thực hiện thủ công trong Excel.
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…
Di chuyển đến developer tab của bạn và
nhấp chọn “Visual Basic”.
Phía bên trái trên “Project Window”, nhấp chuột phải vào tên workbook của bạn và chèn vào một module mới.
Dán mã code của bạn vào trong module đó và đóng lại.
Bây giờ, di chuyển đến developer tab và nhấp chuột vào Macro.
Macro sẽ hiển thị một cửa sổ danh sách các macro có trong tệp của bạn, từ đó bạn có thể chạy các macro có trong danh sách đó.
BASIC CODE
Những mã code VBA này sẽ giúp bạn thực hiện một số công việc cơ bản trong nháy mắt mà bạn thường làm trên bảng tính.
Add Serial Numbers (đánh số thự tự tự động)
Code macro này sẽ giúp bạn bổ sung số serial tự động trên trang Excel.
Sau khi bạn chạy mã macro này, màn hình sẽ hiển thị input box để bạn nhập tối đa số serial và sau đó, nó sẽ chèn các số vào cột theo thứ tự.
Sub AddSerialNumbers()
Dim i As Integer
On Error GoTo Last
i = InputBox("Enter Value", "Enter Serial Numbers")
For i = 1 To i
ActiveCell.Value = i
ActiveCell.Offset(1, 0).Activate
Next i
Last:Exit Sub
End Sub
Add Multiple Columns (chèn cột)
Sau khi chạy mã macro, màn hình sẽ hiển thị một input box và bạn phải nhập số cột mà bạn muốn chèn.
Sub InsertMultipleColumns()
Dim i As Integer
Dim j As Integer
ActiveCell.EntireColumn.Select
On Error GoTo Last
i = InputBox(“Enter number of columns to insert”, “Insert Columns”)
For j = 1 To i
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromRightorAbove
Next j
Last:Exit Sub
End Sub
Add Multiple Rows (chèn dòng)
Sau khi chạy mã macro, màn hình sẽ hiển thị một input box và bạn phải nhập số hàng mà bạn muốn chèn.
Sub InsertMultipleRows()
Dim i As Integer
Dim j As Integer
ActiveCell.EntireRow.Select
On Error GoTo Last
i = InputBox(“Enter number of columns to insert”, “Insert
Columns”)
For j = 1 To i
Selection.Insert Shift:=xlToDown,
CopyOrigin:=xlFormatFromRightorAbove
Next j
Last:Exit Sub
End Sub
Auto Fit Columns (tự động canh các cột)
Nhanh chóng tự động khớp tất cả các hàng trong worksheet của bạn.
Mã macro này sẽ chọn tất cả các ô trong worksheet và tự động khớp ngay lập tức các cột.
Sub AutoFitColumns()
Cells.Select
Cells.EntireColumn.AutoFit
End Sub
Auto Fit Rows (tự động canh các dòng)
Bạn có thể sử dụng mã code này để tự động khớp tất cả các hàng trong worksheet.
Khi bạn chạy mã này, nó sẽ chọn tất cả các ô trong worksheet và tự động khớp ngay lập tức các hàng.
Sub AutoFitRows()
Cells.Select
Cells.EntireRow.AutoFit
End Sub
Remove Text Wrap (bỏ chế độ wrap text)
Mã code này sẽ giúp bạn xóa text wrap khỏi toàn bộ worksheet với một cái nhấp chuột. Đầu tiên nó sẽ chọn tất cả các cột và sau đó xóa text wrap và tự động khớp các hàng và cột.
Sub RemoveWrapText()
Cells.Select
Selection.WrapText = False
Cells.EntireRow.AutoFit
Cells.EntireColumn.AutoFit
End Sub
Unmerge Cells (không kết nối các ô)
Chọn các ô và chạy mã này, nó sẽ không sát nhập tất cả các ô vừa chọn với dữ liệu bị mất của bạn.
Sub UnmergeCells()
Selection.UnMerge
End Sub
Open Calculator (mở máy tính trên excel)
Trong cửa sổ có một máy tính cụ thể và sử dụng mã macro này, bạn có thể mở máy tính trực tiếp từ Excel cho việc tính toán.
Sub OpenCalculator()
Application.ActivateMicrosoftApp Index:=0
End Sub
Add Header/Footer Date (thêm ngày ở chân trang/đầu trang)
Sử dụng mã này để bổ sung ngày vào phần header và footer trong worksheet.
Bạn có thể điều chỉnh mã này để đổi từ header sang footer.
Sub dateInHeader()
With ActiveSheet.PageSetup
.LeftHeader = “”
.CenterHeader = “&D”
.RightHeader = “”
.LeftFooter = “”
.CenterFooter = “”
.RightFooter = “”
End With
ActiveWindow.View = xlNormalView
End Sub
Custom Header/Footer (chèn đầu trang/chân trang theo ý bạn)
Nếu bạn muốn chèn header tùy chỉnh thì đây là một mã dành cho bạn.
Chạy mã này, nhập giá trị tùy chỉnh vào input box. Để thay đổi liên kết của header hoặc footer, bạn có thể điều chỉnh mã.
Sub customHeader()
Dim myText As Stringmy
Text = InputBox(“Enter your text here”, “Enter Text”)
With ActiveSheet.PageSetup
.LeftHeader = “”
.CenterHeader = myText
.RightHeader = “”
.LeftFooter = “”
.CenterFooter = “”
.RightFooter = “”
End With
End Sub
Formatting Codes
Những mã VBA này sẽ giúp bạn định dạng các ô và phạm vi bằng cách sử dụng một số tiêu chuẩn và điều kiện cụ thể.
Highlight Duplicates from Selection (tô màu các ô cùng giá trị trong vùng được chọn)
Mã macro này sẽ kiểm tra mỗi ô bạn chọn và làm nổi bật các giá trị trùng lặp.
Bạn cũng có thể thay đổi màu sắc từ mã này.
Sub HighlightDuplicateValues()
Dim myRange As Range
Dim myCell As Range
Set myRange = Selection
For Each myCell In myRange
myCell.Interior.ColorIndex = 36
End If
Next myCell
End Sub
Highlight the Active Row and Column
Đây là những bước để thực hiện mã code này nhanh chóng.
Mở VBE (ALT + F11).
Di chuyển đến Project Explorer (Crtl + R, If hidden).
Chọn workbook của bạn và nhấp đúp chuột vào tên một worksheet cụ thể mà bạn muốn kích hoạt mã macro.
Đóng VBE và bạn đã hoàn thành.
Hãy lưu ý rằng, khi áp dụng mã macro này bạn sẽ không thể điều chỉnh ô bằng cách nhấp đúp chuột.
Cancel As Boolean)
Dim strRange As String
strRange = Target.Cells.Address & “,” Target.Cells.EntireColumn.Address & “,” & _
Target.Cells.EntireRow.Address
Range(strRange).Select
End Sub
Highlight Top 10 Values
Chỉ chọn một phạm vi và chạy mã macro này và nó sẽ làm nổi bật top 10 values với màu xanh.
Sub TopTen()
Selection.FormatConditions.AddTop10
Selection.FormatConditions(Selection.FormatConditions.Count).S
tFirstPriority
With Selection.FormatConditions(1)
.TopBottom = xlTop10Top
.Rank = 10
.Percent = False
End With
With Selection.FormatConditions(1).Font
.Color = -16752384
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13561798
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Highlight Named Ranges
Nếu bạn không chắc chắn bao nhiêu phạm vi được chỉ định trong worksheet của bạn thì bạn có thể sử dụng mã này để làm nổi bật chúng.
Sub HighlightRanges()
Dim RangeName As Name
Dim HighlightRange As Range
On Error Resume Next
For Each RangeName In ActiveWorkbook.Names
Set HighlightRange = RangeName.RefersToRange
HighlightRange.Interior.ColorIndex = 36
Next RangeName
End Sub
Highlight Greater than Values
Sau khi chạy mã này, nó sẽ yêu cầu giá trị mà bạn muốn làm nổi bật các giá trị lớn hơn.
Sub HighlightGreaterThanValues()
Dim i As Integer
i = InputBox(“Enter Greater Than Value”, “Enter Value”)
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue,
Operator:=xlGreater, Formula1:=i
Selection.FormatConditions(Selection.FormatConditions.Count).S
tFirstPriority
With Selection.FormatConditions(1)
.Font.Color = RGB(0, 0, 0)
.Interior.Color = RGB(31, 218, 154)
End With
End Sub
Highlight Lower than Values
Sau khi chạy mã này, nó sẽ yêu cầu giá trị mà bạn muốn làm nổi bật các giá trị thấp hơn.
Sub HighlightLowerThanValues()
Dim i As Integer
i = InputBox(“Enter Lower Than Value”, “Enter Value”)
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue,
Operator:=xlLower, Formula1:=i
Selection.FormatConditions(Selection.FormatConditions.Count).S
tFirstPriority
With Selection.FormatConditions(1)
.Font.Color = RGB(0, 0, 0)
.Interior.Color = RGB(217, 83, 79)
End With
End Sub
Highlight Negative Numbers
Chọn một pham vi các ô và chạy mã này. Nó sẽ kiểm tra mỗi ô trong phạm vi này và làm nổi bật tất cả các ô có (negative numbers).
Sub highlightNegativeNumbers()
Dim Rng As Range
For Each Rng In Selection
If WorksheetFunction.IsNumber(Rng) Then
If Rng.Value < 0 Then
Rng.Font.Color= -16776961
End If
End If
Next
End Sub
Highlight Specific Text
Giả sử bạn có một tệp dữ liệu lớn và bạn muốn kiểm tra một giá trị cụ thể. Trong trường hợp này, bạn có thể sử dụng mã này. Khi bạn chạy nó, màn hình sẽ hiện input box để bạn nhập giá trị muốn tìm kiếm.
Sub highlightValue()
Dim myStr As String
Dim myRg As Range
Dim myTxt As String
Dim myCell As Range
Dim myChar As String
Dim I As Long
Dim J As Long
On Error Resume Next
myTxt= ActiveWindow.RangeSelection.AddressLocal
Else
myTxt= ActiveSheet.UsedRange.AddressLocal
End If
LInput: Set myRg= Application.InputBox(“please select the data
range:”, “Selection Required”, myTxt, , , , , 8)
If myRg Is Nothing Then
Exit Sub
MsgBox”not support multiple columns” GoToLInput
End If
MsgBox”the selected range can only contain two columns “
GoTo LInput
End If
For I = 0 To myRg.Rows.Count-1
myStr= myRg.Range(“B1”).Offset(I, 0).Value
With myRg.Range(“A1”).Offset(I, 0)
.Font.ColorIndex= 1
For J = 1 To Len(.Text)
Mid(.Text, J, Len(myStr)) = myStrThen
.Characters(J, Len(myStr)).Font.ColorIndex= 3
Next
End With
Next I
End Sub
Highlight Cells with Comments
Sub highlightCommentCells()
Selection.SpecialCells(xlCellTypeComments).Select
Selection.Style= “Note”
End Sub
Highlight Alternate Rows in the Selection
Với việc làm nổi bật các hàng thay thế, bạn có thể dễ dàng đọc dữ liệu hơn. Và vì điều này, bạn có thể sử dụng mã VBA bên dưới. Mã chỉ đơn giản làm nổi bật mỗi hàng thay thế trong phạm vi được chọn.
Sub highlightAlternateRows()
Dim rng As Range
For Each rng In Selection.Rows
If rng.RowMod 2 = 1 Then
rng.Style= “20% -Accent1”
rng.Value= rng^ (1 / 3)
Else
End If
Next rng
End Sub
Highlight Cells with Misspelled Words
Nếu bạn gặp khó khăn trong việc kiểm tra tất cả các hàng về lỗi chính tả thì đây là một mã dành cho bạn. Mã sẽ kiểm tra mỗi ô được chọn và làm nổi bật ô đó khi có lỗi chính tả.
Sub HighlightMisspelledCells()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange
If Not Application.CheckSpelling(word:=rng.Text) Then
rng.Style= “Bad” End If
Next rng
End Sub
Highlight Cells With Error in the Entire Worksheet
Mã này sẽ giúp bạn làm nổi bật và đếm tất cả các ô có lỗi.
Chỉ việc chạy mã này và mã sẽ trả lại một thông báo có số ô lỗi và làm nổi bật tất cả các ô đó.
Sub highlightErrors()
Dim rng As Range
Dim i As Integer
For Each rng In ActiveSheet.UsedRange
If WorksheetFunction.IsError(rng) Then
i = i + 1 rng.Style = “bad”
End If
Next rng
MsgBox “There are total ” & i & ” error(s) in this worksheet.”
End Sub
Highlight Cells with a Specific Text in Worksheet
Mã này sẽ giúp bạn đếm 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 ô đó.
Sub highlightSpecificValues()
Dim rng As Range
Dim i As Integer
Dim c As Variant
c = InputBox(“Enter Value To Highlight”)
For Each rng In ActiveSheet.UsedRange
If rng = c Then
rng.Style = “Note”
i = i + 1
End If
Next rng
MsgBox “There are total ” & i &” “& c & ” in this worksheet.”
End Sub
Highlight all the Blank Cells Invisible Space
Đôi khi có những ô trống nhưng chúng có một khoảng trống duy nhất và vì vậy, sẽ rất khó để nhận biết chúng. Mã này sẽ giúp bạn kiểm tra tất cả các ô trong worksheet và làm nổi bật các ô có khoảng trống nhất định.
Sub blankWithSpace()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange
If rng.Value = ” ” Then
rng.Style = “Note”
End If
Next rng
End Sub
Highlight Max Value In The Range
Mã này sẽ kiểm tra tất cả các ô được chọn và làm nổi bật ô đó với giá trị lớn nhất.
Sub highlightMaxValue()
Dim rng As Range
For Each rng In Selection
If rng = WorksheetFunction.Max(Selection) Then
rng.Style = “Good”
End If
Next rng
End Sub
Highlight Min Value In The Range
Mã sẽ kiểm tra tất cả các ô được chọn và làm nổi bật ô đó với giá trị nhỏ nhất.
Sub highlightMinValue()
Dim rng As Range
For Each rng In Selection
If rng = WorksheetFunction.Min(Selection) Then
rng.Style = “Good”
End If
Next rng
End Sub
Highlight Unique Values
Các mã này sẽ làm nổi bật tất cả các ô được chọn mà có giá trị duy nhất.
Sub highlightUniqueValues()
Dim rng As Range
Set rng = Selection
rng.FormatConditions.Delete
Dim uv As UniqueValues
Set uv = 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
Highlight Difference in Rows
Sử dụng mã này bạn có thể làm nổi bật sự khác nhau giữa 2 hàng (các ô tương ứng).
Sub rowDifference()
Range(“H7:H8,I7:I8”).Select
Selection.RowDifferences(ActiveCell).Select
Selection.Style= “Bad”
End Sub
Printing Codes
Những mã macro này sẽ giúp bạn tự động in một số công việc mà có thể tiết kiệm rất nhiều thời gian.
Print Comments
Sub printComments()
With ActiveSheet.PageSetup
.printComments= xlPrintSheetEnd
End With
End Sub
Print Narrow Margin
Sử dụng mã VBA này để in giấy có lề hẹp. Khi bạn chạy mã macro này, mã sẽ tự động thay đổi lề thành hẹp.
Sub printNarrowMargin()
With ActiveSheet.PageSetup
.LeftMargin= Application
.InchesToPoints(0.25)
.RightMargin= Application.InchesToPoints(0.25)
.TopMargin= Application.InchesToPoints(0.75)
.BottomMargin= Application.InchesToPoints(0.75)
.HeaderMargin= Application.InchesToPoints(0.3)
.FooterMargin= Application.InchesToPoints(0.3)
End With
ActiveWindow.SelectedSheets.PrintOutCopies:=1, Collate:=True,
IgnorePrintAreas:=False
End Sub
Print Selection
Mã này sẽ giúp bạn in phạm vi được chọn. Bạn không cần phải di chuyển đến mục printing options và cài đặt phạm vi in. bạn chỉ việc chọn một phạm vi và chạy mã này.
Sub printSelection()
Selection.PrintOutCopies:=1, Collate:=True
End Sub
Print Custom Pages
Thay vì sử dụng cài đặt từ print options, bạn có thể sử dụng mã này để in phạm vi trang điều chỉnh.
Ví dụ bạn muốn từ trang 5 đến trang10. Bạn chỉ cần chạy mã VBA này và nhập trang bắt đầu và trang kết thúc.
Sub printCustomSelection()
Dim startpageAs Integer
Dim endpageAs Integer
startpage= InputBox(“Please Enter Start Page number.”, “Enter
Value”)
If Not WorksheetFunction.IsNumber(startpage) Then
MsgBox”Invalid Start Page number. Please try again.”, “Error”
Exit Sub
End If
endpage= InputBox(“Please Enter End Page number.”, “Enter
Value”)
If Not WorksheetFunction.IsNumber(endpage) Then
MsgBox”Invalid End Page number. Please try again.”, “Error”
Exit Sub
End If
Selection.PrintOutFrom:=startpage, To:=endpage, Copies:=1,
Collate:=True
End Sub
Worksheet Codes
Những mã macro này sẽ giúp bạn kiểm soát và quản lý worksheets theo một cách đơn giản và tiết kiệm rất nhiều thời gian.
Hide all but the Active Worksheet
Ví dụ bạn muốn ẩn tất cả các worksheets trong workbook của bạn ngoài worksheet đang hoạt động. Mã macro này sẽ giúp bạn làm điều này.
Sub HideWorksheet()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Visible = xlSheetHidden
End If
Next ws
End Sub
Unhide all Hidden Worksheets
Mã này dành cho việc nếu bạn muốn hiển thị tất cả các worksheets mà bạn đã ẩn trong mà trước.
Sub UnhideAllWorksheet()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub
Delete all but the Active Worksheet
Mã này rất hữu ích cho bạn nếu bạn muốn xóa tất cả các worksheet ngoại trừ sheet đang hoạt động.
Khi bạn chạy mã này, mã sẽ so sánh tên workwheet đang hoạt động với các worksheet khác và sau đó xóa chúng.
Sub DeleteWorksheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End If
Next ws
End Sub
Protect all Worksheets Instantly
Đây là mã dành cho bạn nếu bạn muốn protect các worksheet chỉ trong một lần.
Sub ProtectAllWorskeets()
Dim ws As Worksheet
Dim ps As String
ps = InputBox(“Enter a Password.”, vbOKCancel)
For Each ws In ActiveWorkbook.Worksheets
ws.Protect Password:=ps
Next ws
End Sub
Resize All Charts in a Worksheet.
Tạo các chart có cùng một kích cỡ. mã macro này sẽ giúp bạn tạo tất cả các chart có chung kích cỡ. Bạn có thể thay đổi chiều cao và chiều rộng của chart bằng cách thay đổi nó trong mã macro.
Sub Resize_Charts()
Dim i As Integer
For i = 1 To ActiveSheet.ChartObjects.Count
With ActiveSheet.ChartObjects(i)
.Width = 300
.Height = 200
End With
Next i
End Sub
Insert Multiple Worksheets
Bạn có thể sử dụng mã này nếu bạn muốn thêm nhiều worksheet trong workbook của bạn chỉ trong một bước.
Khi bạn chạy mã macro này, bạn sẽ nhận được input box để nhập tổng số sheet mà bạn muốn nhập.
Sub InsertMultipleSheets()
Dim i As Integer
i = InputBox(“Enter number of sheets to insert.”, “Enter
Multiple Sheets”)
Sheets.Add After:=ActiveSheet, Count:=i
End Sub
Protect worksheet
Nếu bạn muốn protect worksheet, bạn có thể sử dụng mã này.
Bạn chỉ cần nhập password của bạn vào trong mã.
Sub ProtectWS()
ActiveSheet.Protect “mypassword”, True, True
End Sub
Un-Protect Worksheet
Nếu bạn không muốn protect worksheet, bạn có thể sử dụng mà macro này.
Bạn chỉ cần nhập password mà bạn đã sử dụng khi protect worksheet của bạn.
Sub UnprotectWS()
ActiveSheet.Unprotect “mypassword”
End Sub
Sort Worksheets
Mã này sẽ giúp bạn sắp xếp worksheets trong workbook dựa vào tên của worksheet.
Sub SortWorksheets()
Dim i As Integer
Dim j As Integer
Dim iAnswer As VbMsgBoxResult
iAnswer = MsgBox(“Sort Sheets in Ascending Order?” & Chr(10) _
vbYesNoCancel + vbQuestion + vbDefaultButton1, “Sort
Worksheets”)
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count – 1
If iAnswer = vbYes Then
Sheets(j).Move After:=Sheets(j + 1)
End If
ElseIf iAnswer = vbNo Then
If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
End If
Next j
Next i
End Sub
Protect all the Cells With Formulas
Sub lockCellsWithFormulas()
With ActiveSheet
.Unprotect
.Cells.Locked = False
.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
.Protect AllowDeletingRows:=True
End With
End Sub
Delete all Blank Worksheets
Chạy mã này và mã sẽ kiểm tra tất cả các worksheets trong workbook đang hoạt động và xóa chúng nếu có một worksheet trống.
Sub deleteBlankWorksheets()
Dim Ws As Worksheet
On Error Resume Next
Application.ScreenUpdating= False
Application.DisplayAlerts= False
For Each Ws In Application.Worksheets
If Application.WorksheetFunction.CountA(Ws.UsedRange) = 0 Then
Ws.Delete
End If
Next
Application.ScreenUpdating= True
Application.DisplayAlerts= True
End Sub
Unhide all Rows and Columns
Thay vì hiển thị từng hàng và cột một cách thủ công, bạn có thể sử dụng mã này để thực hiện chỉ trong một bước.
Sub UnhideRowsColumns()
Columns.EntireColumn.Hidden = False
Rows.EntireRow.Hidden = False
End Sub
Save Each Worksheet as a Single PDF
mã này chỉ đơn giản lưu tất cả worksheet vào một tệp PDF riêng. Bạn chỉ cần thay đổi tên tệp từ mã này.
Sub SaveWorkshetAsPDF()
Dimws As Worksheet
For Each ws In Worksheetsws.ExportAsFixedFormat xlTypePDF,
“ENTER-FOLDER-NAME-HERE” & chúng tôi & “.pdf” Nextws
End Sub
Disable Page Breaks
Bạn có thể sử dụng mã này để vô hiệu hóa ngắt trang. Mã đơn giản chỉ vô hiệu hóa ngắt trang từ các workbook đang mở.
Sub DisablePageBreaks()
Dim wbAs Workbook
Dim wksAs Worksheet
Application.ScreenUpdating= False
For Each wbIn Application.Workbooks
For Each ShtIn wb.WorksheetsSht.DisplayPageBreaks= False
Next Sht
Next wb
Application.ScreenUpdating= True
End Sub
Workbook Codes
Những mã này sẽ giúp bạn thực hiện các công việc workbook một cách đơn giản và không phải tốn nhiều công sức.
Create a Backup of a Current Workbook
Đây là một trong những mã macro hữu ích nhất có thể giúp bạn lưu một tệp hỗ trợ cho workbook của bạn.
Mã sẽ lưu một tệp hỗ trợ trực tiếp với tệp hiện tại được lưu và mã cũng sẽ bổ sung ngày và tên của tệp.
Sub FileBackUp()
ThisWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & _
“” & Format(Date, “mm-dd-yy”) & ” ” & _
ThisWorkbook.name
End Sub
Close all Workbooks at Once
Bạn sử dụng mã này để đóng tất cả các workbook đang mở.
Đầu tiên, mã sẽ kiểm tra từng workbook một và đóng chúng lại. Nếu có bất kỳ worksheet nào chưa được lưu, bạn sẽ nhận được thông báo để lưu.
Sub CloseAllWorkbooks()
Dim wbs As Workbook
For Each wbs In Workbooks
wbs.Close SaveChanges:=True
Next wb
End Sub
Copy Active Worksheet into a New Workbook
Ví dụ, nếu bạn muốn sao chép worksheet đang hoạt động vào một workbook mới, bạn chỉ cần chạy mã macro và mã sẽ thực hiện cho bạn.
Điều này tiết kiệm rất nhiều thời gian.
Sub CopyWorksheetToNewWorkbook()
ThisWorkbook.ActiveSheet.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 bạn bằng 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 trực tiếp email này, sử dụng “.Send” thay vì “.Display”.
Sub Send_Mail()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject(“Outlook.Application”)
Set OutMail = OutApp.CreateItem(0)
With OutMail
.to = “Sales@FrontLinePaper.com”
.Subject = “Growth Report”
.Body = “Hello Team, Please find attached Growth Report.”
.Attachments.Add ActiveWorkbook.FullName
.display
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Add Workbook to a Mail Attachment
Sau khi chạy mã này, mã sẽ mở ứng dụng thư mặc định của bạn và active workbook sẽ được đính kèm với mail.
Sub OpenWorkbookAsAttachment()
Application.Dialogs(xlDialogSendMail).Show
End Sub
Welcome Message
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 chỉ định mã macro “auto_open”.
Sub auto_open()
MsgBox “Welcome To ExcelChamps & Thanks for downloading this
file.”
End Sub
Closing Message
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 chỉ định mã macro “close_open”.
Sub auto_close()
MsgBox “Bye Bye! Don’t forget to check other cool stuff on
excelchamps.com”
End Sub
Count Open Unsaved Workbooks
Ví dụ bạn đang mở 5-10 workbook, bạn có thể sử dụng mã này để biết được số workbook chưa được lưu.
Sub VisibleWorkbooks()
Dim book As Workbook
Dim i As Integer
For Each book In Workbooks
If book.Saved = False Then
i = i + 1
End If
Next book
MsgBox i
End Sub
Pivot Table Codes
Các mã này sẽ giúp bạn quản lý và thực hiện một số thay đổi trong pivot table chỉ trong nháy mắt.
Hide Pivot Table Subtotals
Bạn chỉ cần chạy mã này để ẩn tất cả các subtotal.
Đầu tiên, bạn chọn một ô từ pivot table. Sau đó, thực hiện chạy mã này.
Sub HideSubtotals()
Dim pt As PivotTable
Dim pf As PivotField
On Error Resume Next
Set pt = ActiveSheet.PivotTables(ActiveCell.PivotTable.name)
If pt Is Nothing Then
MsgBox “You must place your cursor inside of a PivotTable.”
Exit Sub
End If
For Each pf In pt.PivotFields
pf.Subtotals(1) = True
pf.Subtotals(1) = False
Next pf
End Sub
Refresh All Pivot Tables
Đây là một phương pháp để làm mới các pivot table nhanh chóng.
Chỉ cần chạy mã này, các pivot table trong workbook của bạn sẽ được làm mới chỉ trong một bước.
Sub CloseAllWorkbooks()
Dim wbs As Workbook
For Each wbs In Workbooks
wbs.Close SaveChanges:=True
Next wb
End Sub
Auto Update Pivot Table Range
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 pivot table.
Sub UpdatePivotTableRange()
Dim Data_Sheet As Worksheet
Dim Pivot_Sheet As Worksheet
Dim StartPoint As Range
Dim DataRange As Range
Dim PivotName As String
Dim NewRange As String
Dim LastCol As Long
Dim lastRow As Long
‘Set Pivot Table & Source Worksheet
Set Data_Sheet = ThisWorkbook.Worksheets(“PivotTableData3”)
Set Pivot_Sheet = ThisWorkbook.Worksheets(“Pivot3”)
‘Enter in Pivot Table Name
PivotName = “PivotTable2”
‘Defining Staring Point & Dynamic Range
Data_Sheet.Activate
Set StartPoint = Data_Sheet.Range(“A1”)
LastCol = StartPoint.End(xlToRight).Column
DownCell = StartPoint.End(xlDown).Row
Set DataRange = Data_Sheet.Range(StartPoint, Cells(DownCell, LastCol))
NewRange = Data_Sheet.Name & “!” & DataRange.Address(ReferenceStyle:=xlR1C1)
‘Change Pivot Table Data Source Range Address
Pivot_Sheet.PivotTables(PivotName). _
ChangePivotCache ActiveWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, SourceData:=NewRange)
‘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.
Sub activateGetPivotData()
Application.GenerateGetPivotData = True
End Sub
Sub deactivateGetPivotData()
Application.GenerateGetPivotData = False
End Sub
Charts Codes
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.
Change Chart Type
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
Paste Chart as an Image
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.Range(“A1”).Select
ActiveSheet.Pictures.Paste.Select
End Sub
Add Chart Title
Đầ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 As Variant
i = InputBox(“Please enter your chart title”, “Chart Title”)
On Error GoTo Last
ActiveChart.SetElement (msoElementChartTitleAboveChart)
ActiveChart.ChartTitle.Text = i
Last:
Exit Sub
End Sub
Advanced Codes
Save Selected Range as a 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ừ pivot table. Sau đó, thực hiện chạy mã này.
Sub HideSubtotals()
Dim pt As PivotTable
Dim pf As PivotField
On Error Resume Next
Set pt = ActiveSheet.PivotTables(ActiveCell.PivotTable.n ame)
If pt Is Nothing Then
MsgBox “You must place your cursor inside of a PivotTable.”
Exit Sub
End If
For Each pf In pt.PivotFields
pf.Subtotals(1) = True
pf.Subtotals(1) = False
Next pf
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 đó.
Sub TableofContent()
Dim i As Long
On Error Resume Next
Application.DisplayAlerts = False
Worksheets(“Table of Content”).Delete
Application.DisplayAlerts = True
On Error GoTo 0
ThisWorkbook.Sheets.Add Before:=ThisWorkbook.Worksheets(1)
ActiveSheet.Name = “Table of Content”
For i = 1 To Sheets.Count
With ActiveSheet
.Hyperlinks.Add _
Anchor:=ActiveSheet.Cells(i, 1), _
Address:=””, _
SubAddress:=”‘” & Sheets(i).Name & “‘!A1”, _
ScreenTip:=Sheets(i).Name, _
TextToDisplay:=Sheets(i).Name
End With
Next 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
Insert a Linked Picture
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
Use Text to Speech
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
Activate Data Entry Form
Đâ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
Use Goal Seek
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”)
End With
Exit Sub
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, ” “, “+”)
chromePath = “C:Program
FilesGoogleChromeApplicationchrome.exe”
chromePath = “C:Program Files
(x86)GoogleChromeApplicationchrome.exe”
Shell (chromePath & ” -url http://google.com/#q=” & search_string)
End Sub
Formula Codes
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
Exit Sub
End Select
Set MyRange = Selection
For Each MyCell In MyRange
If MyCell.HasFormula Then
MyCell.Formula = 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, “Alert”)
Case Is = vbYesThisWorkbook.Save
Case Is = vbCancel
Exit Sub
End Select
Set myRange = Selection
For Each myCell In myRange
If Not IsEmpty(myCell) Then
myCell = Trim(myCell)
End If
Next 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 IsNumeric(ActiveCell.Value) Then
ActiveCell.Value = ActiveCell.Value & “°”
End If
End If
Next
End Sub
Reverse Text
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.
Sub ActivateA1()
If Application.ReferenceStyle = xlR1C1 Then
Application.ReferenceStyle = xlA1
Else
Application.ReferenceStyle = xlA1
End If
End Sub
Insert Time Range
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
Next i
End Sub
Convert Date into Day
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”
End With
End If
Next tempCell
End Sub
Convert Date into Year
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”
End With
End If
Next tempCell
End Sub
Remove Time from Date
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
For Each Rng In Selection
If IsDate(Rng) = True Then
Rng.Value = VBA.Int(Rng.Value)
End If
Next
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
For Each Rng In Selection
If IsDate(Rng) = True Then
Rng.Value = Rng.Value – VBA.Fix(Rng.Value)
End If
NextSelection.NumberFormat = “hh:mm:ss am/pm”
End Sub
Convert to Upper Case
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
For Each Rng In Selection
If Application.WorksheetFunction.IsText(Rng) Then
Rng.Value = UCase(Rng)
End If
Next
End Sub
Convert to Lower Case
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.
Sub convertLowerCase()
Dim Rng As Range
For Each Rng In Selection
If Application.WorksheetFunction.IsText(Rng) Then
Rng.Value= LCase(Rng)
End If
Next
End Sub
Convert to Proper Case
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
For Each Rng In Selection
If WorksheetFunction.IsText(Rng) Then
Rng.Value= WorksheetFunction.Proper(Rng.Value)
End If
Next
End Sub
Convert to Sentence Case
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
For Each Rng In Selection
If WorksheetFunction.IsText(Rng) Then
Rng.Value= UCase(Left(Rng, 1)) & LCase(Right(Rng, Len(Rng) -1))
End If
Next rng
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”)
For Each Rng In Selection
Selection.Replace What:=rc, Replacement:=””
Next
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
N = Len(S) – Len(Replace(S, ” “, “”)) + 1
End If
WordCnt = WordCnt + N
Next rng
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”
Next rng
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 multiplyWithNumber()
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
Else
End If
Next rng
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
Else
End If
Next rng
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)
Else
End If
Next rng
End Sub
Calculate the Cube Root
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)
Else
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).Select
Next i
End Sub
Sub addsAlphabets()
Dim i As Integer
For i= 97 To 122
ActiveCell.Value= Chr(i)
ActiveCell.Offset(1, 0).Select
Next 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.Value= Selection.Value
For Each rng In Selection
If Not WorksheetFunction.IsNonText(rng) Then
rng.Value= WorksheetFunction.Arabic(rng)
End If
Next rng
End Sub
Remove Negative Signs
Mã này sẽ kiểm tra các ô được chọn và chuyển đổi các số âm sang số dương. Bạn chỉ cần chọn một phạm vi và chạy mã này.
Sub removeNegativeSign()
Dim rngAs Range
Selection.Value= Selection.Value
For Each rngIn Selection
If WorksheetFunction.IsNumber(rng)
Then rng.Value= Abs(rng)
End If
Next rng
End Sub
Replace Blank Cells with Zeros
Sub replaceBlankWithZero()
Dim rngAs Range
Selection.Value= Selection.Value
For Each rngIn Selection
If rng= “” Or rng= ” ” Then
rng.Value= “0”
Else
End If
Next rng
End Sub
Theo: Excel Champ
Hướng Dẫn Tăng Cường Chức Năng Gan Hiệu Quả
Gan là cơ quan lớn thứ hai trong cơ thể (sau da). Gan đóng nhiều vai trò quan trọng khác nhau trong việc bảo tồn sức khỏe của chúng ta. Tùy theo kích thước và trọng lượng của mỗi cá nhân, gan có sức nặng từ 1.100 – 1.800g. Gan phụ nữ nhỏ hơn gan đàn ông. Gan nằm dưới lồng ngực phải, cách phổi bởi hoành cách mô. Theo truyền thống, gan vẫn được chia thành 2 thùy chính, thùy phải và thùy trái, dựa theo vị trí của dây chằng liềm. Dây chằng này nối liền gan với hoành cách mô và thành bụng trước. Tuy nhiên, sự phân chia này không tương ứng với cơ cấu của lá gan, nên ngày nay, người ta chia lá gan thành 8 khúc dựa vào những phân phối của mạch máu.
Gan là cơ quan duy nhất trong cơ thể cùng một lúc tiếp nhận máu từ 2 nguồn khác nhau: 30% từ tim và 70% từ tĩnh mạch cửa. Máu từ tim với các dưỡng khí và nhiên liệu sẽ nuôi dưỡng các tế bào gan. Máu đến từ tĩnh mạch cửa nhận máu từ những cơ quan như bao tử, lá lách, tụy tạng, túi mật, ruột non, ruột già, cũng như các cơ quan khác nhau trong bụng. Vì gan là cơ quan đầu tiên, tiếp nhận các chất dinh dưỡng và hóa tố khác nhau hấp thụ từ hệ thống tiêu hóa, gan đã trở thành “nhà máy lọc máu” chính và quan trọng nhất trong cơ thể. Thức ăn và tất cả nhiên liệu, vì thế, sẽ phải đi qua gan trước để được thanh lọc và biến chế thành những vật liệu khác nhau. Ðây cũng là nguyên nhân chính mà ung thư từ nhiều cơ quan và bộ phận khác có thể lan sang gan một cách dễ dàng.
Gan tổng hợp axít béo từ glucid, protid và từ các sản phẩm thoái hóa của lipid. Axít béo được chuyển hóa theo chu trình (oxy hóa của Knoop để cho năng lượng (chiếm 60% chuyển hóa axít béo của cơ thể). Ngoài ra, gan còn tổng hợp cholesterol, cholesteroleste, phospholipid, triglycerid và các lipoprotein (HDL, LDL và VLDL).Phospholipid và lipoprotein là các dạng vận chuyển lipid chủ yếu của cơ thể. Cholesteroleste là dạng vận chuyển axít béo.
Axít béo là một trong những nguồn năng lượng quan trọng nhất được dự trữ trong cơ thể chúng ta và cũng là thành phần cơ bản của nhiều loại mỡ quan trọng, kể cả chất triglyceride. Các loại mỡ này có thể được so sánh như những viên gạch của một căn nhà. Vì thế, khi gan bị tổn thương, “nhà” sẽ bị rạn nứt, dễ đổ vỡ. Gan cũng đóng một vai trò quan trọng trong việc tiếp thu và biến chế các chất mỡ và cholesterol đến từ thức ăn thành những chất đạm mỡ. Những chất mỡ này không những chỉ là những nguồn nguyên liệu quý báu khi đói, mà còn là những thành phần cơ bản của nhiều chất hóa học và kích thích tố khác nhau. Sự điều chỉnh các chất mỡ này là một trong những yếu tố quan trọng bảo vệ cơ thể chúng ta trước nhiều bệnh tật. Chất mỡ và cholesterol được tìm thấy nhiều nhất ở các loại thịt mỡ, thịt nâu, một số đồ biển như tôm, cua…
Tổng hợp chất mật: chất mật sau khi được chế tạo trong tế bào gan, sẽ được cô đọng và dự trữ trong túi mật. Sau mỗi bữa cơm, chất mật sẽ theo ống dẫn mật đi xuống tá tràng, trà trộn với thức ăn và giúp cơ thể nhũ hóa các chất béo. Khả năng sản xuất chất mật của người bị chai gan sẽ từ từ giảm dần gây ra trở ngại trong vấn đề hấp thụ chất mỡ và chất béo. Vì thế, họ sẽ dần dần mất ký rồi trở nên thiếu dinh dưỡng cũng như thiếu những vitamins tan-trong-mỡ như vitamin A, D, E, K. Khi thiếu vitamin K, họ sẽ dễ bị chảy máu hơn.
Các vị thuốc, bài thuốc làm tăng cường chức năng gan
Uất kim:
Người bệnh cũng có thể dùng uất kim để làm mát gan, giải độc, lợi gan mật, tăng sinh tế bào, tăng hiệu quả bài thải các chất độc hại cho gan với những bài thuốc sau:
Bài 1 tăng cường chức năng gan: trừ ứ, giảm đau: uất kim, đan sâm, đương quy, bạch thược, đảng sâm, trạch tả, hoàng tinh, sơn dược, sinh địa, rễ cây chàm mỗi vị 12 – 20g; sơn tra, thần khúc, tần giao, hoàng kỳ mỗi vị 12 – 16g, nhân trần 20 – 60g, cam thảo 8 – 16g. Nghiền chung thành bột mịn để làm hoàn, hoặc hòa nước, hoặc sắc uống. Mỗi lần 8g, uống trước bữa ăn sáng và tối, chiêu bằng nước đun sôi còn ấm. Uống 6 ngày thì nghỉ 1 ngày; mỗi đợt điều trị 6 – 8 tuần, nghỉ 1 tuần, sau đó uống tiếp. Dùng khi bụng ngực đau nhức do huyết ứ khí trệ, nhất là khi do viêm gan cấp và mạn tính,thời kỳ đầu, viêm gan trúng độc.
Bài 2 hướng dẫn tăng cường chức năng gan: kê nội kim 16g, kim tiền thảo 20g, uất kim 12g, hồ đào 20g, hải kim sa 20g. Sắc uống. Trị sỏi mật.
Atisô hiệu quả trong việc tăng cường chức năng gan:
Ðối với những bệnh nhân gan, atisô hỗ trợ chức năng tiêu hóa, cải thiện chức năng của túi mật và mang lại nhiều lợi ích thiết thực đối với gan. Hoa atisô có tác dụng bổ dưỡng, kích thích tiêu hóa, lợi gan mật, trợ tim, lợi tiểu, thường dùng nấu canh. Bộ phận dùng làm rau của cây atisô là cụm hoa bao gồm đế mang hoa, các lông tơ và các lá bắc (có phần gốc mềm màu trắng bao chung quanh).
Thành phần dinh dưỡng: trong 100g hoa atisô có chứa: 3 – 3,15g protein, 0,1 – 0,3g lipid, 11 – 15g glucid (chủ yếu là inulase, tốt cho người bị tiểu đường) và 82g nước.
Ngoài ra, hoa atisô còn có chứa các khoáng chất như mangan, phospho, sắt, các vitamin A, B 1, B 2, C, cung cấp 50 – 70 calori. Hoa atisô khi nấu chín có tác dụng bổ dưỡng tăng lực, kích thích tiêu hóa làm ngon miệng, lợi gan mật, trợ tim, lợi tiểu, chống độc, tăng tiết sữa cho sản phụ (khi hầm với chân giò).
Trong Ðông y, hoa atisô dùng trong các trường hợp đau gan, đau dạ dày, ăn uống không tiêu, sản phụ ít sữa, tiểu đường, thống phong, thấp khớp, suy nhược cơ thể…
Chế biến: rửa sạch hoa, chẻ dọc thành 6 – 8 miếng, luộc chín, nấu canh, hầm xương lợn hay bò, hoặc xào với nấm. Chú ý: khi dùng hoa atisô chỉ nên dự trữ trong tủ lạnh tối đa 7 ngày, khi nấu không dùng nồi bằng nhôm hay gang vì các kim loại này làm atisô mất màu, gây đắng khó ăn.
Atisô là vị thuốc có lợi cho gan, mật. tăng cường chức năng gan, mật sẽ giúp cơ thể điều chỉnh lượng cholesterol.
Ngoài ra bạn có thể tham khảo các bài viết khác về Gan tại website: Herba Soul tăng cường chức năng gan
Bạn đang xem bài viết Hướng Dẫn Cách Tự Học Vba Hiệu Quả Với Chức Năng Record Macro trên website Theindochinaproject.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!