Showing posts with label Macro. Show all posts
Showing posts with label Macro. Show all posts

Sunday, April 14, 2019

Công cụ Macro VBA xử lý tệp tuyệt vời trong Excel

Công cụ xử lý tệp Excel

Nhiều công ty đã sử dụng bảng tính trong nhiều thập kỷ. Đôi khi các mô hình bảng tính có thể quay trở lại sau 20 năm, khi các bước đầu tiên được thực hiện để xây dựng chúng, đôi khi sử dụng Lotus 123 hoặc các ứng dụng bảng tính khác.

RemTool02

Thường xuyên hơn không, các mô hình (thường là kinh doanh quan trọng) này đã được mở rộng đáng kể qua nhiều năm:
  • Các trang tính đã được chèn hoặc sao chép từ các sổ làm việc khác
  • Định dạng đã được thay đổi hàng trăm lần thành hàng ngàn ô
  • Tên được xác định (phạm vi được đặt tên) đã được chèn. Cố ý hoặc vô tình (ví dụ: bằng cách sao chép bảng tính)
  • Tên được xác định bị hỏng vẫn còn từ hợp nhất từ ​​các định dạng tệp bảng tính khác sang Excel
  • Hàm do người dùng xác định trong VBA
  • .........
Khách hàng của tôi (người đã liên hệ với bộ phận hỗ trợ cao cấp của Microsoft về các vấn đề này mà không nhận được giải pháp) đã hỏi tôi liệu có thể xây dựng một công cụ giống như thuật sĩ để cứu vãn loại tệp này không. Thậm chí tốt hơn: để loại bỏ hoàn toàn các lỗi có thể xảy ra, mà không làm hỏng tính toàn vẹn của mô hình bảng tính, mà không xóa định dạng và cũng đảm bảo bất kỳ mã VBA nào được giữ lại.

Link tải chương trình: Tại đây

Giao diện người dùng

Menu của công cụ được hiển thị dưới đây.
RemTool00
Những ảnh chụp màn hình này cho thấy các bước của trình hướng dẫn.
Bước đầu tiên: lựa chọn tập tin.
RemTool01
 Bước tiếp theo: những hành động phải được thực hiện:
RemTool02
Bước cuối cùng: Những số liệu thống kê phải được thu thập:
RemTool03
Vì việc khắc phục có thể là một quá trình dài, các công cụ cho thấy sự tiến bộ của nó. Lưu ý rằng chỉ báo tiến trình có nút dừng, trong đó quá trình có thể được thoát.
RemTool04
Khách hàng của tôi đã nhiều lần xác nhận công cụ này đã được chứng minh là một trình tiết kiệm thời gian vô giá, cho phép họ cứu vãn các tệp quan trọng trong kinh doanh, nếu không họ phải coi là bị mất.

Link tải chương trình: Tại đây

Chương trình + Add-in Macro VBA tra cứu và đánh dấu từ trong Excel giống Word và PDF.

Nếu bạn dùng Word chăc hẳn sẽ biết chức năng tra cứu từ trong cụm từ Ctrl + F rất tiện dụng, bạn nhập từ hoặc cụm từ cần tra vào và ấn Next, Word sẽ tự động tìm kiếm và đánh dấu vào các cụm từ trùng với từ tra.

Tuy nhiên chức năng tra từ Ctrl+F trên Excel rất hạn chế khi tra cứu. Nó chỉ trỏ chuột vào ô có từ tra mà không biết từ đó ở vị trí nào, không đánh dấu từ đó trong cụm từ như trong Word.
Do vậy, QuanTriExcel.info phát triển “ Chương trình + Add-in Macro VBA tra cứu và đánh dấu từ trong Excel giống Word và PDF. “ với mục đích tra cứu từ trong Excel dễ dàng và tiện dụng như trong Word khắc phục những điểm yếu của Excel.

Hoạt động :
 Bạn chọn nút tra cứu hoặc ấn tổ hợp phím Ctrl+F -> nhập từ cần tra và chọn OK đến khi tra cứu xong.
Chương trình sẽ tự động quét toàn bộ các ô trong sheets hiện hành có dữ liệu và kiểm tra đối chiếu -> nếu trùng sẽ tô đỏ vào cụm từ trung và phủ vàng vào ô tương ứng.

Link tải chương trình ( file xlsm ) : Tại đây


Link tải Add-in Tra cứu từ : Tại đây



