Thực Hành Viết Prompt Tự Động Đổi Màu Số (Hướng Dẫn Từng Bước) - Phần 2
Phần 1: Thực Hành Viết Prompt Tự Động Đổi Màu Số Trên Apps Script
Phần 2: Thực Hành Viết Prompt Tự Động Đổi Màu Số Trên VBA
3. Thực Hành Viết Prompt Tự Động Đổi Màu Số Trên VBA
3.1. “Don't reinvent the wheel” - Đừng cố phát minh lại cái bánh xe
(1) Prompt 6
Như vậy là chúng ta đã thực hành xong với Google Sheets. Hãy tiếp tục tìm hiểu quy trình viết prompt đổi màu số trên Microsoft Excel. Với Microsoft Excel, bạn sẽ sử dụng ngôn ngữ lập trình Visual Basic For Applications hay gọi tắt là VBA.
Đố các bạn chúng ta sẽ bắt đầu từ đâu với nhiệm vụ này? Đúng rồi. Hãy nhớ quy tắc số 2: Đừng cố phát minh lại cái bánh xe. Chúng ta sẽ bắt đầu với Prompt số 3 của Google Apps Script ở trên thay vì viết mới. Vì mục tiêu của video này là chia sẻ quy trình tạo prompt trong tập trước nên tạm thời chúng ta sẽ bỏ qua cập nhật của prompt 4.
Ở đây chúng ta đang cần tạo đoạn mã cho VBA nên Linh sẽ điều chỉnh prompt 3 một chút. Đổi yêu cầu từ “viết Google Apps Script" thành “viết code cho Visual Basic For Applications” và trong “Google Sheets” thành trong “Microsoft Excel”.
Linh sẽ sao chép đoạn mã mà ChatGPT trả về sau khi chạy câu lệnh trên và dán vào VBA trong Excel. Linh cũng đã chia sẻ về quy trình này trong bài viết trước.
Có đến 2 Macro trong giao diện VBA
Nhìn vào bảng Macro, đang có đến 2 Macro là Add Custom Menu và Change Number Color. Macro Add Custom Menu không cần thiết, Linh sẽ xóa bỏ phần yêu cầu này trong prompt. Bây giờ Linh sẽ chạy Macro đổi màu số.
Kết quả đổi màu số từ Prompt 6
Nhìn tổng quan thì các ô số chỉ hiện màu xanh dương và màu tím. Lần lượt là màu của số được nhập vào và số tạo bởi công thức.
- Trước tiên, Linh sẽ kiểm tra các ô màu xanh dương. Tất cả các ô này đều là số được nhập vào trực tiếp nên màu này đang hiển thị đúng. Phần prompt này không cần thay đổi.
- Tiếp theo là màu tím. Các bạn có nhận ra vấn đề ở đây không? Tất cả các ô bắt đầu bằng dấu “=” đều được Excel nhận diện là công thức và sẽ đổi thành màu tím. Chúng ta đã gặp vấn đề tương tự khi viết prompt cho Apps Script. Mặc dù trong prompt đã có ví dụ mẫu cụ thể nhưng Excel vẫn chưa hiểu được.
Để xử lý vấn đề này, với ô màu xanh lá và màu hồng, Linh sẽ thêm mô tả là: Không có phép tính hay công thức khác trong đó.
HỘP HỌC HỎI
Tới đây, sẽ có bạn hỏi là: Làm sao em biết chỗ này phải thêm “Không có phép tính hay công thức khác trong đó”? Câu trả lời là phụ thuộc kinh nghiệm và logic của bạn. Chúng ta thử các khả năng mà mình thấy là hợp lý. Và nếu bạn không biết sửa prompt như thế nào, thì hãy trình bày vấn đề và hỏi ngược lại ChatGPT để nó đề xuất câu prompt mới cho bạn. Sau đó bạn sẽ chạy đoạn mã và tiếp tục thử nghiệm.
Sau khi đã chỉnh sửa, câu lệnh mới sẽ trở thành như thế này.
(2) Prompt 7
Và đây là kết quả khi khởi chạy đoạn mã từ prompt mới.
Kết quả đổi màu số từ Prompt 7
- Hãy kiểm tra các ô màu. Đầu tiên là màu xanh dương. Các số này vẫn đổi màu đúng giống lần đầu.
- Tiếp theo là các số màu xanh lá. Trước đó là màu tím, bây giờ thì 3 ô số lấy dữ liệu từ một ô có sẵn trong bảng tính hiện tại đã đổi thành màu xanh lá.
- Ô màu hồng là số lấy dữ liệu từ một ô có sẵn trong bảng tính khác với bảng tính hiện tại cũng đã đổi màu đúng.
- Phần còn lại là các ô công thức màu tím. Như các bạn thấy là cũng đúng rồi nha.
Vậy là tất cả các màu đã được đổi đúng như yêu cầu ban đầu. Giờ Linh sẽ thực hiện bước cuối cùng là đổi các ô màu tím về lại màu đen cho đúng quy tắc 4 màu. Để thực hiện điều này, bạn chỉ cần đổi mã màu HEX của màu tím sang mã màu đen trong prompt và dán vào ChatGPT để tạo đoạn mã mới là được.
Sau khi khởi chạy đoạn mã VBA mới thì đây là kết quả mà Linh nhận được. Tất cả các số màu tím đã chuyển sang màu đen.
Kết quả sau khi đổi mã HEX màu tím thành mã HEX màu đen
Ở bước này, Linh đã thử thao tác tương tự với Google Apps Script là không cần tạo prompt mới mà sẽ sửa trực tiếp mã màu tím thành đen trong đoạn mã đã chạy đúng. Tuy nhiên, trong Excel, bạn sẽ cần đổi cả mã màu RGB và mã màu HEX của màu tím thành màu đen thì đoạn mã mới chạy đúng. Nếu bạn không quá quen với các mã màu thì hãy làm thêm 1 bước tạo prompt như hướng dẫn ở trên sẽ đơn giản hơn.
3.2. “There is no best, there is always a better” - Không có prompt tốt nhất, sẽ luôn có prompt tốt hơn
Vậy là các bạn vừa học được cách tạo prompt tự động đổi màu số trong Microsoft Excel. Thấy là không khó quá đúng không? Bây giờ chúng ta sẽ đến phần nâng cao.
Trong bài viết trước, Linh đã chỉ các bạn cách lưu Macro để sử dụng cho những lần sau. Nhưng cách này vẫn còn hơi thủ công. Ở phần bình luận, bạn Ten Ten đã chia sẻ một cách để không cần phải mở file Macro lên mỗi lần thao tác. Linh đã thử làm theo và thành công. Cảm ơn Ten Ten. Bây giờ, Linh sẽ chia sẻ từng bước cho các bạn học hỏi cùng Linh luôn nhe.
Bình luận chia sẻ từ bạn Ten Ten
(1) Đầu tiên, trong file Excel mà chúng ta vừa hoàn thành lúc nãy, bạn chọn Record Macro, đổi Macro name thành “HighlightNumbers", ở phần Store Macro in, chọn Personal Macro Workbook và nhấn OK. Lúc này cửa sổ Record Macro sẽ đóng lại, bạn nhấn vào Stop Recording
(2) Tiếp theo, bạn vào lại Visual Basic. Ở ô bên trái trong giao diện, bạn sẽ thấy phần VBA Project (Personal.XLSB). Hãy nhấp vào folder Module để mở ra Module 1. Sau đó bạn nhấp hai cái vào Module 1 để mở ra bảng mã. Tại bảng mã này, hãy xóa đi đoạn mã đang có và thay thế bằng đoạn mã VBA hoàn chỉnh bạn vừa dùng để đổi màu số ở trên
(3) Cuối cùng, tắt cửa sổ này và nhấn SAVE để lưu lại. Đây là bước quan trọng nha các bạn. Các bạn cần phải nhấn lưu trước khi thoát ra để Macro này được ghi nhớ. Sau khi nhấn lưu, bạn quay trở lại file Excel đang thao tác. Vào lại Marcos, bạn sẽ thấy có một Macro được lưu lại như thế này
Macro đã được lưu lại
Giờ thì bạn có thể sử dụng Macro đổi màu số này khi thao tác trên bất kỳ file dữ liệu nào. Bạn chỉ cần mở file ra, trên thành Developer chọn Macro. Sau đó trong cửa sổ Macro, bạn nhấn chọn Macro đã lưu lại này và khởi chạy là được.
Tương tự nếu có nhiều tác vụ khác và có những Macro khác nhau, bạn cũng có thể lưu lại như các bước trên để sử dụng nhanh chóng khi cần.
Linh thấy rất thú vị. Mình sẽ luôn học được điều gì đó mới khi chia sẻ cùng nhau. Và dần dần, chúng ta sẽ tối ưu những nhiệm vụ mình để làm nó tốt hơn, và tốt hơn nữa. Nếu có chia sẻ nào thêm, các bạn hãy tiếp tục bình luận nha. Linh và đội ngũ đều đọc từng bình luận của các bạn để nâng cao chất lượng nội dung của mình.
Lời Kết
Viết bởi
Có hơn 24 năm kinh nghiệm trong lĩnh vực tài chính, tiếp thị và vận hành. Những nội dung của Thái Vân Linh cung cấp các công cụ và cảm hứng nhằm giúp các bạn trẻ Việt Nam thăng tiến trong công việc và khám phá trọn vẹn tiềm năng của mình.
HỌC THÊM
Viết bởi
Có hơn 24 năm kinh nghiệm trong lĩnh vực tài chính, tiếp thị và vận hành. Những nội dung của Thái Vân Linh cung cấp các công cụ và cảm hứng nhằm giúp các bạn trẻ Việt Nam thăng tiến trong công việc và khám phá trọn vẹn tiềm năng của mình.