Lấy đơn giá trong bảng Chiết tính từ file excel xuất ra từ phần mềm dự toán

Liên hệ QC

quyenpv

Thu nhặt kiến thức
Tham gia
5/1/13
Bài viết
719
Được thích
97
Giới tính
Nam
Nghề nghiệp
Decode cuộc đời!
Dear các anh/chị!
Nhờ anh chị hướng dẫn hỗ trợ code giúp em có thể Lấy đơn giá trong bảng Chiết tính từ file excel xuất ra từ phần mềm dự toán. Cụ thể
- Em đã lấy các đầu việc trong Sheet Công trình đưa sang Sheet PLHD được rồi
- Bây giờ em cần lấy đơn giá của công việc đó từ Sheet Chiết tính sang Sheet PLHD (Từ khóa của bảng phân tích công việc đó là Gxd ở cột D). Tuy nhiên số lượng dòng nó không cố định do phụ thuộc vào Vật Liêu, Nhân công, Máy thi công của Công việc đó nên trình độ em ko làm được
- Em có tạo 2 Sheet PLHD_Mong muon là kết quả em đang cần và PLHD_GPE là nơi em đã làm 1 phần nhỏ code
Mong anh chị ghé qua giúp đỡ ạ, em cám ơn
1624596049693.png1624596390155.png
Mã:
Sub Run_PLHD()
    Dim i, k, aGV(), Res()
    Dim LastRow

    With Sheet1
        aGV = .Range("A6:X" & .Range("F" & .Rows.Count).End(xlUp).Row).Value
    End With
    sRow = UBound(aGV)
    ReDim Res(1 To sRow, 1 To 8)

    For i = 1 To sRow
        If aGV(i, 5) <> "" Then
            k = k + 1
            Res(k, 1) = k
            Res(k, 2) = aGV(i, 5)
            Res(k, 3) = aGV(i, 6)
            Res(k, 4) = aGV(i, 7)
            Res(k, 5) = aGV(i, 16)
            Res(k, 6) = 1
            Res(k, 7) = Res(k, 5) * Res(k, 6)
        End If
    Next i
   

    With Sheet57
        If k > 0 Then
        .Range("A5").Resize(k, 8).Value = Res
        End If
    End With

End Sub
 

File đính kèm

  • GPE_Tao PLHD.xls
    552 KB · Đọc: 31
Các anh chị giúp em với ạ
 
Upvote 0
Vụ này khó quá em mần mãi không được à, anh chị ghé qua giúp em với ạ
 
Upvote 0
Vụ này khó quá em mần mãi không được à, anh chị ghé qua giúp em với ạ
Lấy đơn giá. Bấm nút trên sheet PLHD để chạy. Điều kiện là ở cột Số thứ tự chỉ đánh số cho các mã số cần lấy đơn giá, không phải mã số cần lấy bên Chiết tính thì chừa trống.
 

File đính kèm

  • GPE_Tao PLHD_quyenpv.xls
    577.5 KB · Đọc: 23
Upvote 0
Lấy đơn giá. Bấm nút trên sheet PLHD để chạy. Điều kiện là ở cột Số thứ tự chỉ đánh số cho các mã số cần lấy đơn giá, không phải mã số cần lấy bên Chiết tính thì chừa trống.
Dạ cám ơn anh đã hỗ trợ em ạ, mừng quá anh ạ. Ở đây công trình sẽ luôn biến đổi, code em mong muốn có thể tổng quát đối với bất cứ công trình nào khi lập bằng phần mềm xuất ra file excel sẽ lấy code này của anh chạy
1. Lấy tất cả các dữ liệu trong Sheet Công trình
2. Ghép đơn giá tại Sheet Chiết tính
3. Đưa thông tin 1 và thông tin 2 vào Sheet PLHD

Nhờ anh giúp em bổ sung với ạ
Mã:
Sub Run_PLHD_All()

    Dim aGV(), Res()
    Dim Srw&, Erw&, i&, j&, k&
    Dim aMS, aDG, arrCT

    With Sheet1
        aGV = .Range("A6:X" & .Range("F" & .Rows.Count).End(xlUp).Row).Value
    End With
    sRow = UBound(aGV)
    ReDim Res(1 To sRow, 1 To 8)

    For i = 1 To sRow
        If aGV(i, 5) <> "" And UCase(Left(aGV(i, 5), 3)) <> "THM" Then
            k = k + 1
            Res(k, 1) = aGV(i, 1)
            Res(k, 2) = aGV(i, 5)
            Res(k, 3) = aGV(i, 6)
            Res(k, 4) = aGV(i, 7)
            Res(k, 5) = aGV(i, 16)