Link file mẫu thực hành : Tại đây

Sunday, April 7, 2019

50 Ebooks, documents to learn excel, VBA excel a to z

1. Excel VBA Macros 18 Shortcuts for 2018

https://exceleasy1.blogspot.com/2019/04/18-loi-tat-macro-vba-excel.html
2. Books 490 pages of Excel VBA Macro Programming - Writing Excel Macros with VBA
3. Book or VBA Macro Programming - Access VBA programming for Dummies

4. Books on programming VBA - Excel VBA Programming For Dummies, 3rd Edition

5. Books - Excel VBA Coaching in 24 hours

6. Books about VBA Macro programming - Programming in Microsoft VBA Security Instrduction
7. Books about VBA programming - Mastering VBA for Microsoft Office 2013 (full 3 volumes 999 pages)

8. Books about VBA Macro Programming - Microsoft Excel VBA Macro - author Premier

9. Sharing Documents VBA People do not know anything - books or VBA in Excel Programming

10. VBA function 1 and 2-dimensional interpolation in Excel
12.  Books - Ministry document page 1083 Macro "in Excel 2010 VBA"
13.  Books on programming Macro VBA - EXCEL VBA MADE EASY
14.  Synthesis VBA Macro Code 40+ common and understandable for you
15. T whoever you download free - 30 useful examples of the most commonly used VBA code for Excel

16.  Where is 1180 pages long so you VBA for Excel 2007, a very interesting and easy to understand

17.  Download free Macros VBA Best Curriculum 2018
https://exceleasy1.blogspot.com/2019/04/cac-loai-su-kien-trong-vba-excel.html
18. Books on Macros for Excel VBA Programming - Mastering for Microsoft Office 2013 (full 3 volumes 942 pages) 

19.  Books on VBA Macro programming - WRITING WITH EXCEL VBA MACROS - Steven Roman

20.  Books on for Excel VBA Macro Programming - VBA Developer's Guide

21. Financial Modeling Using Excel and VBA full 670 trang

22.  Books on VBA Macro programming - Microsoft Office Excel 2007 Programming: Plan your visual detail to create interactive spreadsheets

23.  Excel Macros Part 1: Programming macros in Excel
24.  Teach Excel Macros Part 2: VBA (Macro) Vocabulary
https://exceleasy1.blogspot.com/2019/04/day-hoc-excel-macros-phan-2-vba-macro.html
25. Documents or VBA Macro programming taught by Vietnamese full 3 above QuanTriExcel.info
https://exceleasy1.blogspot.com/2019/04/macro-excel-vba-danh-cho-nguoi-moi-bat.html
26. Some sample scripts or on Excel VBA

27. Where is it - Vac Macros for Excel 2010 VBA - Full 41 From page 318 threads &
28. Documents or VBA programming - Mastering Excel 2003 Programming with VBA.

29.  Books on VBA Macro Programming - VBA Programming using Microsoft Excel.

30. Sách hay - Excel 2013 Power Programming with VBA

31. Financial Modeling Using Excel and VBA - by Chandan Sengupta

32. Sách lập trình VBA - View attachment excel-2007-macros-made-easy-made-easy-series.

33.  Books Excel VBA programming - Programming Excel with VBA

34.  Where is it - VBA in Excel Basic
35.  DOCUMENTATION PROGRAMMING - created using the VBA EXCEL FOR YOUR OWN.
36.  Books about VBA programming - Mastering VBA for Microsoft Office 2007.pdf

37.  The document "Mastering Excel and VBA - Macros"



38.  Mastering AutoCAD VBA ™

39.  VBA Programmer's Guide
40. Excel VBA analytics and programing ( full 250 pages Learning Slide )

42. Excel for Scientists and Engineers ( VBA ebook )

43.  The book is full VBA Programming and Best (Vietnamese)

44. Excel 2007 Macros Made Easy by Gail Perry

45. Professional Excel Development: The Definitive Guide to Developing Applications Using Microsoft Excel and VBA 1st Edition by Stephen Bullen, Rob Bovey, and John Green - PDF Free Download

46. Excel 2016 VBA and Macros by Bill Jelen and Tracy Syrstad - PDF Free Download

47. Excel 2016 Power Programming with VBA by Michael Alexander and Richard Kusleika

48. VBA and Macros Microsoft Excel 2010 by Bill Jelen and Tracy Syrstad 

