Code link từ bảng Phân tích vật tư sang một sheet, dựa vào số thứ tự chọn. (1 người xem)

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

ftthua2003

Thành viên chính thức
Tham gia
15/8/08
Bài viết
97
Được thích
11
Kính chào cả nhà,!
Tình hình là sếp bắt làm bảng dự toán thi công, để kiểm soát định mức hao phí vật liệu tại công trường. Nhưng trong quá trình làm bản thân có tìm hiểu về VBA excel, tập tọe viết VBA, nhưng nói thật là ko làm nổi. Vì vậy kính mong cả nhà giúp đỡ 02 nội dung sau:
1. Link bảng phân tích vật tư sang sheet mới "có lựa chọn" căn cứ vào số thứ tự trong bảng phân tích vật tư. và chỉ copy tên vật liệu (Cát , đá, xi măng thôi) không copy chi phí Nhân công và Máy thi công
2. Làm sao để điền khối lượng định mức vật tư mới do mình lập (Cát, đá, xi măng, sắt thép...) ứng với Tên vật liệu vừa copy sang.
Xin cám ơn cả nhà.
 
cả nhà ơi, ai biết giúp đỡ với. Xin cảm ơn rất nhiều!
 
Upvote 0
ngày nào mình cũng lên GPE nhưng thất vọng quá.-\\/.
 
Upvote 0
có ai biết giúp đỡ mình với. Đang tù mù đầu mà không giải quyết được. xin cảm ơn mọi người. mình xin gửi lại trăm sự nhờ cả nhà đó.
 
Upvote 0
có ai biết giúp đỡ mình với. Đang tù mù đầu mà không giải quyết được. xin cảm ơn mọi người. mình xin gửi lại trăm sự nhờ cả nhà đó.
Làm thử sử lý trên sheet với dữ liệu lớn, chạy hơi rùa, để lúc rảnh thử mảng xem sao
Mã:
Public Sub ToTe()
    Application.ScreenUpdating = False
        Dim Vung, iDau, iNhay, Wf, Bd, I, iMax
        Set Wf = Application.WorksheetFunction
        Set Vung = Sheets("Phan tich vat tu").Range(Sheets("Phan tich vat tu").[D7], Sheets("Phan tich vat tu").[D100000].End(xlUp)).Offset(, -3).Resize(, 4):    Bd = 4: iMax = Wf.Max(Vung.Columns(1))
        Sheets("Du toan thi cong").[A10:D50000].ClearContents
            Do
                iDau = Wf.Match(Bd + 1, Vung.Columns(1), 0)
                iNhay = Wf.Match("Nhaân coâng", Vung.Columns(4).Offset(iDau - 1), 0)
                Vung(iDau, 1).Resize(iNhay - 1, 4).Copy Sheets("Du toan thi cong").[D100000].End(xlUp)(2).Offset(, -3)
                Bd = Vung(iDau, 1)
            Loop Until Vung(iDau, 1) = iMax
    Application.ScreenUpdating = True
End Sub
Bạn xem thử trong file ( đứng ở sheet nào chạy code cũng được), sao gởi bài tùm lum vậy, phạm quy í
Thân
 

File đính kèm

Upvote 0
Xin cảm ơn Concogia rất nhiều. Do lần đầu nhờ GPE nên chưa biết chổ post. Thất xin lỗi vì sự bất tiện. Cảm ơn rất nhiều>
 
Upvote 0
Concoigia cho mình hỏi thêm tí, mình muốn copy đến cột F chỗ mình bôi vàng trong file mình đính kèm thì làm thế nào.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình cảm ơn concogia rất nhiều. Mình có vấn đề này mình xin bạn giúp mình với.

Nhờ bạn giúp mình 02 nội dung
ND1: tình hình code bạn viết cho mình Bản đó chạy ok, nhưng khi mình copy bản khác thay y chang vào bản đó thì code báo lỗi: Run -time error '1004'. Nhờ bạn xử lý giúp lại đoạn code nghe.
ND2: bạn giúp Tạo công thức hay thủ tục chạy cùng code khi copy sheet cũng được. Nội dung mình ghi rõ trong bản đính kèm gửi đến bạn.
Mình cảm ơn bạn nhiều., Nếu bạn ở SG mình có thể mời bạn cafe hay gì đấy cũng được. Vì mình cũng muốn học thếm VBA.
Chúc bạn sức khỏe và thành công.
Mail của mình: ftthua2003@gmail.com ./-*+/
 
