Giúp code phân tích vật tư (3 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

matran25251325

Thành viên tiêu biểu
Tham gia
13/1/11
Bài viết
424
Được thích
39
Nhờ các thầy giúp em đoạn code ở sheet PhanTichVatTu sau khi nhấp vào Form PTVT thì vật tư sẽ được phân tích từ sheet TLuongDT. Code chỉ lấy các vật tư chứ không lấy các Máy và bù nhiên liệu. Em cảm ơn nhiều.
 

File đính kèm

[thongbao]sau khi nhấp vào Form PTVT thì vật tư sẽ được phân tích từ sheet TLuongDT.[/thongbao]

Chưa hình dung được là fân tích là fải làm những gì?
 
Upvote 0
Cái zụ này ăn thua là "do mình giao" à, mình phải định nghĩa cho từng nhóm thôi. Code cũng đâu có biết lúc thì là thanh sắt, lúc thì là công cụ dụng cụ (cái xà beng) đâu. Cách xử lý nhanh nhất là bạn dow đại 1 phần mềm dự toán nào đó. Tạo 1 dự án ảo, nhập thông số ảo rùi kết xuất ra coi cách nó tính toán --=0
 
Upvote 0
Chàng Nhím nói vậy coi chừng tớ vặt trụi lông bây chừ!

[ThongBao]Cái zụ này ăn thua là "do mình giao" à, mình phải định nghĩa cho từng nhóm thôi. Code cũng đâu có biết lúc thì là thanh sắt, lúc thì là công cụ dụng cụ (cái xà beng) đâu. Cách xử lý nhanh nhất là bạn dow đại 1 phần mềm dự toán nào đó. Tạo 1 dự án ảo, nhập thông số ảo rùi kết xuất ra coi cách nó tính toán --=0[/Thongbao]

Mình thấy file bài thứ hai mà tác giả đưa lên là người ta căn cứ vô 'ĐVT' để loại 'Ca' & 'Kw' đó Nhím!

Mình đã làm xong cho tác giả rồi; nhưng vội đi làm bữa, nên lưu trong xó nào rồi, tìm chưa ra;
Chắc fải lại từ đầu quá.
 
Upvote 0
thường là nếu gán mỗi vật tư bằng 1 mã số nào đó thì em thấy có nhiều bài hơn. nhưng vì bên em trước giờ không làm theo phần mềm nên em không biết lọc như thế nào ngoài cách làm thủ công. Tình cờ em tìm được cách làm như file thứ 2 em úp lên nhưng em chỉnh để áp dụng vào file bên em thì lại chưa được. Mong các anh các thầy giúp em
 
Upvote 0
Bạn xem trong file kèm theo

--=0 --=0 --=0
}}}}} }}}}} }}}}}
 

File đính kèm

Upvote 0
Thì mình đã nói rồi đó, bạn thử dow 1 phần mềm dự toán nào đó về xem sẽ thấy:
- Vật tư, máy thi công, công cụ dụng cụ đa số đều đã được tách theo mã: Như vậy là đã có cách tạo mã
- Trong phần tổng hợp vật tư đã có hệ thống cơ bản về công thức: Bạn sẽ hiểu được cách tính toán
-> từ đó đưa ra yêu cầu để viết code.

P/s: Bác Sa không chơi vặt lông nha, Nhím còn có vài cái à. Để dành chích hoa Quỳnh
 
Upvote 0
Mình không nói cách tính toán, cái mình nhờ là lọc ra những vật tư như file thứ 2 mình úp lên để liệt kê công trình đó có các vật tư gì và tổng khối lượng các vật tư đó thôi %#^#$
--------------------------------------------------------------------
dạ File bác SA đưa lên đúng với ý em rồi nhưng sao font chữ sau khi phân tích ra là 8 vậy. Có 1 vài công việc có thêm vật liêu khác và đơn vị % thì sau khi phân tích có thể bỏ đi điều kiện vật liệu khác được không? trong code thì em thấy có phần ẩn đi các hàng, nhưng có cách nào khi phân tích ra thì đường kẻ vừa khung như file #3 em gởi không?
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
[ThongBao]File bác đưa lên đúng với ý em rồi; (1) Nhưng sao font chữ sau khi phân tích ra là 8 vậy.

(2) & có 1 vài công việc có thêm vật liêu khác và đơn vị % thì sau khi phân tích có thể bỏ đi điều kiện vật liệu khác được không[/ThongBao]

Xử (1) có thể bằng 2 cách sau:
1.1 Sang trang 'TLuong DT' & đưa vùng dữ liệu sau cột 'L' thành kích thước font mà bạn iêu thích

1.2 Dùng lệnh format để định dạng lại kích thước font tại bảng dữ liệu đã tổng hợp được.

(2) Để vậy ta thêm trong dòng lệnh
Mã:
    If Cls.Value = "" Or Cls.Value = "Ca" Or Cls.Value = "Kw" Then _
        Cls.Offset(, -1).Resize(, 2).Value = ""

thành
PHP:
    If Cls.Value = "" Or Cls.Value = "Ca" Or Cls.Value = "Kw" Or Cls.Value = "%" Then 
           Cls.Offset(, -1).Resize(, 2).Value = ""
  End I
 
