Code in phiếu nhập kho

  • Thread starter Thread starter NH_DK
  • Ngày gửi Ngày gửi
Liên hệ QC

NH_DK

Let's patience
Tham gia
29/7/10
Bài viết
865
Được thích
1,203
Nghề nghiệp
Kế toán
Em có ví dụ này muốn nhờ AC xem và viết dùm em code in phiếu nhập có 2 liên.
(Câu hỏi cụ thể trong file đính kèm)
 

File đính kèm

Có 2 cách làm
1/ Chia trang A4 thành hai liên, các giá trị của từng dòng ghi vào cả hai liên(dùng code để đọc và ghi số liệu hoặc dùng hàm)
2/ Dùng code để thay đổi khi có lệnh in thì khi in xong liên 1 sẽ sửa liên 1 thành liên 2 và ra lệnh in tiếp
Thân
 
Upvote 0
Gán C2 bằng "Liên 1"
In 1 trang
Sửa C2 thành "Liên 2"
In thêm 1 trang

Sao cái validation ở ô H1 tôi đã gợi ý không biết mấy lần mà vẫn không lấy được danh sách duy nhất? Chỉ gồm Phiếu nhập hoặc phiếu xuất, hoặc phiếu thu hoặc phiếu chi, và mỗi số phiếu chỉ xuất hiện 1 lần trong list?

Bài trích lọc duy nhất theo điều kiện thì trong GPE thiếu gì: Lọc danh sách duy nhất
 
Lần chỉnh sửa cuối:
Upvote 0
To @ptm0412. Em không hiểu chỗ này lắm:
Gán C2 bằng "Liên 1"
In 1 trang
Sửa C2 thành "Liên 2"
In thêm 1 trang
Ý anh có phải là sửa thủ công?
Đây là ví dụ trong chương trình của em. Em đang gặp khó chỗ này ah!

To @XuanThanh. Em không hiểu chỗ này:
2/ Dùng code để thay đổi khi có lệnh in thì khi in xong liên 1 sẽ sửa liên 1 thành liên 2 và ra lệnh in tiếp

Nhờ các anh chỉ giáo thêm cho em!

 
Lần chỉnh sửa cuối:
Upvote 0
To @ptm0412. Em không hiểu chỗ này lắm:
[/FONT][/COLOR]
Ý anh có phải là sửa thủ công?
Đây là ví dụ trong chương trình của em. Em đang gặp khó chỗ này ah!

Muốn thủ công cũng được, muốn code VBA cũng vẫn làm vậy. Với lại, dùng VBA tôi mới dùng chữ "gán", chứ nếu thủ công thì tôi đã dùng chữ "gõ".

Và, nếu đang là thủ công mà muốn thành code VBA, thì chỉ việc record macro thôi.
 
Lần chỉnh sửa cuối:
Upvote 0
Muốn thủ công cũng được, muốn code VBA cũng vẫn làm vậy. Vả lại, dùng VBA tôi mới dùng chữ "gán", chứ nếu thủ công thì tôi đã dùng chữ "gõ".

Vâng, em hiểu rùi. Nhưng quả thật em em vẫn chưa làm được. nhờ anh và mọi người làm cho em 1 ví dụ này nhé!
 
Upvote 0
Làm bằng tay, và record macro
Làm bằng tay, và record macro
Làm bằng tay, và record macro
Làm bằng tay, và record macro
Làm bằng tay, và record macro
...

Chịu khó đọc bài
Chịu khó đọc bài
Chịu khó đọc bài
Chịu khó đọc bài
...
 
Upvote 0
Làm bằng tay, và record macro
Làm bằng tay, và record macro
Làm bằng tay, và record macro
Làm bằng tay, và record macro
Làm bằng tay, và record macro
...
Em đã thu Marco rùi, nhưng em vẫn không thể sửa để in có chữ 2 liên:
PHP:
Sub In_Phieu()
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Range("C2").Select
    ActiveCell.FormulaR1C1 = "Liên: 2"
    Range("C3").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
Nhờ mọi người sửa dùm em!
 
Upvote 0
Em đã thu Marco rùi, nhưng em vẫn không thể sửa để in có chữ 2 liên:
PHP:
Sub In_Phieu()
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Range("C2").Select
    ActiveCell.FormulaR1C1 = "Liên: 2"
    Range("C3").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
Nhờ mọi người sửa dùm em!
Tôi chưa xem file, nhưng theo hướng dẫn của sư phụ ptm0412 và theo kết quả record macro của bạn, tôi sẽ sửa thành:
PHP:
Sub In_Phieu()
  Dim i As Long
  For i = 1 To 2
    Range("C2").Value = "Liên : " & i
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
  Next i
End Sub
 
Upvote 0
Code trên em sửa vậy có được không:
PHP:
Sub In_Phieu()
    If Range("C2") = "Liên: " Then
        Range("C2").Value = "Liên: " & 1
        Sheet1.PrintOut Copies:=1, Collate:=True
    ElseIf Range("C2") = "Liên: " Then
        Range("C2").Value = "Liên: " & 2
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Else
        Exit Sub
    End If
