Lập trình viên quốc tế ACCP
Lập trình viên Java
Kiểm thử phần mền itester
Lập trình viên PHP

Kết hợp Excel và Macro

Có 2 bảng tính Excel gồm:
- Bảng 1 có các trường Masanpham, tensanpham, toncuoi nằm trên sheet1 (A1:C1000).
- Bảng 2 có các trường Masanpham, tensanpham, soluongban trên sheet2 (A1:C2).

excel4 Kết hợp Excel và Macro
Tôi muốn khi nhập các thông tin trên các ô thuộc sheet2 (A2; B2;C2) và chạy 1 macro thì chương trình sẽ tìm kiếm đúng mã sản phẩm trên bảng 1 và trừ đi lượng hàng bán ra.

Trả lời :

Nếu bạn biết lập trình bằng ngôn ngữ VBA và biết dùng đối tượng “Range” để truy xuất các cell trong các worksheet Excel thì việc viết macro thực hiện yêu cầu riêng của bạn là không khó. Sau đây chúng tôi xin trình bày qui trình điển hình để giải quyết bài toán của bạn:

1. Chạy Excel, mở file Excel chứa 2 worksheet của bạn. Chọn menu Tool.Macro.Macros để hiển thị cửa sổ Macro, nhập tên macro mới (thí dụ là Update), chọn tên file Excel của bạn trong danh sách “Macros in”, chọn button Create để tạo mới macro này trong file Excel của bạn.
2. Viết code VBA cho thủ tục Update như sau:

Sub Update()
'Khai báo các biến cần dùng
Dim Rgn1 As Range
Dim Rgn2 As Range
Dim i As Integer, j As Integer
'khởi động các vùng cell cần xử lý
Set Rgn1 = Range("Sheet1!A1:C1000")
Set Rgn2 = Range("Sheet2!A2:C2")
'duyệt xử lý từng hàng dữ liệu trong Rgn1
For i = 1 To Rgn1.Rows.count
If (Rgn1.Item(i, 1) = Rgn2.Item(1, 1)) And (Rgn1.Item(i, 2) = Rgn2.Item(1, 2)) Then
'tìm được phần tử ở hàng i cần hiệu chỉnh
Rgn1.Item(i, 3) = Rgn1.Item(i, 3) - Rgn2.Item(1, 3)
End If
Next i
End Sub

3. Chọn menu File.Close and Return to Microsoft Excel.
4. Tạo icon toolbar mới và gán icon này với macro đã viết: chọn menu View.Toolbars.Customize. Duyệt tìm và chọn mục Macros trong listbox “Categories”, chọn mục “Custom Button” và “drag” nó về vị trí mong muốn trong 1 toolbar nào đó hiện có. Sau khi đã có icon trong toolbar mong muốn, chọn nó rồi nhấn chuột vào listbox “Modify Selection” trong cửa sổ Customize, chọn mục “Assign macro” để hiển thị cửa sổ “Assign macro”, chọn macro “Update” trong danh sách rồi chọn OK để hoàn thành tác vụ.
5. Bây giờ bạn hãy thử nhập các thông tin trên các ô thuộc sheet2 (A2; B2; C2) rồi chọn icon miêu tả macro vừa tạo trong Toolbar, thủ tục Update sẽ chạy, tìm kiếm đúng mã sản phẩm trên sheet1 và trừ đi lượng hàng bán ra.

Theo pcworld

Bạn đang muốn nâng cao kỹ năng lập trình của mình ?


Bài viết liên quan:

  1. Cách lọc dữ liệu từ sheet-sheet trong EXCEL
  2. Cách lấy màu của ô trong Excel
  3. Lọc dữ liệu từ sheet-sheet trong EXCEL
  4. Cách lấy màu của ô trong excel
  5. Hướng dẫn cách đóng gói tập tin Excel
  6. Liên kết nhiều file Excel đặt trên các máy khác nhau
  7. Xuất data từ table trong Access sang Excel
  8. Xuất dữ liệu từ Foxpro sang Excel và chuyển mã Unicode