Upvote 0
Dạ cảm ơn bác Chánh. Nhưng e hỏi thêm có cách nào tự kẻ vừa khung border thay vì ẩn dòng không? Bài 3 em post lên nó tự kẻ vừa khung
---------------------------------------------------------------------
Vấn đề khung border em đã xử lý được. Các anh có thể giúp em thêm sự kiện xóa vật tư bên sheet PhanTichVatTu thành khung trống khi bên sheet TLuongDT xóa hết dữ liệu phân tích
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
[Thongbao]Các anh có thể giúp em thêm sự kiện xóa vật tư bên sheet PhanTichVatTu thành khung trống khi bên sheet TLuongDT xóa hết dữ liệu phân tích[/ThongBao]

Khi dữ liệu bên 'TLuong DT' không có dữ liệu thì
Câu lệnh
Mã:
 Set Rng = Sh.Range(Sh.[m10], Sh.[m9999].End(xlUp))
Sẽ tiến đến 0 khi ta đếm số ô trong Rng

Khi đó bạn chép vùng trống nào đó ở trang nào đó bỏ vô vùng cần thiết xóa boder của trang còn lại;
Đó là cách lừa nhau đó mà! Mấy khi được dịp vậy!
 
Lần chỉnh sửa cuối:
Upvote 0
Nhờ các thầy giúp em đoạn code ở sheet PhanTichVatTu sau khi nhấp vào Form PTVT thì vật tư sẽ được phân tích từ sheet TLuongDT. Code chỉ lấy các vật tư chứ không lấy các Máy và bù nhiên liệu. Em cảm ơn nhiều.
Hổng biết "Nhấp vào Form" là nhấp vào đâu. Tạm nhấp vào Command Button nhé.
Trong file hình như là dùng Code "tổng hợp" hay sao ấy, đến 4,5 Module!
Trong đó Sub Luxubu rồi nên Sub này là Buxulu nhé.
 

File đính kèm

Upvote 0
Dạ các modul đó là của sheet khác. Code bác BaTe có vẻ nhanh và đúng với ý em hơn, nhưng sau khi phân tích vật tư thì vẫn còn phần máy và bù nguyên liệu và vật liệu khác bác ơi. Nói chung là khi lọc sẽ không lấy các đơn vị %, Ca và Kw như bài trên. Và cho em hỏi thêm nếu muốn hiển thị công thức tính của cột D sheet PhanTichVatTu thì sửa ở đâu trong code
 
Upvote 0
Dạ các modul đó là của sheet khác. Code bác BaTe có vẻ nhanh và đúng với ý em hơn, nhưng sau khi phân tích vật tư thì vẫn còn phần máy và bù nguyên liệu và vật liệu khác bác ơi. Nói chung là khi lọc sẽ không lấy các đơn vị %, Ca và Kw như bài trên. Và cho em hỏi thêm nếu muốn hiển thị công thức tính của cột D sheet PhanTichVatTu thì sửa ở đâu trong code
1/ Thay sub này và nhập thêm Ca, %, Kw vào tiếp cột G sheet PhanTichVatTu
2/ Hổng biết bạn muốn công thức của cột D là công thức nào?
Bạn thử nhập 1 vài công thức muốn có trong cột D xem.
PHP:
Public Sub BUXULU()
Dim Rng As Range, Cll As Range, Sarr(), Darr(), I As Long, K As Long, Dic As Object, Dic2 As Object, Tem As String, Tem2 As String
Set Dic = CreateObject("Scripting.Dictionary")
Set Dic2 = CreateObject("Scripting.Dictionary")
With Sheets("TLuong DT")
    Sarr = .Range(.[M10], .[M65000].End(xlUp)).Resize(, 4).Value
End With
ReDim Darr(1 To UBound(Sarr, 1), 1 To 4)
With Sheets("PhanTichVatTu")
    Set Rng = .Range(.[G2], .[G2].End(xlDown))
    For Each Cll In Rng
        Dic2.Add UCase(Cll), ""
    Next
    For I = 1 To UBound(Sarr, 1)
        Tem = UCase(Sarr(I, 1)): Tem2 = UCase(Sarr(I, 2))
        If Not Dic2.Exists(Tem) And Not Dic2.Exists(Tem2) Then
            If Not Dic.Exists(Tem) Then
                K = K + 1
                Dic.Add Tem, K
                Darr(K, 1) = K
                Darr(K, 2) = Sarr(I, 1)
                Darr(K, 3) = Sarr(I, 2)
                Darr(K, 4) = Sarr(I, 4)
            Else
                Darr(Dic.Item(Tem), 4) = Darr(Dic.Item(Tem), 4) + Sarr(I, 4)
            End If
        End If
    Next I
    With .[A4]
        .Resize(10000, 4).ClearContents
        .Resize(10000, 4).Borders.LineStyle = xlNone
        If K Then
        .Resize(K, 4).Value = Darr
        .Resize(K, 4).Borders.LineStyle = xlContinuous
        End If
    End With
End With
Set Dic = Nothing
Set Dic2 = Nothing
Set Rng = Nothing
End Sub
 

File đính kèm

Upvote 0
anh BaTe cho em hỏi nếu không muốn lọc đơn vị nào đó thì mình chỉ cần thêm ở cột G sheet PhanTichVatTu hả anh
 
Upvote 0
Với trường hợp hàng 10 (sheet TLuong DT): vị trí M10 trống thì khi tổng hợp vật tư ở sheet PTVT thì sẽ xảy ra trường hợp hàng A4 sẽ trống. Vậy phải thêm điều kiện gì để giải quyết vấn đề này.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom