Xuất file in phiếu báo giá tự động bằng VBA

Liên hệ QC

lananh1312

nguyennguyen1312
Tham gia
13/8/20
Bài viết
8
Được thích
0
Hi cả nhà, mình có một vấn đề cần xin chỉ giáo. Mình có 1 file excel chưa dữ liệu báo giá tổng hợp, sheet xuất tổng hợp các báo giá khác nhau và sheet báo giá để in báo giá. Mình muốn khi mình nhập số phiếu ở sheet báo giá thì dữ liệu sẽ tự động điền vào để in phiếu. Mọi người có ý tưởng gì cho code này không ạ. Mình chạy code dùng for each xét từng ô trong vùng chọn và so sánh với số phiếu ở sheet phiếu báo giá. Nhưng không biết làm sao để có thể lấy được hết dữ liệu ở những dòng có cùng 1 số phiếu, kiểu như sau khi xét được row 1 và điền dữ liệu vào thì nó sẽ xét tiếp và điền vào row 2.
Thanks cả nhà.
Sub inbaogia() Dim wb As Workbook, sp As Worksheet, xt As Worksheet, bg As Worksheet, dm As Worksheet, dc As Integer Dim vungchon As Variant Set wb = ThisWorkbook Set sp = wb.Sheets("SAN_PHAM") Set xt = wb.Sheets("XUAT") Set bg = wb.Sheets("BAO_GIA") Set dm = wb.Sheets("DANH_MUC") dc = xt.Cells(xt.Rows.Count, "C").End(xlUp).Row Set vungchon = xt.Range("C4:C" & dc) Dim sophieu As Range Dim i As Integer, k As Long k = bg.Cells(bg.Rows.Count, "b").End(xlUp).Row For Each sophieu In vungchon If sophieu = bg.Range("e3") Then bg.Range("b" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 2, False) bg.Range("c" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 3, False) bg.Range("d" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 4, False) bg.Range("e" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 5, False) bg.Range("f" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 6, False) bg.Range("g" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 7, False) bg.Range("h" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 8, False) bg.Range("i" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 9, False) End If Next sophieu End Sub
 
Hi cả nhà, mình có một vấn đề cần xin chỉ giáo. Mình có 1 file excel chưa dữ liệu báo giá tổng hợp, sheet xuất tổng hợp các báo giá khác nhau và sheet báo giá để in báo giá. Mình muốn khi mình nhập số phiếu ở sheet báo giá thì dữ liệu sẽ tự động điền vào để in phiếu. Mọi người có ý tưởng gì cho code này không ạ. Mình chạy code dùng for each xét từng ô trong vùng chọn và so sánh với số phiếu ở sheet phiếu báo giá. Nhưng không biết làm sao để có thể lấy được hết dữ liệu ở những dòng có cùng 1 số phiếu, kiểu như sau khi xét được row 1 và điền dữ liệu vào thì nó sẽ xét tiếp và điền vào row 2.
Thanks cả nhà.
Sub inbaogia() Dim wb As Workbook, sp As Worksheet, xt As Worksheet, bg As Worksheet, dm As Worksheet, dc As Integer Dim vungchon As Variant Set wb = ThisWorkbook Set sp = wb.Sheets("SAN_PHAM") Set xt = wb.Sheets("XUAT") Set bg = wb.Sheets("BAO_GIA") Set dm = wb.Sheets("DANH_MUC") dc = xt.Cells(xt.Rows.Count, "C").End(xlUp).Row Set vungchon = xt.Range("C4:C" & dc) Dim sophieu As Range Dim i As Integer, k As Long k = bg.Cells(bg.Rows.Count, "b").End(xlUp).Row For Each sophieu In vungchon If sophieu = bg.Range("e3") Then bg.Range("b" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 2, False) bg.Range("c" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 3, False) bg.Range("d" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 4, False) bg.Range("e" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 5, False) bg.Range("f" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 6, False) bg.Range("g" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 7, False) bg.Range("h" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 8, False) bg.Range("i" & k) = Application.VLookup(bg.Range("e3"), Range(xt.[c4], xt.[k4].End(xlDown)), 9, False) End If Next sophieu End Sub
Bạn upload file xem nào
 
Upvote 0
Web KT
Back
Top Bottom