49. English: Power Excel 2016 with MrExcel: Master Pivot Tables, Subtotals, Visualizations, VLOOKUP, Power BI and Data Analysis 2017 Edition by Bill Jelen - PDF Free Download:

 DOWNLOAD
50. 100 Code Macro hữu dụng nhất trong VBA Excel 

 https://drive.google.com/file/d/1kG3jhf7tuqWhffitiAz9KtsFZ0aNQQzx/view

Saturday, April 6, 2019

18 Lối tắt Macro VBA Excel

18-VBA-Macro-Shortcuts-to-Automate-Excel-in-2018

Link tải free bộ giáo trình VBA hay và dễ hiểu: Tại đây

# 1 - Alt + F11 để mở trình chỉnh sửa VB

VB Editor là ứng dụng chúng ta sử dụng để viết các macro và tạo các biểu mẫu người dùng. Nó có thể được mở bằng cách nhấn vào nút Visual Basic trên tab Developer trong Excel.
Developer-Tab-in-Excel-2016-with-Visual-Basic-Button-to-Open-VB-Editor
Phím tắt để mở Trình chỉnh sửa VB trong bất kỳ phiên bản Excel nào của Excel là AltF11.
Open-the-VB-Editor-with-AltF11
Phím tắt trong phiên bản Mac là OptF11hoặc FnOptF11.
Nếu bạn không thấy tab Nhà phát triển trong ruy-băng, hãy nhấp vào hình ảnh để tìm hiểu cách bật tab: How-to-Enable-The-Developer-Tab-in-the-Excel-Ribbon-Menu-Bar-300x161

Phím Fn (Chức năng) trên Máy tính xách tay

Nếu bạn đang sử dụng bàn phím máy tính xách tay thì bạn cũng có thể cần phải bấm và giữ Fnphím trước khi nhấn F11Các phím chức năng trên máy tính xách tay thường là các phím đa dụng và yêu cầu phải Fnbấm phím để kích hoạt các phím chức năng ( F1F12).
Một số máy tính xách tay có tính năng Khóa Fn làm cho các phím chức năng chính, có nghĩa là bạn sẽ không phải nhấn phím Fn khi nhấn F1-F12.
# 2 - Lưu trữ Macro của bạn trong Sổ làm việc Macro cá nhân
Workbook Macro cá nhân (PMW) là một nơi tuyệt vời để lưu trữ các macro bạn thường sử dụng. Sổ làm việc này mở trong nền sau mỗi lần chúng ta mở Excel, làm cho các macro của chúng ta có thể truy cập dễ dàng.
Excel-Personal-Macro-Workbook-Tool-belt-or-Purse-Quote
Chúng tôi cũng có thể tạo thanh công cụ tùy chỉnh bằng các nút để chạy các macro của chúng tôi. Tôi thích nghĩ về PMW như vành đai công cụ Excel của chúng tôi có thể giúp chúng tôi tiết kiệm thời gian với công việc chúng tôi làm mỗi ngày.
Ví dụ, tôi có một bài viết với một macro tạo ra một danh sách các giá trị duy nhất trên một trang tính mới. Chúng tôi có thể lưu trữ macro này trong PMW của chúng tôi và gán nó vào một nút trong ruy-băng hoặc phím tắt bàn phím, và sau đó chạy nó bất kỳ lúc nào trên bất kỳ sổ làm việc mở nào.

# 3 - Ctrl + Dấu cách để Tự động hoàn tất

Đây chắc chắn là một trong những phím tắt mà tôi sử dụng nhiều nhất trong VBA. Khi chúng ta gõ mã, CtrlSpacemở trình đơn thả xuống Intellisense chứa danh sách các đối tượng, thuộc tính, phương thức, hằng số và các biến phù hợp.
CtrlSpace-to-Auto-Complete-Words-with-Intellisense-in-VBA
Để sử dụng phím tắt CtrlSpacetrong VB Editor:
  1. Bắt đầu nhập một dòng mã như ActiveCell.
  2. Sau khi nhập một vài chữ cái đầu tiên, nhấn Ctrl + Space
  3. Bạn sẽ thấy danh sách tất cả các từ VBA bắt đầu bằng Act.
  4. Nhấn mũi tên Lên / Xuống để chọn từ
  5. Sau đó nhấn Tab hoặc Enter để hoàn thành từ.
Có hai lợi ích chính cho lối tắt này:
  1. Nó tiết kiệm thời gian với việc phải gõ từ dài và tên biến.
  2. Nó ngăn chặn lỗi chính tả vì VBA đang hoàn thành các từ cho bạn.
Những lợi ích này có thể là trình tiết kiệm thời gian HUGE khi gỡ lỗi mã của bạn.

# 4 - Intellisense for Worksheets

Chúng tôi cũng thường thấy menu thả xuống Intellisense sau khi nhập dấu chấm (.) Trong Trình chỉnh sửa VB.
VBA-Intellisense-Drop-Down-List-Properties-and-Methods-of-an-Object
Tuy nhiên, đôi khi nó không hoạt động. Một trường hợp phổ biến là với thuộc tính Bảng tính.
Nếu chúng ta gõ Worksheets("Sheet1")., chúng ta KHÔNG thấy menu Intellisense. Điều này có thể gây phiền toái và khiến bạn nghĩ rằng Intellisense không hoạt động.
VBA-Intellisense-Drop-Down-Menu-Missing-for-Worksheets-Property
Lý do nó không hoạt động là do thuộc tính Bảng tính có thể chứa tham chiếu đến một hoặc nhiều trang tính. Tùy thuộc vào tham chiếu, các thuộc tính và phương thức sẽ khác nhau đối với từng trường hợp. Sẽ rất tuyệt nếu Intellisense vẫn đủ thông minh để nhận ra điều này, nhưng đó chỉ là một trong những điều chúng ta phải sống với…
Có hai cách để tìm hiểu và xem Intellisense cho các bảng tính:
  1. Sử dụng CodeName của trang tính mà chúng tôi muốn tham khảo. Đây là phương pháp ưa thích của tôi để tham khảo bảng tính vì mã sẽ không bị hỏng nếu người dùng thay đổi tên trang tính.
    Intellisense-for-Sheet-CodeName
  2. Đặt bảng tính thành biến đối tượng Worksheets trước. Sau đó, khi chúng ta gõ tên biến theo sau là dấu chấm ( ws.), menu Intellisense sẽ xuất hiện.
    Use-Variable-to-View-Intellisense-for-Worksheet-Object

# 5 - Sử dụng bình luận tự do

Chúng tôi có thể thêm nhận xét vào mã của chúng tôi để giúp giải thích từng phần mã nào.
Để tạo chú thích trong VBA, bạn gõ một dấu nháy đơn ở đầu dòng. Khi bạn di chuyển con trỏ văn bản ra khỏi dòng, văn bản sẽ chuyển sang màu xanh lục.
Văn bản màu xanh lá cây giúp dễ dàng phân biệt các nhận xét khi đọc mã. VBA hoàn toàn bỏ qua các dòng chú thích và bạn có thể thêm bao nhiêu tùy thích.
VBA-Comments-Start-with-Apostrophe-Make-Code-Easier-to-Read
Nhận xét mã của bạn là một chủ đề gây tranh cãi. Một số nhà phát triển tin rằng mã được viết đúng cách nên tự nói và rằng bạn không cần phải thêm nhận xét bổ sung. Tôi thấy quan điểm của họ, nhưng điều này không hiệu quả với tôi vì hai lý do .
  1. Khi tôi trở lại dự án của riêng tôi vài tháng sau đó, tôi không nhớ toàn bộ những gì vĩ mô đã làm. Nhận xét giống như tiêu đề trong bài đăng trên blog này và giúp bạn dễ dàng quét qua macro để tìm phần bạn đang tìm kiếm. Họ cũng nhanh chóng cho chúng tôi biết mỗi phần sẽ làm gì.
  2. Nếu bạn định chia sẻ dự án VBA của bạn hoặc cuối cùng đưa nó cho người khác để bảo trì, thì sẽ dễ dàng hơn cho họ để tìm hiểu mã của bạn nếu bạn thêm nhiều nhận xét. Tôi gọi đây là "lịch sự lập kế hoạch di sản của bạn". 🙂

# 6 - F8 để đi qua từng dòng mã