Lần chỉnh sửa cuối:
Upvote 0
mình đính kèm file rồi đó , bạn xem giúp mình tí nghe! Thanks alot!!!
 
Upvote 0
Nhờ bạn giúp mình 02 nội dung
ND1: tình hình code bạn viết cho mình Bản đó chạy ok, nhưng khi mình copy bản khác thay y chang vào bản đó thì code báo lỗi: Run -time error '1004'. Nhờ bạn xử lý giúp lại đoạn code nghe.
ND2: bạn giúp Tạo công thức hay thủ tục chạy cùng code khi copy sheet cũng được. Nội dung mình ghi rõ trong bản đính kèm gửi đến bạn.
Mình cảm ơn bạn nhiều., Nếu bạn ở SG mình có thể mời bạn cafe hay gì đấy cũng được. Vì mình cũng muốn học thếm VBA.
Chúc bạn sức khỏe và thành công.
Mail của mình: ftthua2003@gmail.com ./-*+/
...nhưng khi mình copy bản khác thay y chang vào bản đó thì code báo lỗi:
Y chang đâu mà y chang, cá hông ???
ND2: bạn giúp Tạo công thức hay thủ tục chạy cùng code khi copy sheet cũng được. Nội dung mình ghi rõ trong bản đính kèm gửi đến bạn.
Chỗ nào vậy ???
Nếu bạn ở SG mình có thể mời bạn cafe
Hông biết uống cà- phê
Mã:
Public Sub TeTo()
    Dim Vung, I, J, K, kK, Mg
        Vung = Sheets("Phan tich vat tu").Range(Sheets("Phan tich vat tu").[D7], Sheets("Phan tich vat tu").[D100000].End(xlUp)).Offset(, -3).Resize(, 5)
        ReDim Mg(1 To UBound(Vung), 1 To 5)
            For I = 1 To UBound(Vung)
                If Vung(I, 1) > 0 Then
                    For kK = 0 To 9
                        If Vung(I + kK, 4) <> "Nhaân coâng" Then
                            K = K + 1
                            For J = 1 To 5
                                Mg(K, J) = Vung(I + kK, J)
                            Next J
                        Else
                            Exit For
                        End If
                    Next kK
                    I = I + kK
                End If
            Next I
    Sheets("Du toan thi cong").[A10:E50000].ClearContents
    Sheets("Du toan thi cong").[A10].Resize(K, 5) = Mg
End Sub
Vào sheet "du toan..." chơi vào đầu con mèo một phát
 

File đính kèm

Upvote 0
Mình ở quận Tân bình, gần sân bay TSN
Không cafe được thì mình lai rai vậy. HIIII
- Bạn giúp mình công thức ở Nội dung thứ 2 mà mình bôi vàng với ( trong bản mình đính kèm ý).( công thức mà mình dùng takm lệch SUMPRODUCT ĐÓ).. Chứ cả buổi sáng này ngồi suy nghĩ, viết code không được rồi làm copy, patse đến mỏi mắt.
 
Upvote 0
Mình ở quận Tân bình, gần sân bay TSN
Không cafe được thì mình lai rai vậy. HIIII
- Bạn giúp mình công thức ở Nội dung thứ 2 mà mình bôi vàng với ( trong bản mình đính kèm ý).( công thức mà mình dùng takm lệch SUMPRODUCT ĐÓ).. Chứ cả buổi sáng này ngồi suy nghĩ, viết code không được rồi làm copy, patse đến mỏi mắt.
Viết cho bạn công thức ở cột [L] (Sumproduct) thì dễ thôi, nhưng nhìn vào bài mình thấy sao sao í, chẳng lẽ chạy code lấy dữ liệu ( cứ cho là tới cột [F])từ sheet "phan tích..." sang rồi ........lại nhập tay công thức tại các cột [H], , [J], [K] ???? sao các cột Định mức, Hệ số, Đơn giá .....không nhập đầy đủ ở sheet "phan tich..." để code lấy qua một lần rồi tính luôn cột [L]- Đơn giá tổng hợp ( nếu không cần thể hiện hàm Sumproduct), còn muốn thì phang em Sumproduct vào cột đó
Nói chung là ......rắc rối thật, bảng dữ liệu càng hợp lý thì công việc mới càng nhẹ nhàng được. Híc
Thân
 