End Sub
Ở đây en không có máy in để test.
Nhờ AC hướng dẫn thêm nha!
 
Upvote 0
Code trên em sửa vậy có được không:
PHP:
Sub In_Phieu()
    If Range("C2") = "Liên: " Then
        Range("C2").Value = "Liên: " & 1
        Sheet1.PrintOut Copies:=1, Collate:=True
    ElseIf Range("C2") = "Liên: " Then
        Range("C2").Value = "Liên: " & 2
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Else
        Exit Sub
    End If
End Sub
Ở đây en không có máy in để test.
Nhờ AC hướng dẫn thêm nha!
Code này nhìn tếu chết đi được...
Giữa thằng này
If Range("C2") = "Liên: " Then
và thằng này:
ElseIf Range("C2") = "Liên: " Then
Nó khác nhau chổ nào?
Lại còn "Liên: " & 1"Liên: " & 2 mới tếu hơn ---> Sao không ghi là "Liên: 1" "Liên: 2" luôn cho rồi
Ẹc... Ẹc...
(Nhớ không lầm thì bạn đã qua lớp huấn luyện VBA do Nguyễn Duy Tuân dạy cơ mà)
 
Lần chỉnh sửa cuối:
Upvote 0
Code này nhìn tếu chết đi được...
Giữa thằng này
If Range("C2") = "Liên: " Then
và thằng này:
ElseIf Range("C2") = "Liên: " Then
Nó khác nhau chổ nào?
Lại còn "Liên: " & 1"Liên: " & 2 mới tếu hơn ---> Sao không ghi là "Liên: 1" "Liên: 2" luôn cho rồi
Ẹc... Ẹc...
(Nhớ không lầm thì bạn đã qua lớp huấn luyện VBA do Nguyễn Duy Tuân dạy cơ mà)

Hi........... Chết thật, chết thật!! Một sự cẩu thả đến thế là cùng. (Mang tiếng quá!Hi...................)
 
Upvote 0
Em đã thu Marco rùi, nhưng em vẫn không thể sửa để in có chữ 2 liên:
PHP Code:
Sub In_Phieu()
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range
("C2").Select
ActiveCell
.FormulaR1C1 = "Liên: 2"
Range("C3").Select
ActiveWindow
.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

Ở trên tôi gợi ý 4 dòng:
Gán C2 bằng "Liên 1"
In 1 trang
Sửa C2 thành "Liên 2"
In thêm 1 trang
Vậy thì nhắm mắt làm theo cũng phải được code ít nhất 4 dòng đủ 4 nội dung:

PHP:
[C2] = "Liên: 1"
ActiveSheet.PrintOut
[C2] = "Liên: 2"
ActiveSheet.PrintOut
Rồi sau đó muốn For Next, muốn With End With, muốn mắm muối tương cà gì cũng được, nhưng phải đủ 4 nội dung đó chứ! Chỉ 3 nội dung như trên thì in 2 lần ra 2 tờ giống nhau là phải rồi.

Bởi vậy tôi mới phải viết "Chịu khó đọc bài" 4, 5 lần.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thử dùng file minh đã sữa xem phải không. muốn in phiếu thì nhấn vào nút hình máy in. Thân
 

File đính kèm

Upvote 0
Bạn thử dùng file minh đã sữa xem phải không. muốn in phiếu thì nhấn vào nút hình máy in.
Ngay câu lệnh đầu tiên bạn đã ra lệnh in mà không cần biết ô C2 đang là cái gì. Có thể là "Liên 1", có thể là "Liên 2", cũng có thể là cái tầm bậy tầm bạ gì đó mà người dùng lỡ tay gõ vô.

Bạn thử dùng chỉ 4 dòng lệnh này xem (trích bài trên):

[C2] = "Liên: 1"
ActiveSheet.PrintOut
[C2] = "Liên: 2"
ActiveSheet.PrintOut
 
Upvote 0
Nhờ anh giúp em chọn công thức tối ưu để giảm kích thước flie

Em tạo ra flie theo dõi vật tư tại đơn vị nhưng vì chưa biết về lập trình excel nên flie của em làm kích thước lớn quá, cứ mỗi lần lưu hoặc tự động lưu sẽ tốn nhiều thời gian. anh bỏ chút thời gian chỉnh sửa giúp em với nhé. Nếu được có thể chỉ cho em biết phải dùng công thức nào tối ưu nhất. Rất muốn được xin số điện thoại của and để gặp anh trực tiếp. Chào anh.
Mail của em Pnt277@yahoo.com
ĐT: 05113500881
Anh ạ. em cố up lên nhưng không được, anh cho em xin mail để gửi flie nhé (flie lớn quá, 13M)
Cảm ơn nhiều
 
Upvote 0
Web KT

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

Back
Top Bottom