làm cách nào tự động thay số liệu sau mỗi lần có lệnh in

Liên hệ QC

dinhxuanhop

Thành viên mới
Tham gia
4/1/09
Bài viết
5
Được thích
0
Hiện tại em đang phải in tờ khai xe máy, trên mỗi tờ khai sẽ có màu xe, số khung, số máy khác nhau. Form tờ khai này năm ở sheet 1.
Ở sheet thứ 2 trở đi là nội dung màu sắc, số khung, số máy của các xe.
Như vậy sau mỗi lần in em sẽ phải nhập lại các nội dung mới vào tờ khai, nội dung này lấy ở các sheet từ 2 trở đi.
Chính vì làm thủ công nên hay xảy ra nhầm lẫn, vậy em phải làm thế nào để sau mỗi lần ấn lệnh in, nội dung tiếp theo sẽ tự động thay thế các nội dung trước trên tờ khai ?
Pro nào biết mong giúp đỡ.
Nếu có thể xin add skype: dinhxuanhop
Xin cảm ơn !
 
Hiện tại em đang phải in tờ khai xe máy, trên mỗi tờ khai sẽ có màu xe, số khung, số máy khác nhau. Form tờ khai này năm ở sheet 1.
Ở sheet thứ 2 trở đi là nội dung màu sắc, số khung, số máy của các xe.
Như vậy sau mỗi lần in em sẽ phải nhập lại các nội dung mới vào tờ khai, nội dung này lấy ở các sheet từ 2 trở đi.
Chính vì làm thủ công nên hay xảy ra nhầm lẫn, vậy em phải làm thế nào để sau mỗi lần ấn lệnh in, nội dung tiếp theo sẽ tự động thay thế các nội dung trước trên tờ khai ?
Pro nào biết mong giúp đỡ.
Nếu có thể xin add skype: dinhxuanhop
Xin cảm ơn !
Trên sheet1 bạn lấy số khung làm cell tham chiếu, dùng hàm Vlookup để lấy dữ liệu từ sheet2, trên sheet1 sau này bạn cần in số khung nào chỉ cần nhập số khung là OK.
Tốt nhất bạn nên đưa dữ liệu lên xem thử nhé
 
In theo form

domfootwear đã đề xuất phương án rất hay đấy. Ở cell Số khung hay số máy bạn thiết lập Validation, các cell cong lại hãy dùng hàm Vloockup. Bạn sẽ được như ý. Tuy nhiên ở các Sheet dữ liệu bạn phải thiết kế để việc tham chiếu được thống nhất không nhầm lẫn. Bạn có thể tạo một macro để chạy tự động công việc coppy và past nhưng cồng kềnh và phức tạp hơn phương án trên nhiều
 
Cụ thể như file đính kèm nhé.

Em in cho xe đầu tiên có màu là 1, số khung là a và số máy là a1.
Giờ em muốn sau khi ấn lệnh in thì ô màu tự động nhảy sang 2, ô số khung tự động nhảy sang b và ô số máy tự động chuyển sang b2.
 

File đính kèm

Cụ thể như file đính kèm nhé.

Em in cho xe đầu tiên có màu là 1, số khung là a và số máy là a1.
Giờ em muốn sau khi ấn lệnh in thì ô màu tự động nhảy sang 2, ô số khung tự động nhảy sang b và ô số máy tự động chuyển sang b2.
Bạn xem file đính kèm nhé.
 

File đính kèm

Bạn xem file đính kèm nhé.


Cảm ơn bạn nhiều, nhưng vẫn ko ổn.
Cái đó chỉ dùng trong trường hợp đơn giản và ít số thôi.
Thực tế mỗi lẫn mình in từ 500-700 xe, số khung và số máy các xe không theo thứ tự và tên cũng rất dài (số khung 12 ký tự - cả số và chữ). Làm như cách của bạn dễ nhầm lắm !
 
Nếu bạn muốn dùng VBA thì dùng code sau nhé:

Mã:
Sub InPhieu()
'Danh dau in
Dim wsD As Worksheet
Dim wsI As Worksheet
Set wsD = Worksheets("Data")
Set wsI = Worksheets("Print")
Dim rStart As Long
Dim rEnd As Long
Dim r As Long
rStart = wsD.Cells(Rows.Count, 1).End(xlUp).Row + 1
rEnd = wsD.Cells(Rows.Count, 2).End(xlUp).Row
r = rEnd - rStart + 1
For r = 1 To r
  wsI.Range("c5").Value = wsD.Range("c" & rStart + r - 1)
  wsI.PrintPreview
  wsD.Range("A" & rStart + r - 1).Value = "X"
Next r
End Sub

Bạn xem thêm file đính kèm nha
 

File đính kèm

