Cho mình hỏi cách tạo Macro trong excel

hungsea

Member
Hội viên mới
Chào các bạn mình có một số thắc mắc về Macro trong excel. Các bạn giúp mình nhé:

- Làm sao tạo được một macro trong excel.

- Sub và Function khác nhau như thế nào, mình có một số ví dụ về Coding nhưng đôi lúc thấy họ bắt đầu bằng sub, đôi lúc lại function.

Xin cám ơn trước
 
chao các bạn, cho mình hỏi một tí nhé. Mình muốn tìm Dongvn trong insert/function/or select a catelogy thi phải làm sao? máy mình ko có Dongvn.
 
mình cho rằng function Dongvn mà bạn nêu là 1 add-in, bạn copy nó vào máy bạn và insert để sử dụng :gnorsi:
 
Ðề: Cho mình hỏi cách tạo Macro trong excel

Chào các bạn mình có một số thắc mắc về Macro trong excel. Các bạn giúp mình nhé:

- Làm sao tạo được một macro trong excel.

- Sub và Function khác nhau như thế nào, mình có một số ví dụ về Coding nhưng đôi lúc thấy họ bắt đầu bằng sub, đôi lúc lại function.

Xin cám ơn trước

Trước tiên, xin nói dỡn một chút cho nó dui dẻ, mong các bạn đừng trách nghen. "Súp" là súp mà "Phân" là phân.

Bây giờ nói nghiêm túc nè:

Sub và Function đều được xem như một chương trình con, được dùng để thực hiện một hay nhiều tác vụ (lệnh) nào đó. Về nguyên tắc, function phải trả về cho chương trình gọi nó một giá trị, còn sub thì không cần thiết.

Trong Excel, một Sub chính là một macro.

Để có thể sử dụng được macro, function tự tạo, bạn sẽ phải mở cửa sổ VB Editor, sau đó Insert một module cho workbook của bạn. Rồi bạn muốn chế tác gì đó trong module này thì tùy.

Để ví dụ một cái cho bạn nghen:

Trong workbook đang mở của bạn, bạn nhấn phím ALT+F11 để mở cửa sổ VBA Editor ra. Bạn sẽ thấy ở cửa sổ Project Explorer bên trái nó có liệt kê item VBAProject (tên workbook của bạn), bạn nhắp phải lên nó chọn Insert --> Module.
Ở cửa sổ module bên phải, bạn "chơi" cho đoạn sau vào:

Function Cong(a, b) As Double
Cong = a + b
End Function

Sau đó bạn về workbook, chọn một sheet nào đó, gõ vào ô A1: 5, A2: 10, ô A3 bạn nhập: =Cong(A1, A2) xem. Cũng được chứ hả?

Bạn nghiên cú thêm nhé.
 
Ðề: Cho mình hỏi cách tạo Macro trong excel

Với những người thường xuyên phải sử dụng nhiều đến Excel hoặc các nhân viên kế toán họ muốn một số hàm riêng biệt để tính toán, chuyển đổi mà trong Excel không hỗ trợ. Đơn giản, giả dụ như bạn muốn in ấn một bảng kê có ghi tiền bằng chữ cho các bảng kê hoặc có thể sử dụng để tính cước phí chỉ cần thông qua một cột đơn vị, dung lượng, thời lượng sử dụng thì chẳng có hàm (function) nào trong Excel hỗ trợ. Lúc đó bạn sẽ phải lập trình cho mình một số hàm riêng trong công việc của mình. Các bước thực hiện bạn sẽ phải làm như sau.

Tạo các macro cho worksheet.
Vào Excel sau đó bạn tạo một worksheet mới. Sau đó vào menu Tools -> Macro -> Visual Basic Editor.
menu.jpg

Sau khi cửa sổ chương trình Visual Basic Editor được mở ra bạn hãy chọn menu Insert -> Module. Tại đây bạn có thể khai báo các hàm riêng cho bạn. Chúng ta thử làm ví dụ cho một bài toán đơn giản như sau: Một công ty bán phần mềm, nếu người mua mua của công ty các phiên bản đăng ký bản quyền thì dưới 10 phiên bản giá 5.000.000đ/phiên bản, nếu trên 10 bản thì giá từ bản thứ 11 trở đi là 4.000.000đ/phiên bản và từ bản thứ 31 trở đi thì giá là 2.500.000đ/phiên bản.