Phím tắt để duyệt qua từng dòng mã là F8Tương đương Mac cho Bước vào / Qua là CmdShiftI.
Điều này cho phép chúng tôi kiểm tra và gỡ lỗi từng dòng mã trong các macro của chúng tôi. Chúng ta cũng có thể mở Excel song song với VB Editor (hoặc trên một màn hình riêng biệt) để xem các hành động được thực hiện trong Excel khi mỗi dòng chạy.
Step-Through-VBA-Code-with-the-F8-Key
Rất nhiều lần điều này có thể giúp bạn nhanh chóng tìm thấy lỗi có tham chiếu trang tính hoặc phạm vi.
Để sử dụng lối tắt Bước vào / Qua:
  1. Nhấp vào bên trong macro bạn muốn chạy. Bạn có thể nhấp vào bất kỳ dòng mã nào. Macro sẽ luôn bắt đầu ở trên cùng.
  2. Nhấn F8.
  3. Tên macro sẽ được đánh dấu màu vàng.
  4. Nhấn F8 lần nữa để chạy dòng đó và tô sáng dòng tiếp theo.
  5. Tiếp tục nhấn F8để chạy từng dòng.
Điều quan trọng cần lưu ý là dòng được đánh dấu màu vàng chưa được chạy. Nó sẽ được chạy khi bạn nhấn F8lại.

# 7 - Gán Macro cho hình dạng

Các điều khiển trang tính cho các nút chạy macro là một chút tìm kiếm ngày. May mắn thay chúng ta cũng có thể sử dụng bất kỳ hình dạng nào trong Excel để chạy macro. Các hình dạng có thể được tô màu và định dạng để làm cho chúng trông giống các nút hiện đại mà bạn tìm thấy trên web và các ứng dụng dành cho thiết bị di động.
Create-Custom-Macro-Buttons-with-Shapes
Để gán một macro để hình dạng:
  1. Chèn một hình dạng trên một trang tính và định dạng nó theo ý thích của bạn. Điều này thường sẽ là hình chữ nhật hoặc hình tròn có chứa văn bản.
  2. Nhấp chuột phải vào hình dạng và chọn “Gán Macro…”.
  3. Chọn macro từ danh sách và nhấn OK. Macro thường sẽ là một macro được lưu trữ trong cùng một sổ làm việc dưới dạng hình dạng.
  4. Nhấp vào hình dạng bằng cách chọn một ô trong trang tính.
  5. Khi bạn di chuyển hình dạng con trỏ sẽ thay đổi thành con trỏ tay. Nhấp vào hình sẽ chạy macro.
Tôi khuyên bạn nên có một hộp thông báo Có / Không xuất hiện trước khi macro thực sự chạy. Điều này ngăn chặn bất kỳ nút bấm ngẫu nhiên nào. 

# 8 - Tự động hóa các tác vụ lặp lại với The For Loop tiếp theo

Chúng tôi có xu hướng thực hiện rất nhiều tác vụ giống nhau trong Excel. Đây có thể là các tác vụ như: áp dụng định dạng cho nhiều phạm vi / trang tính, tạo danh sách trang tính, sao chép dữ liệu vào từng sổ làm việc, đặt bộ lọc trên mỗi bảng tổng hợp, v.v.
Vòng lặp là một trong những công cụ mạnh mẽ nhất trong VBA cho phép chúng tôi tự động hóa các tác vụ này. Vòng lặp sẽ lặp qua từng mục trong một bộ sưu tập (suy nghĩ các trang tính trong một sổ làm việc hoặc các ô trong một phạm vi) và thực hiện bất kỳ mã nào bạn thích trên mỗi mục.
How-a-For-Next-Loop-Works-in-VBA
Có một vài loại vòng lặp khác nhau, nhưng Vòng lặp tiếp theo là phổ biến nhất. Kiểm tra bài viết chuyên sâu của tôi về The For Next Loop trong VBA để biết thêm chi tiết về kỹ thuật mã hóa phải biết này.

# 9 - Sử dụng Option Explicit

