peri hokiperihokiclarustologisticsrimashaop.compola taktis menang gates of olympus x1000 perihokipemain perihoki bongkar trik jepep starlight princess x1000perihoki beri panduan lengkap bermain mahjong ways 2 pgsofttips cara penghasil uang pgsoft mahjong ways 2 perihokimahjong wins 3 perihoki memberikan penggali terbesarfenomena gates of olympus buka peluang besar bagi duta76cara dapat pola emas rahasia di duta7 wild west goldtrik menang pgsoft mahjong ways 2 modal receh maxwin duta76duta76 main pgsoft mahjong ways 2 di sela istirahatscatter hitam mahjong wins 3 spin pasti jepe duta76perihoki spin mahjong ways 2 pgsoft scatter hitam maxwinsimbol mahjong wins 3 yang sering muncul di awal perihokitrik gampang menang mahjong winscuan mahjong wins 3 tanpa hentipola spin taruhan kecil mahjong winsstrategi kunci scatter hitam beruntungacor total mahjong wayskemenangan maksimal mahjong wayskemenangan pria pekanbaru mahjong waysmahjong wins3 fenomena baru sumatera baratmenangkan mahjong dengan lincahmenembus batas keberuntungan mahjong waysmenjajal keberuntungan di mahjong wayspola gratis mahjong ways1scatter hitam senjata rahasia mahjong winsteknik spinning menguntungkan untuk scatter hitamanalisis rtp tertinggi mahjong winsfenomena scatter hitam mahjong winsibu rumah tangga dan keberuntungan mahjongkeseruan main mahjong wins3menang mahjong pengguna baru di sosial mediamenghargai setiap momen di mahjong waysserunya main mahjong di warung internetspin slow motion mancing scatterstrategi jitu maxwin mahjong waysstrategi jitu menang mahjong modal kecil jackpot besaranak kampung papua menggemparkan mahjongkeajaiban scatter hitam mahjong wayskeberhasilan joni mahjong winskejaiban mahjong ways di ujung jalanketua mahjong wins3 kehadiran kemenangan dimulai dari balimahjong kehadiran yang menguntungkanmahjong menggila adat88panduan kilat raih 108 jutatips memenangkan mahjongbarista kopi menang 110 juta spin mahjongdakota76 scatter hitam mahjong wins 3gagal cpns menang mahjong wins 3 rp120 jutakisah karyawan minimarket dapat thr lebih awal mahjong winskisah pelajar sma kuasai mahjong wins 3 inspirasi sekolahkisah penjaga parkir tanah abang motor baru mahjong winskisah sukses ibu rumah tangga bandung mahjong winsmahasiswa kkn beli iphone15 mahjong wins3 dakotamantan anak band influencer mahjong scatter hitampola rtp senin gates of olympus guru matematikaidola scatter hitam gampang meledakidola sensasi jackpotidola pola scatter hitamidola hasilkan jackpot dalam waktu singkatidola mahjong wins 3 bocortukang cuci motor menemukan keberuntungan di mahjong

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 282

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_cookie_params(): Cannot change session cookie parameters when headers already sent

Filename: Session/Session.php

Line Number: 294

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 304

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 314

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 315

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 316

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 317

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 375

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: drivers/Session_files_driver.php

Line Number: 108

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_save_handler(): Cannot change save handler when headers already sent

Filename: Session/Session.php

Line Number: 110

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_start(): Cannot start session when headers already sent

Filename: Session/Session.php

Line Number: 143

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

Macro là gì? Cách tạo Macro trong Excel với 8 bước đơn giản
MACRO
EXCEL OBJECT
VBA BASIC
VBA FORM
BÀI TẬP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Macro là gì? Cách tạo Macro trong Excel với 8 bước cực kì đơn giản

Trong bài này mình sẽ hướng dẫn bạn cách tạo một Macro trong Excel VBA, mình sẽ không hướng dẫn quá sâu bởi chúng ta đang tập tành học VBA.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Nói đến Macro thì hầu như dân văn phòng ai cũng thấy khiếp sợ, bởi phải có kiến thức lập trình Visual Basic căn bản thì mới làm ra được những Macro chuyên nghiệp.

Và trước khi học các bước tạo Macro thì bạn phải hiểu Macro là gì đã nhé.

1. Macro là gì?

Trong Excel, Macro là tập hợp những thao tác được gom lại, và thể hiện qua những dòng code dựa trên ngôn ngữ lập trình Visual Basic for Applications (VBA).

Bài viết này được đăng tại [free tuts .net]

Ta có thể hiểu nôm na rằng Macro là một nơi lưu trữ nhiều hành động để thực hiện một chức năng nào đó, và mỗi khi muốn sử dụng thì ta chỉ cần gọi đến Macro, lúc này Excel sẽ tự động thực hiện các hành động đó, ta không cần phải làm gì cả.

Ví dụ: Mình muốn xây dựng một chức năng gồm ba hành động đó là: in đậm, in nghiêng, và chuyển thành chữ in hoa. Nếu thực hiện thủ công thì phải lam ba bước rất phiền hà. Nếu chỉ dùng một lần thì không sao, chứ dùng cả trăm lần thì mất khá nhiều thời gian. Vì vậy mình sẽ viết một Macro gộp ba thao tác đó lại, mỗi khi muốn sử dụng thì gọi đến mà thôi, việc còn lại Excel tự chạy ngầm ba hành động đó.

Nếu bạn là dân lập trình thì mình nghĩ nó không quá khó hiểu, vì công dụng rất giống với hàm (function). Nhưng bạn là dân văn phòng thì quả thật rất hại não.

2. Cách tạo Macro Excel đơn giản

Bây giờ mình sẽ hướng dẫn tạo một Macro đầu tay, để từ đó bạn se hiểu được Macro là gì và công dụng của nó trong Excel là như thế nào.

Giả sử mình muốn tạo ra một chức năng thực hiện 3 thao tác gồm: Bôi đâm, in nghiêngchuyển thành chữ in hoa.

Nếu làm điều này bằng thủ công thì rất dài dòng. Chưa tính đến chuyện làm rất nhiều lần thì sẽ tốn không ít thời gian.

Vì vậy mình sẽ tạo một Macro, mỗi khi muốn sử dụng ở đâu thì chỉ cần gọi Macro này ra là được. Về nguyên lý thì mỗi khi bạn gọi Macro này thì Excel sẽ thực hiện ngầm 3 thao tác đó và áp dụng lên đối tượng bạn muốn sử dụng.

B1: Đầu tiên, tại tab Developer bạn hãy click vào Design Mode để bật tính năng Design.

  • Design Mode bật thì bạn đang ở giao diện thiết kế
  • Design Mode tắt thì bạn đang ở giao diện sử dụng, dùng để chạy thực tế

design mode JPG

B2: Mình muốn tạo một Button, khi click vòa Button này thì sẽ áp dụng Macro cho Cell đang được chọn (tức là ô - nơi chứa dữ liệu mà bạn muốn sử dụng tính năng của Macro).

Chọn Insert, sau đó click vào Command Button (nằm trong phần ActiveX Controls) như hình dưới đây.

insert command button control png

Click chuột vào một vị trí nào đó trong bảng tính của Excel để tạo ra một button.

dat button tai day JPG

Vì đang ở chế độ Design Mode nên bạn có thể di chuyển được button này tới bất kì đâu.

B3: Click chuột phải vào button đó và chọn View Code, hoặc click double chuột vào Button đó (đang ở chế độ Design Mode).

view code png

B4: Khung code Visual Basic xuất hiện, và nó tạo sẵn một function, đây chính là nơi mà bạn code cho Macro.

noi code macro JPG

Bạn hãy nhập đoạn code sau vào ở giữa hai dòng đó.