'            Res(k, 6) = 1
'            Res(k, 7) = Res(k, 5) * Res(k, 6)
        End If
    Next i
    
    With Sheet57
        If k > 0 Then
            .Range("A5").Resize(k, 8).Value = Res
        End If
    End With

    aMS = Sheet57.Range("A6:B" & Sheet57.Range("A" & Rows.Count).End(xlUp).Row)
    arrCT = Sheet22.Range("B6:B" & Sheet22.Range("C" & Rows.Count).End(xlUp).Row)
    ReDim aDG(1 To UBound(aMS), 1 To 1)
    For i = 1 To UBound(aMS)
        k = k + 1
        If aMS(i, 1) <> "" Then
            For j = 1 To UBound(arrCT)
                If arrCT(j, 1) = aMS(i, 2) Then Srw = j + 5: Exit For
            Next
            Erw = Sheet22.Range("A" & Srw).End(xlDown).Row
            aDG(k, 1) = Sheet22.Range("D" & Srw & ":D" & Erw).Find(What:="Gxd", LookIn:=xlFormulas, LookAt:=xlWhole).Offset(, 4).Value
        End If
    Next
    
'- Them dong tong cong:
With Sheet57
    .Range("F6").Resize(k, 1) = aDG
    'Them dong tong cong:
    i = .Range("D" & 65536).End(xlUp).Row + 1
    .Range("B" & i).Value = "TC"
    
    .Range("C" & i).Value = UCase("Tong cong")
    .Range("A" & i).EntireRow.Font.Bold = True
    
End With

End Sub

Code em ghép đang bị lỗi sau khi lấy xong mục 1, chạy tiếp mục 2 bị lỗi . Chạy Sub riêng biệt thì không bị

1624693725304.png
Chưa tính toán được khối lượng * đơn giá = thành tiền
Chưa tính được SubTotal
 

File đính kèm

  • GPE_Tao PLHD_quyenpv.xls
    587.5 KB · Đọc: 3
Lần chỉnh sửa cuối:
Upvote 0
Bạn xem vị trí để thêm k = 0 vào code

Còn việc bạn muốn tính cái gì thì phải có số liệu gốc và số mong muốn bằng tay + giải thích nếu cần
1624699134593.png
 
Upvote 0
Dạ anh!
Sau khi lấy dữ liệu được từ bên Sheet Công trình và đơn giá bên Sheet Chi tiết em muốn nhân khối lượng * Đơn giá = thành tiền dạ
1624699614498.png
 

File đính kèm

  • GPE_Tao PLHD_quyenpv.xls
    586.5 KB · Đọc: 8
Upvote 0
Dạ sau khi tính toán đươccj thì tính thêm chỗ dòng tổng cộng đó ạ
Chỗ đó là Total hay là MainTotal. Còn SubTotal là tổng con từng nhóm.
Bạn dùng code đã sửa:
Rich (BB code):
Sub Run_PLHD_All()

    Dim aGV(), Res()
    Dim Srw&, Erw&, i&, j&, k&
    Dim aMS, aDG, arrCT
    Application.ScreenUpdating = False
    With Sheet1
        aGV = .Range("A6:X" & .Range("F" & .Rows.Count).End(xlUp).Row).Value
    End With
    sRow = UBound(aGV)
    ReDim Res(1 To sRow, 1 To 8)

    For i = 1 To sRow
        If aGV(i, 5) <> "" And UCase(Left(aGV(i, 5), 3)) <> "THM" Then
            k = k + 1
            Res(k, 1) = aGV(i, 1)
            Res(k, 2) = aGV(i, 5)
            Res(k, 3) = aGV(i, 6)
            Res(k, 4) = aGV(i, 7)
            Res(k, 5) = aGV(i, 16)
        End If
    Next i
    
    With Sheet57
        .Range("A5:H21").ClearContents
        If k > 0 Then
            .Range("A5").Resize(k, 8).Value = Res
        End If
    End With
    k = 0
    Dim Tong#
    aMS = Sheet57.Range("A6:B" & Sheet57.Range("B" & Rows.Count).End(xlUp).Row)
    arrCT = Sheet22.Range("B6:B" & Sheet22.Range("C" & Rows.Count).End(xlUp).Row)
    aDG = Sheet57.Range("E6:G" & Sheet57.Range("B" & Rows.Count).End(xlUp).Row)
    For i = 1 To UBound(aMS)
        k = k + 1
        If aMS(i, 1) <> "" Then
            For j = 1 To UBound(arrCT)
                If arrCT(j, 1) = aMS(i, 2) Then Srw = j + 5: Exit For
            Next
            Erw = Sheet22.Range("A" & Srw).End(xlDown).Row
            aDG(k, 2) = Sheet22.Range("D" & Srw & ":D" & Erw).Find(What:="Gxd", LookIn:=xlFormulas, LookAt:=xlWhole).Offset(, 4).Value
            aDG(k, 3) = aDG(k, 1) * aDG(k, 2)
            Tong = Tong + aDG(k, 3)
        End If
    Next
    
