Nhờ giúp em viết code VBA tính cột thành tiền và link đơn giá

Liên hệ QC

sondaubac

Thành viên hoạt động
Tham gia
14/10/08
Bài viết
168
Được thích
28
Nhờ các thầy, các anh trên GPE giúp em viết 1 đoạn code VBA để link công thức như sau:

Em đã tính toán ra kết quả, nhưng cứ ngồi link bằng tay thấy bất tiện quá, mong mọi người viết dùm em 1 đoạn CODE để tính các nội dung sau:

1/ Tính cột thành tiền dựa vào:
Định mức * Đơn giá
Riêng vật liệu khác và máy khác thì tính bằng % của thành tiền các loại vật liệu ở trên

2/ Link kết quả của đơn giá từng hạng mục

Em xin chân thành cảm ơn!
 

File đính kèm

  • Hoi Code VBA 3.xls
    157.5 KB · Đọc: 40
Lần chỉnh sửa cuối:
Cái ấy thì Record Macro lấy công thức thay cái cũ đi là xong bạn à
Mã:
.
........................................ o O o .........................................
 If sArr(I, 1) = Empty And sArr(I, 4) <> Empty Then dArr(K, 8) = "=IF(RC[-2]<>"""",PRODUCT(RC[-3]:RC[-1]),"""")"
......................................... o O o .........................................
Giờ mới rảnh để xem lại bài viết của bạn đây! Mình rất cảm ơn sự nhiệt tình của bạn. Có vướng mắc trong CODE mình sẽ hỏi bạn thêm nhé. Bạn có thể diễn giải cách bạn thực hiện trong CODE để mình rõ hơn được không? Vì mình thấy có tới 02 Module
1/ Module 1: Gồm 3 thủ tục TÌM ĐƠN GIÁ, TÍNH TIỀN và LẤY DỰ TOÁN
2/ Module 2: Là 1 thủ tục MACRO để xác định ô hoạt động
Mình còn gà mờ về VBA quá nên rất mong được sự hướng dẫn của bạn
Phần đơn giá là nó sẽ tự link từ sheet Giá sang, mình muốn đổi cho nó thành hàm index thì có thể sửa trong CODE được không?
Còn nữa:
3/ Nếu mình chèn dòng hoặc delete dòng thì CODE còn đúng nữa hay không? :(
4/ khi LINK đơn giá của từng hạng mục sang sheet DỰ TOÁN thì có thể tạo cho nó thành LINK được không bạn?
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn bấm F8 duyệt qua các dòng lệnh xem nó hoạt động thế nào. Đây là cách của mình học VBA đấy bạn
À em quên câu hỏi thư 2.
+ Nếu dùng hàm trong dư toàn thì coi như là mình làm thủ công rồi
+ Vì cái link cell nên code em làm hơi dài. Nếu lấy Value thì code ngắn lại 1 khúc và dễ làm hơn :D
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn bấm F8 duyệt qua các dòng lệnh xem nó hoạt động thế nào. Đây là cách của mình học VBA đấy bạn
À em quên câu hỏi thư 2.
+ Nếu dùng hàm trong dư toàn thì coi như là mình làm thủ công rồi
+ Vì cái link cell nên code em làm hơi dài. Nếu lấy Value thì code ngắn lại 1 khúc và dễ làm hơn :D
Có thể xem qua File này giúp mình với được không bạn?
 

File đính kèm

  • Hoi Code VBA 5.xls
    141.5 KB · Đọc: 20
Upvote 0
Noá bị làm sao vậy. Sáng mai mình xem thử. Bây giờ đang dùng đt chỉ tán gẫu
được thôi ...:D
Ví dụ như bây giờ mình tạo sẵn 1 cơ sở dữ liệu căn cứ vào các mã hiệu và cứ thế là nhập mã hiệu vào cột mã hiệu là nó sẽ tự chạy ra số thứ tự, tên hạng mục công việc, định mức có được không nhỉ.
Xem qua cái này giúp mình với nha bạn, bạn tốt quá.
 

File đính kèm

  • Hoi Code VBA 6.xls
    145.5 KB · Đọc: 13
Lần chỉnh sửa cuối:
Upvote 0
Ví dụ như bây giờ mình tạo sẵn 1 cơ sở dữ liệu căn cứ vào các mã hiệu và cứ thế là nhập mã hiệu vào cột mã hiệu là nó sẽ tự chạy ra số thứ tự, tên hạng mục công việc, định mức có được không nhỉ.
Xem qua cái này giúp mình với nha bạn, bạn tốt quá.
Mình thấy anh @HieuCD đang xem bài rồi. Bạn sẽ có cách tối ưu cho bài toán này thôi.
 
Upvote 0
Bạn bấm F8 duyệt qua các dòng lệnh xem nó hoạt động thế nào. Đây là cách của mình học VBA đấy bạn
À em quên câu hỏi thư 2.
+ Nếu dùng hàm trong dư toàn thì coi như là mình làm thủ công rồi
+ Vì cái link cell nên code em làm hơi dài. Nếu lấy Value thì code ngắn lại 1 khúc và dễ làm hơn :D
Hi, nhờ bạn mình mới biết thêm được cái F8. Từ nào giờ di chuyển chuột để dò không à, mỏi mắt và tốn công sức nữa. Cám ơn bạn nhiều nghe.:p
 
Upvote 0
Đây là File mà mình muốn hoàn thành dựa vào những câu hỏi trước đó mà mình đã đặt ra.
1/ Từ bảng DATA có thể căn cứ vào cột MÃ SỐ để xuất kết quả sang Sheet PhantichVT trước rồi sau đó xuất kết quả sang sheet Dongia chitiet được không ? (File Hoi Code VBA 8)
2/ Có 1 file mẫu của đàn anh đi trước đã gửi cho mình tham khảo như mong muốn mà mình đã nói ở mục 1 nhưng không biết làm cách nào để tải lên cả.
 

File đính kèm

  • Hoi Code VBA 8.xls
    161 KB · Đọc: 13
Upvote 0
Upvote 0
Mình thấy anh @HieuCD đang xem bài rồi. Bạn sẽ có cách tối ưu cho bài toán này thôi.
Mình cảm ơn bạn đã hỗ trợ giúp đỡ mình nhé!

Bạn có thể chỉ cho mình biết tại sao trong quá trình lập VBA bạn tạo ra 2 Module :

Module 1: Gồm 3 thủ tục Tìm Đơn Giá, Tính Tiền, Lấy Dự toán

Module 2: Gồm 1 Macro (Cái này để làm gì vậy?)

Và bạn đã làm cách nào để tổng hợp 2 Module được và chạy đồng loạt được vậy. Mình hỏi nhiều quá bạn thông cảm cho mình nhé
 
Upvote 0
Mình cảm ơn bạn đã hỗ trợ giúp đỡ mình nhé!

Bạn có thể chỉ cho mình biết tại sao trong quá trình lập VBA bạn tạo ra 2 Module :

Module 1: Gồm 3 thủ tục Tìm Đơn Giá, Tính Tiền, Lấy Dự toán

Module 2: Gồm 1 Macro (Cái này để làm gì vậy?)

Và bạn đã làm cách nào để tổng hợp 2 Module được và chạy đồng loạt được vậy. Mình hỏi nhiều quá bạn thông cảm cho mình nhé
Bạn xem cái file này thử xem
Cách thực hiện:
*) Cập nhật đơn giá: Tại Sheets("1. Gia") nhập đơn giá thực tế xong ---> Click nút Cập nhật đơn giá
*) Nhập mã hiệu tại sheets("3. Du toan ")
- Click vào cột B hiện Form chọn mã hiệu
- Nhập khối lượng
----------- Xong -----------------
 

File đính kèm

  • File Du toan ABC.xls
    4.9 MB · Đọc: 66
Upvote 0
Bạn xem cái file này thử xem
Cách thực hiện:
*) Cập nhật đơn giá: Tại Sheets("1. Gia") nhập đơn giá thực tế xong ---> Click nút Cập nhật đơn giá
*) Nhập mã hiệu tại sheets("3. Du toan ")
- Click vào cột B hiện Form chọn mã hiệu
- Nhập khối lượng
----------- Xong -----------------
Bạn ơi, lúc click vào cột B bên dự toán để chọn mã hiệu thì nó báo là Run time Error '1004':
 
Upvote 0
Về cơ bản thì chỉ cần thay đổi dữ liệu trong Sheet DATA và đơn giá thì sẽ chạy được đúng không bạn. Mình thì bị lỗi này. Hay là do Excel của mình chỉ là 2010 nên bị lỗi nhỉ.
Nó báo là "Unable to set the LineStyle property of the Borders class".
 

File đính kèm

  • error.jpg
    error.jpg
    114.3 KB · Đọc: 12
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom