Giúp về Macro in phiếu giao hàng (1 người xem)

Liên hệ QC

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

nguyenhoang11

Thành viên mới
Tham gia
30/8/07
Bài viết
5
Được thích
1
Chào các bạn,bạn nào rành về macro chỉ giúp mình với,mình có 1 file excel bao gom 2 sheet,một sheet Master dùng để nhập thông tin chi tiết đặt hàng của khách hàng theo so thứ tự và một sheet là GiaoHang là một Form văn bản được định dạng kẻ khung sẵn theo mẫu.Mình cần làm một Macro để khi mình nhập vào cell in từ dòng 1 đến dòng 5 trong Sheet GiaoHang và chạy Macro thì Macro sẽ duyệt từ dòng 1 đến dòng 5 trong sheet Master và in ra 5 trang record chi tiết của 5 khách hàng điền vào cái Form giao hàng mà mình đã tạo sẵn,vd: Hoten, mặt hàng, số lượng, địa chỉ giao, số tiền...vv.Ý mình là muốn giống như là làm mail merge bảng lương trong word vậy đó,nhưng cái này là làm tren excel mà thôi,nó sẽ in từng Form GiaoHang của từng khách hàng một nối tiếp nhau trong cùng một sheet GiaoHang,mình chỉ cần nhập số dòng in từ dòng nào đến dòng nào thì macro nó sẽ chạy và in ra đủ số dòng trong file Master.Bạn nào biết giúp mình với nha,xin cám ơn nhiều.
 
Bạn tham khảo file này xem có thể vận dụng theo ý bạn điều gì không?
 

File đính kèm

Upvote 0
Cám ơn bạn Sealand

Cám ơn bạn Sealand đã gởi file att,nhưng cái file của bạn nó in thẳng ra máy in luôn,mình muốn nó in ra một sheet khác theo cái mẫu báo giá mà mình đã có sẵn như trong cái file mình gửi kèm này.Mình muốn trong sheet Form2,khi mình nhập in từ dòng nào đến dòng nào thì khi chạy macro, macro nó sẽ chạy và điền dữ liệu tương ứng với từng khách hàng của từng dòng vào cái form báo giá.Ví dụ in từ dòng 1 đến dòng 3 thì nó sẽ chạy ra 3 mấu báo giá trên cùng một sheet ( như trong sheet Form2 ),hoặc có thể in ra trên 3 sheet khác nhau cũng được.Mình gửi kèm file att dưới đây,bạn nào rành giúp mình cái nha,cám ơn nhiều.
 

File đính kèm

Upvote 0
Nguyen hoang 11 thân. Mình làm lại Macro in phiếu không biết đúng ý bạn chưa. Còn vấn đề gì trao đổi sau nhé.
 

File đính kèm

Upvote 0
Cám ơn bạn Sealand nhiều nha,file này đúng với yêu cầu của mình rồi,nhưng bạn có thể chỉ mình cách chỉnh sửa thêm không,ví dụ sau này mình muốn nhập thêm mấy cột nội dung nữa và mẫu báo giá phải cập nhật theo.Mình có mở code macro ra xem nhưng từ đoạn Application.ScreenUpdating = False trở xuống mình không hiểu,mình thấy ghi sheet4.cell,sheet5.cell nhưng trong workbook mình không thấy 2 sheet này,bạn có thể giải thích cho mình thêm cách nó chạy cái vòng for để điền thông tin vô mẫu báo giá không?với lại mình cũng không hiểu ô dữ liệu đệm A20 trong hàm vlookup lắm,bạn chỉ giúp mình thêm chút xíu nữa nha,mình mù tịt macro lắm:-).Cám ơn bạn nhiều!
 
Upvote 0
Chào nguyenhoang11 nhé,
1/Bạn thêm nội dung thì cứ việc sửa ở sheet temp nó sẽ chép đầy đủ nội dung bạn thêm vào (Cần thiết bạn nêu mình bổ xung để bạn hiểu), nhưng nhớ căn chỉnh temp cho phù hợp với giấy in nha.
2/Nội dung code:

Application.ScreenUpdating = False không cập nhật màn hình tránh nhấp nháy và chậm
'Tao trang in
k = 1 bắt đầu từ dòng 1
For i = tu To den đến số luong báo giá
Sheet4.Cells(20, 1) = i Xác định tiêu chuẩn để hàm Vlookup chạy
Sheet4.Rows("1:18").Copy Copy trang báo giá
Sheet5.Cells(k, 1).PasteSpecial Paste:=xlPasteValues Sang trang form2 dán nd và định dạng
Sheet5.Cells(k, 1).PasteSpecial Paste:=xlPasteFormats
k = k + 18 chuyển vị trí sang dòng thứ 19 (18 dòng 1 báo giá)
Next Làm tiếp các báo giá khác
Application.ScreenUpdating = True Cập nhật lại màn hình
Sheet5.Activate
Sheet5.Range("I1").Select
Application.CutCopyMode = False

3/Lần sau bạn trở lại chủ đề cũ mình mới biết, nếu không khi vội mình không biết.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình trả lời bạn còn thiếu về sheet1, sheet2: Đây là NameCode bạn ạ.Mỗi sheet bao giờ cũng có 2 tên. Name là tên hiện trên thanh sheet tab, còn NameCode thì bạn phải nhấn Alt+F11 vào VBA mới thấy được (Phần bên ngoài dấu ngoặc).
Dùng namecode có nhiều cái lợi là:
-Cú pháp gọn, dễ viết
-Dù có đổi tên sheet thì namecode không đổi (Trừ phi vào VBA để đổi)...Do vậy tránh lỗi không xác định được sheet trong lệnh VBA khi người dùng đổi tên sheet

Còn ô A20 là ô xác định số báo giá số bao nhiêu để hàm Vlookup làm căn cứ tìm điền dữ liệu
 
Lần chỉnh sửa cuối:
Upvote 0
Bữa giờ mình lu bu quá không chạy lên đây cám ơn bạn được,file của bạn mình nghiên cứu bữa giờ thì cũng hiểu sơ sơ nên mình đã chỉnh lại data theo ý mình,rồi thêm lệnh ngắt trang trong vòng lặp for thì nó chạy quá tốt luôn,cám ơn bạn nha.Nhưng bạn cho mình hỏi thêm chút nữa là trong sheet1 mình thấy có thêm một đoạn code nữa,mình đọc không hiểu nhưng mình đoán đoạn code này chủ yếu là Vlookup thôi đúng không ?code này là tự nó sinh ra do mình có dùng hàm vlookup hay phải code riêng để nó chạy vlookup dò tìm mỗi khi thằng i tăng lên vậy bạn? Bạn giải thích giúp mình chút nha.Thanks

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, MaKH As String
If Not Intersect(Target, Range("B1")) Is Nothing Then
MaKH = Target
With Worksheets(1).Range("a1:a" & Range("A65432").End(xlUp).Row)
Set Rng = .Find(MaKH, LookIn:=xlValues)
If Not Rng Is Nothing Then Rng.Activate
End With
End If
End Sub
 
Upvote 0
Cái đoạn code là ở file mình dowm về đã có không liên quan tới phần của mình.
Điều kiện để Vlookup tìm là ô A20 trên sheet Temp. Cứ mỗi i set lại ô này để Vlookup cập --> chép-->dán-->tăng i--->set lại A20...
 
Upvote 0
Mình gõ giá trị số vào ô exel : 0123 thì khi enter trả về số 123, xin vui lòng chỉ giúp về đúng trị số 0123.
 
Upvote 0
Tạo vào lưu sheet mới và quản lý danh sách

Em làm file hóa đơn bán hàng, đang tìm hiểu để tạo thêm phần này nhưng chưa được, nhờ các anh chỉ giáo. Trong file hóa đơn của em, bây giờ em muốn khi vào phần này ta sẽ có phần là tạo ra và lưu lai những hóa đơn bán hàng này, để khi tìm lại dễ dàng và quản lý các hóa đơn cho dễ dàng. Đồng thời những hóa đơn này sẽ được list ra và nơi số thứ tự em nhập vào sẽ được lưu vào 1 sheet khác, để sau này em sẽ làm thêm trang quản lý khách hàng và công nợ của khách hàng.
Rất mong các anh chị giúp em!

Pass: 123
 

File đính kèm

Upvote 0
Mình co một form tổng hợp gồm phiếu giao hàng, phiếu nhập kho, phiếu xuất kho, phiêu chi, phiếu thu... tất cả đều nằm trong một file. Minh muối khi in phiếu thì số liệu của từng lần in đó được lưu Lại một sheet mới của một file mới để lư giử thông tin sau này. Anh chi nao ranh Macro co the giup mình với.
Thanks
 
Upvote 0
Web KT

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

Back
Top Bottom