'- Them dong tong cong:
With Sheet57
    .Range("E6").Resize(k, 3) = aDG
    'Them dong tong cong:
    i = .Range("C" & 65536).End(xlUp).Row + 1
    .Range("B" & i).Value = "TC"
    
    .Range("C" & i).Value = UCase("Tong cong")
    .Range("B" & i & ":G" & i).Font.Bold = True
    .Range("G" & i) = Tong
    .Range("F6:G" & i).NumberFormat = "#,##0"
End With
Application.ScreenUpdating = True
MsgBox "Xong!"
End Sub
 
Upvote 0
Chỗ đó là Total hay là MainTotal. Còn SubTotal là tổng con từng nhóm.
Bạn dùng code đã sửa:
Rich (BB code):
Sub Run_PLHD_All()

    Dim aGV(), Res()
    Dim Srw&, Erw&, i&, j&, k&
    Dim aMS, aDG, arrCT
    Application.ScreenUpdating = False
    With Sheet1
        aGV = .Range("A6:X" & .Range("F" & .Rows.Count).End(xlUp).Row).Value
    End With
    sRow = UBound(aGV)
    ReDim Res(1 To sRow, 1 To 8)

    For i = 1 To sRow
        If aGV(i, 5) <> "" And UCase(Left(aGV(i, 5), 3)) <> "THM" Then
            k = k + 1
            Res(k, 1) = aGV(i, 1)
            Res(k, 2) = aGV(i, 5)
            Res(k, 3) = aGV(i, 6)
            Res(k, 4) = aGV(i, 7)
            Res(k, 5) = aGV(i, 16)
        End If
    Next i
   
    With Sheet57
        .Range("A5:H21").ClearContents
        If k > 0 Then
            .Range("A5").Resize(k, 8).Value = Res
        End If
    End With
    k = 0
    Dim Tong#
    aMS = Sheet57.Range("A6:B" & Sheet57.Range("B" & Rows.Count).End(xlUp).Row)
    arrCT = Sheet22.Range("B6:B" & Sheet22.Range("C" & Rows.Count).End(xlUp).Row)
    aDG = Sheet57.Range("E6:G" & Sheet57.Range("B" & Rows.Count).End(xlUp).Row)
    For i = 1 To UBound(aMS)
        k = k + 1
        If aMS(i, 1) <> "" Then
            For j = 1 To UBound(arrCT)
                If arrCT(j, 1) = aMS(i, 2) Then Srw = j + 5: Exit For
            Next
            Erw = Sheet22.Range("A" & Srw).End(xlDown).Row
            aDG(k, 2) = Sheet22.Range("D" & Srw & ":D" & Erw).Find(What:="Gxd", LookIn:=xlFormulas, LookAt:=xlWhole).Offset(, 4).Value
            aDG(k, 3) = aDG(k, 1) * aDG(k, 2)
            Tong = Tong + aDG(k, 3)
        End If
    Next
   
'- Them dong tong cong:
With Sheet57
    .Range("E6").Resize(k, 3) = aDG
    'Them dong tong cong:
    i = .Range("C" & 65536).End(xlUp).Row + 1
    .Range("B" & i).Value = "TC"
   
    .Range("C" & i).Value = UCase("Tong cong")
    .Range("B" & i & ":G" & i).Font.Bold = True
    .Range("G" & i) = Tong
    .Range("F6:G" & i).NumberFormat = "#,##0"
End With
Application.ScreenUpdating = True
MsgBox "Xong!"
End Sub
Em cám ơn anh nhiều như thế này tốt rồi ạ
Nếu anh mở rộng được giúp em thêm phần tổng cộng cho từng HM (Hạng mục) và Tổng toàn công trình thì tốt quá ạ
Em cám ơn nhiều
 