Đây là một chủ đề gây tranh cãi khác, nhưng tôi yêu cầu (lịch sự yêu cầu) rằng tất cả các thành viên của Khóa học VBA Pro của tôi sử dụng Option Explicit.
Vậy, nó là gì và tại sao?
Option Explicit yêu cầu chúng ta khai báo tất cả các biến. Khi chúng ta thấy các dòng mã với các câu lệnh Dim ở trên cùng của một macro, điều này là khai báo một biến.
Option-Explicit-to-Requires-Variables-Declaration-and-Prevent-Typos
Về cơ bản, chúng tôi đang nói với VBA để tạo biến trong bộ nhớ được sử dụng sau trong khi mã đang chạy. Sau đó, chúng tôi có thể đặt giá trị hoặc tham chiếu đến đối tượng cho các biến này trong macro bên dưới câu lệnh Dim.
Lợi ích chính với Option Explicit là nó ngăn chặn lỗi chính tả và tiết kiệm thời gian . VB Editor sẽ ném một lỗi biên dịch: Biến không được xác định khi bạn cố gắng chạy mã nếu một biến trong mã không được khai báo. Nó cũng sẽ làm nổi bật biến để bạn có thể khai báo hoặc sửa lỗi đánh máy.
Nếu bạn không có Option Explicit on và misspell một biến, mã sẽ vẫn chạy và có thể tạo ra lỗi trong kết quả. Nếu vĩ mô của bạn dài thì có thể mất rất nhiều thời gian để tìm ra những lỗi chính tả này. Tin tôi đi. Đã từng trải qua rồi!
Option Explicit ngăn ngừa các lỗi này và giúp bạn luôn khỏe mạnh. 🙂
Để bật Option Explicit trên bạn chỉ cần gõ từ Option Explicit ở phía trên cùng của mô-đun mã. Bạn cũng có thể có VB Editor tự động thêm các từ vào các mô-đun mã mới bằng cách vào Tools> Options> đánh dấu vào ô "Require Variable Declaration". Option Explicit bây giờ sẽ xuất hiện ở đầu mỗi mô-đun mã MỚI mà bạn tạo.

# 10 - Bảng Excel (ListObjects)

Có rất nhiều lợi ích khi sử dụng Bảng Excel trong sổ làm việc của chúng tôi. Chúng tiết kiệm thời gian với định dạng dữ liệu, công thức tự động điền và hoạt động tốt như  nguồn của bảng tổng hợp .
Các bảng Excel cũng giúp bạn viết mã VBA dễ dàng hơn cho các phạm vi dữ liệu động. Đây là danh sách hoặc tập dữ liệu nơi số hàng hoặc cột liên tục thay đổi khi bạn nhận dữ liệu mới / cập nhật.
Ví dụ, dòng mã sau đây tham chiếu đến các ô trong phạm vi A2: A15.
Phạm vi ("A2: A10"). Font.Bold = True
Đó là một tham chiếu phạm vi mã hóa cứng. Nếu bạn thêm dữ liệu mới vào dưới cùng, bạn sẽ phải thay đổi mã theo cách thủ công để bao gồm các hàng mới.
Tuy nhiên, nếu chúng tôi lưu trữ dữ liệu trong Bảng Excel và tham chiếu cột Bảng, chúng tôi không phải lo lắng về điều này.
Excel-Tables-List-Objects-with-VBA-References
Dòng mã sau tham chiếu cùng một cột.
Phạm vi ("Bảng 1 [Ngày]"). Font.Bold = True
Các lợi thế ở đây là mã sẽ tự động bao gồm các hàng mới bổ sung vào Bảng . Không cần cập nhật hoặc bảo trì mã theo cách thủ công.
Chúng tôi cũng có thể tham chiếu Bảng Excel với đối tượng, thuộc tính và phương thức ListObjects trong VBA.
ActiveSheet.ListObjects ("Bảng57"). ListColumns ("Ngày"). DataBodyRange.Font.Bold = True
Có chắc chắn một số lợi thế để sử dụng ListObjects khi nói đến việc sửa đổi cấu trúc Bảng (thêm / xóa các hàng / cột) và các thuộc tính, và lặp qua Bảng. Kiểm tra bài viết của bạn tốt Chris Newman trên ListObjects trong VBA để biết thêm ví dụ.

# 11 - Lấy Mã bằng Trình ghi Macro

Các Macro Recorder là một tính năng tuyệt vời của Excel và VBA. Nó tạo mã VBA khi chúng ta thực hiện các hành động trong Excel .
Ví dụ, sau khi chúng ta bật máy ghi macro, chúng ta có thể thực hiện công việc bình thường trong Excel như viết công thức hoặc sao chép và dán dữ liệu. Trình ghi vĩ mô sẽ tạo tất cả mã VBA cho những hành động này và lưu trữ nó trong một mô-đun mã.
Macro-Recorder-Creates-VBA-Code-as-you-take-Action-in-Excel
Đây là một công cụ tuyệt vời để sử dụng khi chúng ta lần đầu tiên bắt đầu với các macro. Và nó cũng là một công cụ tuyệt vời cho việc học và nhận các đoạn mã. Mô hình đối tượng Excel là rất lớn , và nó không thể (đối với tôi) để ghi nhớ tất cả các thuộc tính, phương thức và các tham chiếu đối tượng. Vì vậy, máy ghi macro là một cách tuyệt vời để lấy mã số cho bảng tổng hợp, liệt kê đối tượng, slicer, hình dạng hoặc bất kỳ đối tượng nào khác mà bạn không quen thuộc.
Máy ghi vĩ mô cũng có những hạn chế của nó Nó sẽ KHÔNG tạo mã cho các vòng lặp, nếu các câu lệnh, xử lý lỗi, các hộp thông báo, vv Chúng ta cần học cách viết mã để thực hiện các kỹ thuật nâng cao hơn này cho phép chúng ta tự động hoàn toàn các quy trình và tạo các ứng dụng trong Excel.

# 12 - Cửa sổ ngay lập tức

Cửa sổ ngay lập tức trong VB Editor cho phép chúng tôi chạy một dòng mã. Chúng tôi có thể chạy một hành động (phương pháp) trên một đối tượng, hoặc trả về kết quả của mã trở lại Cửa sổ ngay lập tức. Có lẽ chúng tôi muốn xác định có bao nhiêu trang tính trong sổ làm việc.
VBA-Immediate-Window-Excel-Worksheets-Count
Loại? Worksheets.Count và nhấn Enter. Kết quả sẽ được hiển thị trên dòng bên dưới.
Cửa sổ ngay lập tức cũng là nơi mà phương thức Debug.Print xuất ra.
Lối tắt bàn phím để mở Cửa sổ ngay lập tức trong Trình chỉnh sửa VB là Ctrl+G

# 13 - Gán lối tắt bàn phím cho macro

Chúng tôi cũng có thể chỉ định phím tắt để chạy các macro mà chúng tôi sử dụng thường xuyên. Tôi khuyên bạn nên lưu trữ các macro này trong Sổ làm việc Macro cá nhân của bạn .
Assign-a-Keyboard-Shortcut-to-a-Macro
Để gán lối tắt bàn phím:
  1. Nhấn nút Macro trên tab Nhà phát triển hoặc Chế độ xem trong ruy-băng.
  2. Chọn tệp có chứa macro từ trình đơn thả xuống Macro trong trình đơn thả xuống.
  3. Chọn macro từ hộp danh sách.
  4. Nhấn nút “Tùy chọn…”.
  5. Nhập chữ cái trong hộp Phím tắt mà bạn muốn gán macro. Tất cả các phím tắt sẽ bắt đầu bằng Ctrl. Bạn có thể giữ phím Shift trong khi nhập chữ cái để tạo phím tắt Ctrl + Shift. Điều này thường được khuyến nghị vì hầu hết các tổ hợp phím Ctrl + đã có phím tắt chuyên dụng trong Excel.
  6. Nhấn OK và đóng cửa sổ macro.
  7. Bây giờ bạn có thể nhấn tổ hợp phím tắt để chạy macro được gán.

# 14 - Kiểm tra xem phạm vi đã được chọn chưa

Đôi khi bạn sẽ muốn đảm bảo rằng người dùng có một phạm vi (ô) được chọn trước khi macro của bạn chạy. Nếu họ có một hình dạng (biểu đồ, slicer, vv) được chọn thì điều này có thể gây ra lỗi trong mã của bạn.
Ví dụ: tôi có macro xóa các hàng trống trong phạm vi đã chọn. Để macro này chạy đúng cách, người dùng cần phải có một dải ô được chọn trước tiên.
Đây là mã sẽ kiểm tra nếu một phạm vi được chọn.
'Kiểm tra xem một phạm vi có được chọn không 
Nếu TypeName (Selection) <> "Range" Sau đó
  MsgBox "Vui lòng chọn một dải ô trước tiên", vbOKOnly, "Chọn Phạm vi"
  Thoát  Sub 
End  Nếu
Hàm TypeName trả về kiểu dữ liệu hoặc tên của đối tượng cho một biến hoặc đối tượng đã cho. Trong trường hợp này, nó đánh giá phép chọn và trả về kiểu đối tượng được chọn. Nếu nó không phải là (<>) một phạm vi, thì câu lệnh If là đúng.
Bạn thường muốn đặt điều này ở đầu macro. Nếu phạm vi KHÔNG được chọn thì Hộp Thông báo (cửa sổ bật lên) sẽ xuất hiện để chỉ thị cho người dùng chọn một phạm vi. Dòng Sub Exit sẽ kết thúc macro.

# 15 - Ctrl + Y để xóa một dòng mã

Trong VB Editor, CtrlYxóa dòng mã mà con trỏ văn bản đang ở.
No-Direct-Keyboard-Shortcut-in-VB-Editor-for-Redo-CtrlY-Deletes-Line
Điều này tạo ra rất nhiều sự nhầm lẫn vì Ctrl + Y thường được sử dụng cho lệnh Làm lại trong hầu hết các ứng dụng khác, bao gồm cả Excel!
Nếu bạn nhìn vào menu Edit trong VB Editor, bạn sẽ thấy rằng không có phím tắt dành riêng cho Redo. Chúng ta có thể sử dụng AltERnhư một phím tắt thay thế cho chức năng Redo.
Đây chỉ là một trong những quirks lạ của VBA mà thực sự là tốt để biết.

# 16 - Ctrl + i cho Thông tin nhanh

Đây là một phím tắt tuyệt vời khác để biết.  Ctrlihiển thị screentip mà bạn thấy viết hoặc chạy mã. Điều này cho phép bạn xem tất cả các tham số trong thuộc tính, phương thức hoặc hàm.
Quick-Parameter-Info-Ctrli-VBA-Shortcut
Để sử dụng phím tắt Ctrl + i:
  1. Đặt con trỏ văn bản vào từ bạn muốn hiển thị screentip thông tin cho.
  2. Nhấn Ctrli.
  3. Screentip sẽ xuất hiện.
  4. Nhấn Escape để đóng hoặc di chuyển con trỏ.
Nếu bạn có biến được chọn trong một dòng và bạn muốn xem thông tin tham số thay vì giá trị của biến / kiểu dữ liệu, sau đó nhấn CtrlShiftiđể xem thông tin tham số.

# 17 - Ctrl + J Mở trình đơn thả xuống Intellisense

Các CtrlJshortcut sẽ mở ra thả Intellisense down menu hiển thị một danh sách các đối tượng, tài sản, phương pháp, các biến, vv
Tôi thường sử dụng điều này khi tôi đã gõ một dòng mã và kết thúc bằng một khoảng thời gian, như Phạm vi (“A1”).
Ctrlj-to-open-Intellisense-Drop-Down-Menu-in-VBA
Sau đó tôi muốn quay trở lại dòng đó và xem phần Intellisense thả xuống. Nhấn CtrlJmở menu. Nếu không, bạn phải xóa khoảng thời gian và nhập lại.
Chúng ta cũng có thể sử dụng Ctrl + J để chọn một biến khác từ danh sách. Nếu bạn đã sử dụng tên biến sai ở đâu đó hoặc cần thay đổi tên đó, hãy nhấn Ctrl + J để xem danh sách tên biến. Nếu bạn tiền tố tên biến của bạn (aka ký hiệu Hungary), thì các biến khác sẽ khá gần trong danh sách đó.

# 18 - Chức năng bảng tính

Bạn có biết chúng ta có thể sử dụng các hàm trang tính trong VBA không? Đây là các hàm chúng tôi sử dụng trong một công thức trong Excel như: vlookup, match, countif, max, min, v.v.
Nhập WorksheetFunction. trong một macro để xem danh sách tất cả các hàm Excel có sẵn trong VBA.
WorkSheetFunction-Property-for-Excel-Functions-in-VBA
Đây là tốt nhất của cả hai thế giới theo ý kiến ​​của tôi. Chúng ta có thể sử dụng sức mạnh của các hàm Excel trong mã VBA của chúng ta.
Hàm screentip cho hàm hiển thị số lượng đối số, nhưng nó không hiển thị tên của các đối số. Vì vậy, chúng ta thường cần phải gõ một công thức trong Excel để xác định những gì mỗi đối số là (trừ khi bạn có họ ghi nhớ).
WorkSheetFunction-Property-in-VBA-does-not-contain-Excel-argument-names
Hàm trang tính mà tôi sử dụng thường xuyên nhất trong VBA là Kết hợp . Chúng ta có thể sử dụng Match để tra cứu một giá trị và trả về số hàng hoặc cột của ô chứa giá trị khớp. Điều này đôi khi có thể dễ dàng hơn sau đó sử dụng phương pháp Range.Find. 

Over 50 Ebooks Excel and VBA free Download

1. Statistics and Probability for Engineering Applications With Microsoft Excel by W.J. DeCoursey - PDF Free Download Download Siz...