Private Sub CommandButton1_Click()
    ActiveCell.Font.Bold = True
    ActiveCell.Font.Italic = True
    ActiveCell.Value = UCase(ActiveCell.Value)
End Sub

Giao diện như sau:

giao dien macro phan 2 JPG

Giải thích:

  • ActiveCell là Cell đang được chọn
  • ActiveCell.Font.Bold = True là thiết lập bôi đậm
  • ActiveCell.Font.Italic = True là thiết lập in nghiêng
  • ActiveCell.Value = UCase(ActiveCell.Value) là chuyển chữ thường thành chữ hoa

B5: Chạy thử

Hãy lưu file lại và thoát giao diện VB Code.

Tắt chế độ Design Mode, sau đó chọn một ô bất kì và nhập vào dòng chữ "freetuts".

Sau đó click vào button thì bạn sẽ thấy kết quả.

ket qua JPG

3. Các bước tạo một Macro trong Excel chuyên nghiệp

Như mình đã nói ở trên, để tạo được những Macro nâng cao thì đòi hỏi bạn phải có kiến thức lập trình nói chung và lập trình VB nói riêng. Bạn có thể click vào link ở trên để học phần căn bản, sau đó quay lại đọc series VBA này.

Và sau đây mình sẽ đưa ra 8 bước giúp bạn tạo ra những Macro chuyên nghiệp.

Bước 1: Bật Developer Tool

Mình có viết một bài hướng dẫn rồi, bạn hãy xem tại bài hướng dẫn bật Developer Tool nhé.

Bước 2: Kiểm tra cấu hình bảo mật

Bước tiếp theo là kiểm tra một chút cấu hình về bảo mật để đảm bảo an toàn khi làm việc với Macro.

Bạn hãy click vào tab Developer, sau đó click vào Macro Security.

macro security JPG

Check vào các hộp kiểm như hình dưới đây rồi nhấn Ok.

check security ok JPG

Bước 3: Kiểm tra định dạng lưu trữ file

Nếu bạn làm việc với Macro thì phải lưu file ở định dạng Macro Enabled Workbook. Bạn nên làm công việc này ngay từ đầu để tránh bị mật code nhé.

Chọn File -> Save As -> chọn Excel Macro Enabled Workbook ở phần File Type, sau đó click Save là được.

excel enable macro JPG

Nếu bạn dùng phiên bản Excel 2016 trở về trước thì tên định dạng file có thể khác. Nhưng bạn cứ kiểm tra thấy chữ Enable Macro là chọn thôi nhé.

Bước 4: Biết cách nhập code Visual Basic

Để mở phần code Visual Basic thì tại tab Developer bạn click vào biểu tượng Visual Basic, hoặc nhấn tổ hợp phím Alt + F11.

open visual basic JPG

Bước 5: Tạo một Module VBA

Tất cả các Macros đều lưu trử thành dạng Module, vì vậy ta phải tạo nó trước.

Hãy mở Visual Basic Code lên, tại phần VBA Project là nơi chứa các Workbook và Sheet của project.

VBA Project Window png

Click vào Workbook mà bạn muốn tạo macro, sau đó chọn Insert -> Module.

CreateModule jpg

Một folder Modules được tạo ra, và trong đó có một file Module1 mà bạn vừa tạo. Bạn có thể thay đổi tên Module1 bằng cách click vào phần thuộc tính như hình dưới đây.

New Module 1024x852 png

Bước 6: Tạo code Macro đầu tiên

Bạn hãy click double chuột 2 lần vào Module1, lúc này một hộp thoại hiện ra, dây chính là phần nhập code.

Nếu bạn sử dụng Excel phiên bản cũ thì nó sẽ hiển thị dạng tab nhé.

nhap code tai day JPG

Bạn hãy nhập đoạn code sau vào phần mà mình đã khoanh đỏ nhé.

Sub MyFirstMacro()

End Sub

nhap code func JPG

Bước 7: Nhập code xử lý Macro

Giả sử mình muốn khi chạy Macro này thì sẽ xuất hiện một ô thông báo.

Phần này bạn chưa học, nhưng bạn cứ nhập như mình nói nha, những bài tiếp theo ta sẽ học kỹ hơn.

Hãy nhập dòng code sau vào giữa 2 dòng code ở phần 6.

MsgBox "Hello World"

nhap them code cho macro JPG

Bước 8: Chạy Macro

Để chạy Macro này thì bạn hãy click vào phía bên trong của Macro, sau đó chọn Run -> Run Sub/UserForm.

run macro png

Một hộp thoại thông báo xuất hiện dòng chữ "Hello World" là bạn đã chạy thành công.

Trên là tổng hợp 8 bước giúp bạn tạo Macro Excel đầu tiên, sau này mỗi khi lập trình Macro thì bạn phải kiểm tra lần lượt như vậy nhé, để tránh bị mất code khi lưu file.

Qua bài này chắc chắn bạn đã hiểu Macro là gì rồi phải không nào? Và cũng biết cách tạo một Macro trong Excel đơn giản nhất, để từ đó hiểu nguyên lý hoạt động của Macro. Chúc bạn thành công!

Cùng chuyên mục:

Cách chèn link ảnh vào Excel trên máy tính

Cách chèn link ảnh vào Excel trên máy tính

Ngoài ra, bài viết còn hướng dẫn cách chèn link ảnh trực tuyến hàng loạt…

Cách tách và gộp ô trong Excel

Cách tách và gộp ô trong Excel

Trong bảng tính Microsoft Excel, có thể sẽ có lúc các bạn cần tách ô…

Hàm MONTH() trong Excel

Hàm MONTH() trong Excel

Cách dùng hàm MONTH() trong Excel

Hàm YEAR () trong Excel

Hàm YEAR () trong Excel

Cách dùng hàm YEAR () trong Excel

Hàm HLOOKUP() trong Excel

Hàm HLOOKUP() trong Excel

Cách dùng hàm HLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Cách dùng hàm VLOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Cách dùng hàm LOOKUP() trong Excel

Hàm ABS() trong Excel

Hàm ABS() trong Excel

Cách dùng hàm ABS() trong Excel

Hàm SUM() trong Excel

Hàm SUM() trong Excel

Cách dùng hàm SUM() trong Excel

Hàm SQRT() trong Excel

Hàm SQRT() trong Excel

Cách dùng hàm SQRT() trong Excel

Hàm MOD() trong Excel

Hàm MOD() trong Excel

Cách dùng hàm MOD() trong Excel

Hàm SUMIF() trong Excel

Hàm SUMIF() trong Excel

Cách dùng hàm SUMIF() trong Excel

Hàm SUBTOTAL() trong Excel

Hàm SUBTOTAL() trong Excel

Cách dùng hàm SUBTOTAL() trong Excel

Hàm ROUND() trong Excel

Hàm ROUND() trong Excel

Cách dùng hàm ROUND() trong Excel

Hàm SUMPRODUCT() trong Excel

Hàm SUMPRODUCT() trong Excel

Cách dùng hàm SUMPRODUCT() trong Excel

Hàm COUNT() trong Excel

Hàm COUNT() trong Excel

Cách dùng hàm COUNT() trong Excel

Hàm COUNTA() trong Excel

Hàm COUNTA() trong Excel

Cách dùng hàm COUNTA() trong Excel

Hàm COUNTBLANK() trong Excel

Hàm COUNTBLANK() trong Excel

Cách dùng hàm COUNTBLANK() trong Excel

Hàm MAX() trong Excel

Hàm MAX() trong Excel

Cách dùng hàm MAX() trong Excel

Hàm MIN() trong Excel

Hàm MIN() trong Excel

Cách dùng hàm MIN() trong Excel

Top