Trong cửa sổ module của bạn hãy nhập đoạn code như dưới đây để tạo function tính tiền theo số lượng:

Mã:
Public Function Tinhtien(soluong As Integer) As Double
   Tinhtien = 0
   If soluong > 30 Then Tinhtien = 2.5 * (soluong - 30)
   If soluong > 10 Then
      If soluong > 30 Then Tinhtien = Tinhtien + 80
      'do tu phien ban 11 den 20 gia la 4tr/1 phien ban = 80tr
      If soluong <= 30 Then Tinhtien = Tinhtien + 4 * (soluong - 10)
      Tinhtien = Tinhtien + 50 '10 phien ban dau gia 50tr
   Else
      Tinhtien = Tinhtien + soluong * 5
   End If
   Tinhtien = Tinhtien * 10 ^ 6 'quy ra tien trieu
End Function
code.jpg

Sau đó bạn hãy lưu công việc của bạn, chọn menu File sau đó chọn Save, trong mục lưu giữ bạn hãy chọn tại FileType là Microsoft Office Excel Add-In (*.xla) rồi lưu lại với một tên file nào đó có thể lưu với tên Test.xla rồi nhấn Save.
Save%20As%20Microsoft%20Office%20Excel%20Add-In.jpg

Kích hoạt functions riêng của bạn
Sau khi lưu giữ xong file Test.xla bạn hãy quay trở lại cửa sổ của Excel, chọn menu Tools -> Add-Ins, cửa sổ Add-Ins xuất hiện:
Add-In.jpg

Nhấn Browse rồi chọn tới file Test.xla của bạn vừa được lưu giữ khi đó trên cửa sổ hộp thoại sẽ xuất hiện Test ở trong danh sách. Đánh dấu vào ô vuông phía trước Test để kích hoạt các hàm có trong file đó. Nhấn OK để thoát.

Sử dụng hàm của bạn
Vào cell nào đó trong worksheet để thử nghiệm kết quả của bạn, lựa chọn menu Insert -> Functions sẽ thấy hộp thoại như hình dưới đây:
Insert%20Functions.jpg

Chọn tại phần Category hãy chọn User Defined sau đó chọn các hàm riêng của bạn ở danh sách phía dưới. Kết quả thử nghiệm với hàm TinhTien như ví dụ trên sẽ cho bạn kết quả như ý. Kết quả ở hình dưới đây được sử dụng thêm hàm chuyển đổi từ số sang chữ.
Result.jpg
 
Ðề: Cho mình hỏi cách tạo Macro trong excel

Với những người thường xuyên phải sử dụng nhiều đến Excel hoặc các nhân viên kế toán họ muốn một số hàm riêng biệt để tính toán, chuyển đổi mà trong Excel không hỗ trợ. Đơn giản, giả dụ như bạn muốn in ấn một bảng kê có ghi tiền bằng chữ cho các bảng kê hoặc có thể sử dụng để tính cước phí chỉ cần thông qua một cột đơn vị, dung lượng, thời lượng sử dụng thì chẳng có hàm (function) nào trong Excel hỗ trợ. Lúc đó bạn sẽ phải lập trình cho mình một số hàm riêng trong công việc của mình. Các bước thực hiện bạn sẽ phải làm như sau.

Tạo các macro cho worksheet.
Vào Excel sau đó bạn tạo một worksheet mới. Sau đó vào menu Tools -> Macro -> Visual Basic Editor.
menu.jpg

Sau khi cửa sổ chương trình Visual Basic Editor được mở ra bạn hãy chọn menu Insert -> Module. Tại đây bạn có thể khai báo các hàm riêng cho bạn. Chúng ta thử làm ví dụ cho một bài toán đơn giản như sau: Một công ty bán phần mềm, nếu người mua mua của công ty các phiên bản đăng ký bản quyền thì dưới 10 phiên bản giá 5.000.000đ/phiên bản, nếu trên 10 bản thì giá từ bản thứ 11 trở đi là 4.000.000đ/phiên bản và từ bản thứ 31 trở đi thì giá là 2.500.000đ/phiên bản.