sao tự nhiên mất mất page 2. mình đã mail cho bạn rồi, bạn check thử nhé. rất mong nhận được sự giúp đỡ !
 
Bạn xem thử .Code này của các Anh Chị trên diển đàn cho lâu rồi ,Mình củng ko nhớ của ai nửa . Sorry Tac giả nhe :)
 

File đính kèm

@dungdovan: thax bạn nhé. tuy nhiên có một số đoạn mình ko hiểu, làm sao để liên lạc với bạn nhỉ ?
 
Sorry vì lâu thế mới repply cho Bạn , mình đã bổ sung trong file Bạn xem lại nhe
Thân .
 

File đính kèm

Sorry vì lâu thế mới repply cho Bạn , mình đã bổ sung trong file Bạn xem lại nhe
Thân .
Nếu bạn muốn dùng InputBox thì tôi chỉ dùng 1 cái thôi và không phải dùng cột phụ cho trường hợp này:

Mã:
Sub InPhieu()
Dim rng As Range
On Error Resume Next
Set rng = Application.InputBox( _
"Vui long quet chon vung co so khung can in " & _
    vbNewLine & vbNewLine & vbNewLine & _
    vbNewLine & "cot I  ", "Chon so khung", Type:=8)
On Error GoTo 0
If Not rng Is Nothing Then
  rng.Select
  For Each rng In rng
    Range("C5") = rng.Value
    ' neu ban muon in luon khong can xem lai thi thay PrintPreview bang PrintOut
    If Range("B5").Value <> "" Then ActiveWindow.SelectedSheets.PrintPreview
  Next rng
Else
  MsgBox "Ban da khong chon in"
End If
End Sub

Bạn xem thêm file nhé.
 

File đính kèm

Sorry vì lâu thế mới repply cho Bạn , mình đã bổ sung trong file Bạn xem lại nhe
Thân .
Bản naỳ của bạn khá ổn. nhưng mình muốn thêm 1 cái nữa là:
inputbox: từ phiếu
inputbox: đến phiếu
inputbox: số luợng bản in
có được không?
Và ccậu có thể chỉ cho mình làm cách nào để tạo nút " in phiếu" trên trang in.
 
Bản naỳ của bạn khá ổn. nhưng mình muốn thêm 1 cái nữa là:
inputbox: từ phiếu
inputbox: đến phiếu
inputbox: số luợng bản in
có được không?
Và ccậu có thể chỉ cho mình làm cách nào để tạo nút " in phiếu" trên trang in.
Bạn sửa code lại thành :

Mã:
Sub InPhieu()
On Error Resume Next
S203.Select
Dim TP As Long
Dim DP As Long
Dim SP As Long
Dim sotrang As Long
    With Application
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
    End With
    TP = Application.InputBox("Tu so phieu:", "GBE", Type:=1)
    DP = Application.InputBox("Den so phieu:", "GBE", Type:=1)
    sotrang = Application.InputBox("Ban muon in bao nhieu trang:", "GBE", Type:=1)
If TP > 0 And DP > 0 And TP <= DP Then
    For SP = TP To DP Step 1
    Range("A2").Value = SP
    If Range("A2").Value <> 0 Then ActiveWindow.SelectedSheets.PrintOut 1, , sotrang
       
    Next SP
Else
MsgBox "Khong co phieu can in !!!", vbOKOnly, "GBE"
End If
With Application
    .ScreenUpdating = True
End With
End Sub

Tải file sau:
http://www.4shared.com/file/209636877/42f5988/thu_nghiem__1_.html
 
Nhân tiện cho em hỏi nhỏ các bác tí: Có thể tạo được chương trình đánh phách của bài thi không các bác ơi, nếu số tự động nhảy thì tuyệt quá. Các bác giúp em với nhé. Thank
 
Thường thì việc đánh phách bằng tay, em muốn máy tính tự đánh phách khi cho bài đã thi vào máy và in số phách. Trường em các cuộc thi tổ chức liên miên nên việc đánh phách rất mất thời gian, có khi sai một hoặc thiếu một phách là đi tìm mệt lắm. Em muốn cho bài thi đó vào máy in để in số phách vào bài thi và số phách đó phải luôn thay đổi theo bài của từng thí sinh và thay đổi mã khi đánh phách cho môn khác VD: Toán: SH1:A1 thì học sinh 2 phải là A2 có được ko các bác ơi; Văn: SH1:B1 thì học sinh 2 phải là B2 có được ko các bác ơi.
 
Cái này mình nghĩ bạn chỉ cần thêm biến K vào sub InPhiếu khi chay đến cuối thì cho K= K+1; Range("A3")= "SH1:A" & K
 
Web KT

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

Back
Top Bottom