Upvote 0
Mình hiểu ý của bạn. Nhung không làm được bạn ơi. Vì dữ liệu o cột "đơn giá vật liệu thay đổi từng thời điểm, nên mình không thể lập chung trong bản "phân tích vật tư" rồi copy sang được.
- nên mình nhờ bạn viết cho mình đoan code chạy sau code "Tote" " teto" đó. Để mình tạo menu rồi mình assign macro vào, chạy theo thứ tự chẳng hạn code "Teto" copy xong rồi chạy tiếp code "tete" chẳng hạn để chạy vùng đã copy có sử dụng công thức (sumproduct) theo thứ tự ở cột A.
- bạn cố gắng giup minh nha.
Chúc bạn cuối tuần nhiều niềm vui!!!
 
Upvote 0
Concogia oi! giải giúp mình với, mình đang cần gấp . Cảm ơn bạn!
 
Upvote 0
Bạn ơi, nếu biết giúp mình tí. Mai mình nộp cho sếp xem rồi, mà làm thủ công thì lâu quá. Bạn cố gắng giúp nghe!!!
 
Upvote 0
Bạn ơi, nếu biết giúp mình tí. Mai mình nộp cho sếp xem rồi, mà làm thủ công thì lâu quá. Bạn cố gắng giúp nghe!!!
Híc, hôm qua đi nhậu "zí" thành viên Viehoai ở Huế vào nên tưng tưng hổng viết được, thông cảm nhé
Thằng "TeTe của bạn đây, chỉ dùng cho file "gui ban giup123.xlsm" thôi nhé, chạy TeTo rồi tơi TeTe, chỉ viết Sumproduct vào các cell cần công thức thôi nhé, không chịu tráh nhiệm các cells khác à nha
Thân
Mã:
Public Sub TeTe()
    Dim Vung, I, J
        Set Vung = Range([A10], [A100000].End(xlUp)).Resize(, 14)
            For I = 1 To Vung.Rows.Count
                If Vung(I, 1) > 0 Then
                    For J = 1 To 15
                        If Vung(I + J + 1, 3) = "" Then
                            Exit For
                        End If
                    Next J
                End If
                    Vung(I, 12).Formula = "=sumproduct(" & Cells(I + 11, 10).Address & ":" & Cells(J + I + 9, 10).Address & "," & Cells(I + 11, 11).Address & ":" & Cells(J + I + 9, 11).Address & ")"
                    I = I + J
            Next I
End Sub
 
Upvote 0
Eo ôi, sướng zị mà không hú cho nhậu ké với. kekek.
Bạn nói vậy mình copy bản khác thay vào bản phân tích vật tư "guibangiup123"chay còn đúng không vậy. Cam kết đúng cái coi.
Chứ xảy ra tình trạng"râu ông nọ cắm cằm bà kia" thì toi mạng chứ chẳng chơi đâu.!!!
 
Upvote 0
Chắc do hôm qua nhậu quất cần câu nên đoạn code của anh "Te te" ảnh chạy lung tung Concogia oi.
-từ số thứ tự 1-106 "te te chay đúng địa chỉ cần trả về" ( cái này chắc còn tỉnh)
- Từ 106 trở xuống "te te" chạy loạn xạ luôn (chắc là xỉn rồi đây, không tìm thấy đường về luôn)
Mình nhờ bạn cho anh "Te te" ly nước chanh hay liều thuốc gì đấy cho anh tỉnh để tìm đúng đường về nha.
- Nhờ bạn sửa lại đoạn Code nghe.
Cam ơn bạn nhiều.
 
Upvote 0
Chắc do hôm qua nhậu quất cần câu nên đoạn code của anh "Te te" ảnh chạy lung tung Concogia oi.
-từ số thứ tự 1-106 "te te chay đúng địa chỉ cần trả về" ( cái này chắc còn tỉnh)
- Từ 106 trở xuống "te te" chạy loạn xạ luôn (chắc là xỉn rồi đây, không tìm thấy đường về luôn)
Mình nhờ bạn cho anh "Te te" ly nước chanh hay liều thuốc gì đấy cho anh tỉnh để tìm đúng đường về nha.
- Nhờ bạn sửa lại đoạn Code nghe.
Cam ơn bạn nhiều.
-từ số thứ tự 1-106 "te te chay đúng địa chỉ cần trả về" ( cái này chắc còn tỉnh)
Con gà đen
- Từ 106 trở xuống "te te" chạy loạn xạ luôn (chắc là xỉn rồi đây, không tìm thấy đường về luôn)
Mình thấy ...... TeTe chạy hoàn toàn đúng
Riêng số thứ tự 576 dữ liệu không hợp lệ, làm nhảy dòng 577
2 code này chạy đúng với mọi dữ liệu miễn hợp lệ, tức là phải có đủ Stt ( cột A), Mã hiệu ( cột B) & MSVT ( cột C) ==> số thứ tự 576 không hợp lệ
Bạn kiểm tra dữ liêu rồi thử chạy lại xem
 
Upvote 0
Bắt con gà đen nhậu tiếp đi. Te te chưa xỉn rồi.
Cảm ơn bạn nhiều nghe.
 
Upvote 0
Concogia ơi, giúp mình với khi mình làm, phát sinh cần có công thức Product ở cột O . công thức này chạy sau công thức Sum product ma bạn đã tạo giúp mình. . Bạn giúp mình tạo đoạn code nhe! Mình chỉnh sửa lại hàm Sumproduct nhưng không được bạn ah.
Cam ơn bạn nhiều. Chúc Concogia cuoi tuần vui ve!
 
Upvote 0
Concogia oi giup vói. Ca nhà ơi giup với! cam GPE rất nhiều!
 
Upvote 0
Concogia oi giup vói. Ca nhà ơi giup với! cam GPE rất nhiều!
Chỉnh code Kl của bạn tí:
Mã:
Public Sub KL()
Application.ScreenUpdating = False
    Dim Vung, I, J
        Set Vung = Range([A10], [A100000].End(xlUp)).Resize(, 15)
            For I = 1 To Vung.Rows.Count
                If Vung(I, 1) > 0 Then
                    For J = 1 To 15
                        If Vung(I + J + 1, 3) = "" Then
                            Exit For
                        Else
                            Vung(I + J + 1, 15).Formula = "= product(" & Cells(I + 9, 8).Address & "," & Cells(J + I + 10, 10).Address & ")"
                        End If
                    Next J
                End If
                    I = I + J
            Next I
Application.ScreenUpdating = True
End Sub
Bạn thử gom chung nó vào em "TeTe" xem sao
Mà 2 em nhân với nhau thì phang công thức em này nhân với em kia cho rồi, mắc chi phải Pro....Híc
Thân
 
Upvote 0
Cảm ơn bạn nhiều nghe. để mình thử gôm khó khăn gì bạn giúp mình nhé!
 
Upvote 0
Bạn ơi, sau thời gian bảng bạn giúp mình doạn code chạy tốt nhưng không biết sao mình copy bảng khác qua thi lại chay không đuợc nữa, Nhờ bạn xem giúp mình nge.
- 01 nội dung nữa, bạn có thể chỉnh sửa đoạn code đó sao cho khi không có thành phần "Vật liệu" thì không copy qua sheet dự toán thi công. Nội dung mình ghi rõ trong chỗ mình bôi vàng nghe. Cảm ơn Concogia rat nhiều!
 
Upvote 0

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

Back
Top Bottom