Trong cửa sổ module của bạn hãy nhập đoạn code như dưới đây để tạo function tính tiền theo số lượng:

Mã:
Public Function Tinhtien(soluong As Integer) As Double
   Tinhtien = 0
   If soluong > 30 Then Tinhtien = 2.5 * (soluong - 30)
   If soluong > 10 Then
      If soluong > 30 Then Tinhtien = Tinhtien + 80
      'do tu phien ban 11 den 20 gia la 4tr/1 phien ban = 80tr
      If soluong <= 30 Then Tinhtien = Tinhtien + 4 * (soluong - 10)
      Tinhtien = Tinhtien + 50 '10 phien ban dau gia 50tr
   Else
      Tinhtien = Tinhtien + soluong * 5
   End If
   Tinhtien = Tinhtien * 10 ^ 6 'quy ra tien trieu
End Function
code.jpg

Sau đó bạn hãy lưu công việc của bạn, chọn menu File sau đó chọn Save, trong mục lưu giữ bạn hãy chọn tại FileType là Microsoft Office Excel Add-In (*.xla) rồi lưu lại với một tên file nào đó có thể lưu với tên Test.xla rồi nhấn Save.
Save%20As%20Microsoft%20Office%20Excel%20Add-In.jpg

Kích hoạt functions riêng của bạn
Sau khi lưu giữ xong file Test.xla bạn hãy quay trở lại cửa sổ của Excel, chọn menu Tools -> Add-Ins, cửa sổ Add-Ins xuất hiện:
Add-In.jpg

Nhấn Browse rồi chọn tới file Test.xla của bạn vừa được lưu giữ khi đó trên cửa sổ hộp thoại sẽ xuất hiện Test ở trong danh sách. Đánh dấu vào ô vuông phía trước Test để kích hoạt các hàm có trong file đó. Nhấn OK để thoát.

Sử dụng hàm của bạn
Vào cell nào đó trong worksheet để thử nghiệm kết quả của bạn, lựa chọn menu Insert -> Functions sẽ thấy hộp thoại như hình dưới đây:
Insert%20Functions.jpg

Chọn tại phần Category hãy chọn User Defined sau đó chọn các hàm riêng của bạn ở danh sách phía dưới. Kết quả thử nghiệm với hàm TinhTien như ví dụ trên sẽ cho bạn kết quả như ý. Kết quả ở hình dưới đây được sử dụng thêm hàm chuyển đổi từ số sang chữ.
Result.jpg
Anh ơi, Cho em hỏi chút ạ. Sao đến em làm như trên rùi ạ. Nhưng đến phần Sau đó bạn hãy lưu công việc của bạn, chọn menu File sau đó chọn Save, trong mục lưu giữ bạn hãy chọn tại FileType là Microsoft Office Excel Add-In (*.xla) rồi lưu lại với một tên file nào đó có thể lưu với tên Test.xla rồi nhấn Save. Thì em không thể làm tiếp tục được ạ. Anh có thể chỉ dẫn hộ em được không ạ.
Em mở menu file ra, nhưng đó không có mục lưu giữ bạn hãy chọn tại FileType là Microsoft Office Excel Add-In (*.xla). Em không biết phải làm sao nữa ạ.
 
Ðề: Cho mình hỏi cách tạo Macro trong excel

anh chị ơi có ai biết cách tạo macro trong exel không ? Nếu ai biết làm ơn gửi cách tạo đầy đủ, chi tiết vào mail của e với mail em là thanhxuanvfu1602@gmail.com em thanks mọi người nhiều nhá!
 
Ðề: Cho mình hỏi cách tạo Macro trong excel

anh chị sư phụ cho em xin luôn nhé,em cảm ơn,mail của em là: nguyenhong3ds@gmail.com
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Kỹ thuật giải trình thanh tra BHXH

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top