Upvote 0
Em cám ơn anh nhiều như thế này tốt rồi ạ
Nếu anh mở rộng được giúp em thêm phần tổng cộng cho từng HM (Hạng mục) và Tổng toàn công trình thì tốt quá ạ
Em cám ơn nhiều
Luôn phần tổng con
Rich (BB code):
Sub Run_PLHD_All()

    Dim aGV(), Res()
    Dim Srw&, Erw&, i&, j&, k&
    Dim aMS, aDG, arrCT
    Application.ScreenUpdating = False
    With Sheet1
        aGV = .Range("A6:X" & .Range("F" & .Rows.Count).End(xlUp).Row).Value
    End With
    sRow = UBound(aGV)
    ReDim Res(1 To sRow, 1 To 8)

    For i = 1 To sRow
        If aGV(i, 5) <> "" And UCase(Left(aGV(i, 5), 3)) <> "THM" Then
            k = k + 1
            Res(k, 1) = aGV(i, 1)
            Res(k, 2) = aGV(i, 5)
            Res(k, 3) = aGV(i, 6)
            Res(k, 4) = aGV(i, 7)
            Res(k, 5) = aGV(i, 16)
        End If
    Next i
    
    With Sheet57
        .Range("A5:H21").ClearContents
        If k > 0 Then
            .Range("A5").Resize(k, 8).Value = Res
        End If
    End With
    k = 0
    Dim Tong#, TongCon#
    aMS = Sheet57.Range("A6:B" & Sheet57.Range("B" & Rows.Count).End(xlUp).Row)
    arrCT = Sheet22.Range("B6:B" & Sheet22.Range("C" & Rows.Count).End(xlUp).Row)
    aDG = Sheet57.Range("E6:G" & Sheet57.Range("B" & Rows.Count).End(xlUp).Row)
    For i = 1 To UBound(aMS)
        k = k + 1
        If aMS(i, 1) <> "" Then
            For j = 1 To UBound(arrCT)
                If arrCT(j, 1) = aMS(i, 2) Then Srw = j + 5: Exit For
            Next
            Erw = Sheet22.Range("A" & Srw).End(xlDown).Row
            aDG(k, 2) = Sheet22.Range("D" & Srw & ":D" & Erw).Find(What:="Gxd", LookIn:=xlFormulas, LookAt:=xlWhole).Offset(, 4).Value
            aDG(k, 3) = aDG(k, 1) * aDG(k, 2)
            Tong = Tong + aDG(k, 3)
        End If
    Next
    
'Tinh toan, dinh dang
For i = UBound(aDG) To 1 Step -1
    If aDG(i, 3) > 0 Then
        TongCon = TongCon + aDG(i, 3)
    Else
        aDG(i, 3) = TongCon: TongCon = 0
    End If
Next
With Sheet57
    .Range("E6").Resize(k, 3) = aDG
    'Them dong tong cong:
    i = .Range("C" & 65536).End(xlUp).Row + 1
    .Range("B" & i).Value = "TC"
    
    .Range("C" & i).Value = UCase("Tong cong")
    .Range("B" & i & ":G" & i).Font.Bold = True
    .Range("G" & i) = Tong
    .Range("F5:G" & i).NumberFormat = "#,##0"
    .Range("G6").Copy .Range("G5")
    .Range("G6").ClearContents
    For i = 5 To .Range("C65536").End(xlUp).Row
        If .Range("B" & i) = "HM" Then
            .Range("B" & i & ":G" & i).Font.Bold = True
            .Range("B" & i & ":G" & i).Font.Italic = True
        End If
    Next
End With

Application.ScreenUpdating = True
MsgBox "Xong!"
End Sub
 
Upvote 0
Quá tuyệt, cám ơn anh nhiều. Chúc anh ngày cuối tuần vui vẻ, hạnh phúc
 
Upvote 0
@quyenpv
Sheet PLHD_Mong muon có phải chỉ là tổng hợp của các hạng mục con bên Sheet Dự thầu?
Nếu đúng thì đâu cần code gì. Tại sheet PLHD_Mong muon F6='Dự thầu'!I6. Copy đến hết của hạng mục THÁO THIẾT BỊ TẠI TRẠM. Đạt sum của hạng mục.
Làm tương tự cho n hạng mục còn lại.
Làm như vậy có cho ra PLHD bạn mong muốn không?
 
Upvote 0
Dear Maika8008
Sau khi dùng code cuối tại bài #13 thử với dữ liệu nhiều hơn thì có lỗi như sau:
1. Tổng tiền tại HM đầu tiên bị lỗi không tính được
1624730701659.png
2. Đơn giá của công việc cuối cùng lấy bị sót

1624730750647.png
1624730783669.png

Nhờ anh Fix lỗi giúp 2 chỗ trên với ạ. Em cám ơn
 

File đính kèm

  • GPE_Tao PLHD.xls
    1.7 MB · Đọc: 11
Upvote 0
@quyenpv
Sheet PLHD_Mong muon có phải chỉ là tổng hợp của các hạng mục con bên Sheet Dự thầu?
Nếu đúng thì đâu cần code gì. Tại sheet PLHD_Mong muon F6='Dự thầu'!I6. Copy đến hết của hạng mục THÁO THIẾT BỊ TẠI TRẠM. Đạt sum của hạng mục.
Làm tương tự cho n hạng mục còn lại.
Làm như vậy có cho ra PLHD bạn mong muốn không?
Dạ cái em muốn dùng vba ạ.
 
Upvote 0
Dear Maika8008
Sau khi dùng code cuối tại bài #13 thử với dữ liệu nhiều hơn thì có lỗi như sau:
1. Tổng tiền tại HM đầu tiên bị lỗi không tính được

2. Đơn giá của công việc cuối cùng lấy bị sót




Nhờ anh Fix lỗi giúp 2 chỗ trên với ạ. Em cám ơn
1/ Cái tổng đầu tiên không vấn đề gì, tôi sửa rồi.
2/ Đơn giá cuối cùng có mã là TD_I.31 mới là vấn đề đáng bàn. Các đơn giá này không phải duy nhất trong toàn bảng công trình. Tại mỗi hạng mục nếu có làm công việc này thì đều có tính và ghi vào dự toán với mã số giống như nhau. Điều này dẫn đến không phân biệt được đơn giá TD_I.31 của HM này với HM khác. Trong file có 3 mã đơn giá TD_I.31 nhưng mã đầu tiên không có giá trị nên code dò từ trên xuống lấy giá trị = rỗng và thoát ra, dẫn đến cả ba dòng đơn giá đều = rỗng. Các dòng mã đơn giá khác chắc cũng tình trạng như vậy nhưng không xuất hiện giá trị rỗng nên bạn không phát hiện ra và chắc là lấy nhầm râu ông nọ cắm cằm bà kia là cái chắc.
Hồi nào mà bạn có mã cho từng hạng mục thì tôi giải quyết tiếp. Nếu chưa có mã hạng mục thì không thể code đúng được.
 
Upvote 0
1/ Cái tổng đầu tiên không vấn đề gì, tôi sửa rồi.
2/ Đơn giá cuối cùng có mã là TD_I.31 mới là vấn đề đáng bàn. Các đơn giá này không phải duy nhất trong toàn bảng công trình. Tại mỗi hạng mục nếu có làm công việc này thì đều có tính và ghi vào dự toán với mã số giống như nhau. Điều này dẫn đến không phân biệt được đơn giá TD_I.31 của HM này với HM khác. Trong file có 3 mã đơn giá TD_I.31 nhưng mã đầu tiên không có giá trị nên code dò từ trên xuống lấy giá trị = rỗng và thoát ra, dẫn đến cả ba dòng đơn giá đều = rỗng. Các dòng mã đơn giá khác chắc cũng tình trạng như vậy nhưng không xuất hiện giá trị rỗng nên bạn không phát hiện ra và chắc là lấy nhầm râu ông nọ cắm cằm bà kia là cái chắc.
Hồi nào mà bạn có mã cho từng hạng mục thì tôi giải quyết tiếp. Nếu chưa có mã hạng mục thì không thể code đúng được.
Dạ công việc sử dụng chung và lặp lại mã chắc chắn sẽ có trong dự toán anh.
1. Ở đây chỉ có cách fix thủ công khi lập dự toán đó là thêm .1 hoặc gì đó sau mã chuẩn của dự toán ạ.
2. Còn trường hợp gặp lặp lại thì lấy giá trị đã có trước đó
3. Nan giải hơn là cùng mã công việc nhưng thành phần công việc bị thêm bớt so với định mức (Trường hợp này khi sửa ctrinh dự toán sẽ thêm * sau mã công việc thì nó tương đương 1 mã khác code của anh sẽ ko bị ạ)
 
Upvote 0
Dạ công việc sử dụng chung và lặp lại mã chắc chắn sẽ có trong dự toán anh.
1. Ở đây chỉ có cách fix thủ công khi lập dự toán đó là thêm .1 hoặc gì đó sau mã chuẩn của dự toán ạ.
2. Còn trường hợp gặp lặp lại thì lấy giá trị đã có trước đó
3. Nan giải hơn là cùng mã công việc nhưng thành phần công việc bị thêm bớt so với định mức (Trường hợp này khi sửa ctrinh dự toán sẽ thêm * sau mã công việc thì nó tương đương 1 mã khác code của anh sẽ ko bị ạ)
Bạn làm sao đó làm, miễn sao mã công việc trong HM này phân biệt được với mã trong HM kia, dù tên công việc giống nhau.
Còn giờ bạn chép lại code tôi sửa lại cho vấn đề 1 bên trên và clear format vùng trước khi điền kết quả
Rich (BB code):
Sub Run_PLHD_All()

    Dim aGV(), Res()
    Dim Srw&, Erw&, i&, j&, k&, sRow&
    Dim aMS, aDG, arrCT
    Application.ScreenUpdating = False
    With Sheet1
        aGV = .Range("A6:X" & .Range("F" & .Rows.Count).End(xlUp).Row).Value
    End With
    sRow = UBound(aGV)
    ReDim Res(1 To sRow, 1 To 8)

    For i = 1 To sRow
        If aGV(i, 5) <> "" And UCase(Left(aGV(i, 5), 3)) <> "THM" Then
            k = k + 1
            Res(k, 1) = aGV(i, 1)
            Res(k, 2) = aGV(i, 5)
            Res(k, 3) = aGV(i, 6)
            Res(k, 4) = aGV(i, 7)
            Res(k, 5) = aGV(i, 16)
        End If
    Next i
    
    With Sheet57
        .Range("A5:H1000").ClearContents
        .Range("A5:H1000").ClearFormats
        If k > 0 Then
            .Range("A5").Resize(k, 8).Value = Res
        End If
    End With
    k = 0
    Dim Tong#, TongCon#
    aMS = Sheet57.Range("A5:B" & Sheet57.Range("B" & Rows.Count).End(xlUp).Row)
    arrCT = Sheet22.Range("B6:B" & Sheet22.Range("C" & Rows.Count).End(xlUp).Row)
    aDG = Sheet57.Range("E5:G" & Sheet57.Range("B" & Rows.Count).End(xlUp).Row)
    For i = 1 To UBound(aMS)
        k = k + 1
        If aMS(i, 1) <> "" Then
            For j = 1 To UBound(arrCT)
                If arrCT(j, 1) = aMS(i, 2) Then Srw = j + 5: Exit For
            Next
            Erw = Sheet22.Range("A" & Srw).End(xlDown).Row
            aDG(k, 2) = Sheet22.Range("D" & Srw & ":D" & Erw).Find(What:="Gxd", LookIn:=xlFormulas, LookAt:=xlWhole).Offset(, 4).Value
            aDG(k, 3) = aDG(k, 1) * aDG(k, 2)
            Tong = Tong + aDG(k, 3)
        End If
    Next
    
'Tinh toan, dinh dang
For i = UBound(aDG) To 1 Step -1
    If aMS(i, 2) <> "HM" Then
        TongCon = TongCon + aDG(i, 3)
    Else
        aDG(i, 3) = TongCon: TongCon = 0
    End If
Next
With Sheet57
    .Range("E5").Resize(k, 3) = aDG
    'Them dong tong cong:
    i = .Range("C" & 65536).End(xlUp).Row + 1
    .Range("B" & i).Value = "TC"
    
    .Range("C" & i).Value = UCase("Tong cong")
    .Range("B" & i & ":G" & i).Font.Bold = True
    .Range("G" & i) = Tong
    .Range("F5:G" & i).NumberFormat = "#,##0"
    For i = 5 To .Range("C65536").End(xlUp).Row
        If .Range("B" & i) = "HM" Then
            .Range("B" & i & ":G" & i).Font.Bold = True
'            .Range("B" & i & ":G" & i).Font.Italic = True
        End If
    Next
End With

Application.ScreenUpdating = True
MsgBox "Xong!"
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom