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

Thảo luận trong 'Excel căn bản' bắt đầu bởi hungsea, 13/9/06.

  1. hungsea

    hungsea New Member Hội viên mới

    Được cảm ơn:
    0
    Điểm thành tích:
    0
    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
     
  2. phuong9997

    phuong9997 New Member Hội viên mới

    Được cảm ơn:
    0
    Điểm thành tích:
    0
    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.
     
  3. cayman

    cayman Banned Thành viên BQT Hội viên mới

    Được cảm ơn:
    1,685
    Điểm thành tích:
    8
    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:
     
  4. phatnq2002

    phatnq2002 Tích cực giảm cân... Hội viên mới

    Được cảm ơn:
    0
    Điểm thành tích:
    0
    Ðề: Cho mình hỏi cách tạo Macro trong excel

    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é.
     
  5. augialong

    augialong New Member Hội viên mới

    Được cảm ơn:
    0
    Điểm thành tích:
    0
    Ðề: 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.
    [​IMG]
    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
    [​IMG]
    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.
    [​IMG]
    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:
    [​IMG]
    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:
    [​IMG]
    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ữ.
    [​IMG]
     
  6. candy_love35

    candy_love35 New Member Hội viên mới

    Được cảm ơn:
    0
    Điểm thành tích:
    0
    Ðề: Cho mình hỏi cách tạo Macro trong excel

    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 ạ.
     
  7. springfield

    springfield New Member Hội viên mới

    Được cảm ơn:
    0
    Điểm thành tích:
    0
    Ðề: 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á!
     
  8. kiencang08

    kiencang08 New Member Hội viên mới

    Được cảm ơn:
    0
    Điểm thành tích:
    0
    Ðề: 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
     
  9. TQChanh

    TQChanh Member Hội viên mới

    Được cảm ơn:
    0
    Điểm thành tích:
    6
    Ðề: Cho mình hỏi cách tạo Macro trong excel

    Bạn đến đây: Ch?p ch?ng ??n VBA!!
     

Chia sẻ trang này