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à.
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