Sửa code xuất file PDF tự động

Liên hệ QC

lth1985

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
4/4/22
Bài viết
7
Được thích
0
Chào các bác!
Em có code này để xuất file pdf tự động nhưng lưu vào Personal.xlsb để dùng cho nhiều file khác xong thì lỗi Run Time Error 9: Subscript out of range
Mã:
Sub PrintSelectionToPDF()
    Dim sPath$, Ws As Worksheet, InvoiceRng, i&, Strfile$
    Set Ws = ThisWorkbook.Sheets("DonhangXK")
    sPath = ThisWorkbook.Path & "\"
    Set InvoiceRng = Ws.Range("A1:J35")
    Application.EnableEvents = False
        Ws.Range("N1") = 1
        Strfile = ThisWorkbook.Name & ".pdf"
        InvoiceRng.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & Strfile
    Application.EnableEvents = True
End Sub

Em muốn tự động xuất file PDF của file exel đang mở từ ô A1:J35. Tự động lưu vào thư mục chứa file exel đó + tên y hệt
Xin nhờ các bác sửa lỗi giúp. Em chân thành cảm ơn
 

File đính kèm

  • 010422.01 - Anh Tuấn.xlsx
    24.9 KB · Đọc: 12
Nếu không bấm nút là mình đầu hàng vô điều kiện rồi, nhưng bạn cho hỏi làm thế nào để tác động cho việc đó được thực hiện ngoài bấm nút.
code trên em làm là tự động đó, chỉ cần ấn chạy code là đc. Nhưng lưu vào Personal thì ko chạy đc.
Bài đã được tự động gộp:

Chắc giống trường hợp nằm dưới gốc sung rồi chờ quả sung tự động rơi vào miệng nhỉ?
Thế mới cần xài đến code, chứ bấm thì vào chế độ in pdf bấm vài cái là xong. Code trên em đã làm đc rồi, nhưng lưu vào Personal xong chạy thì nó lại báo lỗi
 
Upvote 0
Vậy bạn ấn cho code chạy mà không ấn vào nút nào thì ấn vào đâu. Thôi, vụ này thì mình dừng ở đây.
ý em là bấm chạy code thôi, chứ ko phải chọn thư mục, chọn tên file để lưu
Bài đã được tự động gộp:

Bạn có năng lực siêu nhiên chăng?
cảm ơn bác góp ý, mong bác hiểu ý em đã rồi hãy nói em ntn. bác nên góp ý có tính xây dựng hơn là nói khóe ng khác vậy
Bài đã được tự động gộp:

Bạn có năng lực siêu nhiên chăng?
Với công nghệ thì chả có gì là siêu nhiên cả. anh em mình nói chuyện ở đây cũng đã là siêu nhiên với các cụ hồi xưa rồi.
 
Lần chỉnh sửa cuối:
Upvote 0
ý em là bấm chạy code thôi, chứ ko phải chọn thư mục, chọn tên file để lưu
Bài đã được tự động gộp:


cảm ơn bác góp ý, mong bác hiểu ý em đã rồi hãy nói em ntn. bác nên góp ý có tính xây dựng hơn là nói khóe ng khác vậy
1/ Code của bạn không có lỗi gì cả
2/ Tôi đã thử lưu thành tên Personal.xlsb thì vẫn không thấy lỗi gì
3/ Bạn (giống như nhiều thành viên khác) dùng chữ tự động mà không biết tự động là gì nhưng khi trả lời cho bài #2 thì bạn lại vô cùng hời hợt. Tiên trách kỷ, hậu trách nhân.
 
Upvote 0
1/ Code của bạn không có lỗi gì cả
2/ Tôi đã thử lưu thành tên Personal.xlsb thì vẫn không thấy lỗi gì
3/ Bạn (giống như nhiều thành viên khác) dùng chữ tự động mà không biết tự động là gì nhưng khi trả lời cho bài #2 thì bạn lại vô cùng hời hợt. Tiên trách kỷ, hậu trách nhân.
Em cũng thử rồi, không vấn đề gì, nhưng do tình thế mà bác còn lẽo đẽo chứ em dừng hẳn rồi.
 
Upvote 0
Em cũng thử rồi, không vấn đề gì, nhưng do tình thế mà bác còn lẽo đẽo chứ em dừng hẳn rồi.
Em tự sửa đc rồi, các bác lưu vào Personal mà chạy đc thì em cũng ko hiểu
Mã:
Sub PrintSelectionToPDF()
    Dim sPath$, Ws As Worksheet, InvoiceRng, i&, Strfile$
    Set Ws = Sheets("Don hang XK")
    sPath = ActiveWorkbook.Path & "\"
    Set InvoiceRng = Ws.Range("A1:J35")
    Application.EnableEvents = False
        Ws.Range("N1") = 1
        Strfile = ActiveWorkbook.Name & ".pdf"
        InvoiceRng.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & Strfile
    Application.EnableEvents = True
End Sub
 
Upvote 0
Em tự sửa đc rồi, các bác lưu vào Personal mà chạy đc thì em cũng ko hiểu
Mã:
Sub PrintSelectionToPDF()
    Dim sPath$, Ws As Worksheet, InvoiceRng, i&, Strfile$
    Set Ws = Sheets("Don hang XK")
    sPath = ActiveWorkbook.Path & "\"
    Set InvoiceRng = Ws.Range("A1:J35")
    Application.EnableEvents = False
        Ws.Range("N1") = 1
        Strfile = ActiveWorkbook.Name & ".pdf"
        InvoiceRng.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & Strfile
    Application.EnableEvents = True
End Sub
Ở bài #1, set ws ở 1 file nhưng chạy cho file khác, bảo sao không lỗi:
Cũ: Set Ws = ThisWorkbook.Sheets("DonhangXK")
Mới: Set Ws = Sheets("Don hang XK")

Chưa bàn tới tên sheet khác nhau.
 
Upvote 0
1/ Code của bạn không có lỗi gì cả
2/ Tôi đã thử lưu thành tên Personal.xlsb thì vẫn không thấy lỗi gì
3/ Bạn (giống như nhiều thành viên khác) dùng chữ tự động mà không biết tự động là gì nhưng khi trả lời cho bài #2 thì bạn lại vô cùng hời hợt. Tiên trách kỷ, hậu trách nhân.
Bạn viết tđ, ko b, ... là tự nhiên hiểu liền.
"tiên trách kry, hậu trách nhân" thì viết thành "tiên bái đòi, hậu vội thây".
 
Upvote 0
Em tự sửa đc rồi, các bác lưu vào Personal mà chạy đc thì em cũng ko hiểu
Bạn có "báo cáo vi phạm" 1 thành viên trong chủ đề này, tôi từ chối xử lý. Lý do bạn không biết tự động (hoặc giải thích tự động) là gì. Ngoài ra bạn không biết cách trả lời đúng vào câu hỏi của bài 2. Vậy góp ý của thành viên đó là đúng.
Giải thích thêm:
Câu hỏi bài 2 là "Tự động là không cần bấm nút nào hay như thế nào", bạn trả lời "Không cần bấm nút nào" mà không trả lời phần "hay như thế nào".
Bài 4 hỏi lại "làm thế nào để tác động cho việc đó được thực hiện", bạn trả lời "chỉ cần ấn chạy code"

Tôi định hỏi bạn: làm thế nào để chạy code? (tương đương với câu hỏi bài 4), nhưng chắc cũng câu trả lời cũ mà thôi.
Tôi cũng từng viết code. Muốn chạy code thì có nhiều cách nhưng cũng phải có tác động (không bấm thì ấn, không ấn cái nọ thì ấn cái kia),
Nếu chạy từ phím tắt, cũng phải ấn phím tắt
Nếu chạy từ macro, cũng phải nhấn Alt F8, nhấn chọn rồi nhấn Run
Nếu chạy "tự động" từ sự kiện, cũng phải ấn cái gì khác để tạo sự kiện như: nhấn chuột phải, chọn 1 ô hoặc 1 khối ô, nhấn chuột sang sheet khác, nhấn chọn sheet này, thậm chí nhấn đóng file cũng in được. Nhưng không ấn gì, bấm gì mà cũng chạy code thì người ta phải giật mình hoặc hỏi lại nhiều lần. Thế mà cũng báo cáo vi phạm.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn có "báo cáo vi phạm" 1 thành viên trong chủ đề này, tôi từ chối xử lý. Lý do bạn không biết tự động (hoặc giải thích tự động) là gì. Ngoài ra bạn không biết cách trả lời đúng vào câu hỏi của bài 2. Vậy góp ý của thành viên đó là đúng.
Giải thích thêm:
Câu hỏi bài 2 là "Tự động là không cần bấm nút nào hay như thế nào", bạn trả lời "Không cần bấm nút nào" mà không trả lời phần "hay như thế nào".
Bài 4 hỏi lại "làm thế nào để tác động cho việc đó được thực hiện", bạn trả lời "chỉ cần ấn chạy code"

Tôi định hỏi bạn: làm thế nào để chạy code? (tương đương với câu hỏi bài 4), nhưng chắc cũng câu trả lời cũ mà thôi.
Tôi cũng từng viết code. Muốn chạy code thì có nhiều cách nhưng cũng phải có tác động (không bấm thì ấn, không ấn cái nọ thì ấn cái kia),
Nếu chạy từ phím tắt, cũng phải ấn phím tắt
Nếu chạy từ macro, cũng phải nhấn Alt F8, nhấn chọn rồi nhấn Run
Nếu chạy "tự động" từ sự kiện, cũng phải ấn cái gì khác để tạo sự kiện như: nhấn chuột phải, chọn 1 ô hoặc 1 khối ô, nhấn chuột sang sheet khác, nhấn chọn sheet này, thậm chí nhấn đóng file cũng in được. Nhưng không ấn gì, bấm gì mà cũng chạy code thì người ta phải giật mình hoặc hỏi lại nhiều lần. Thế mà cũng báo cáo vi phạm.
Tôi thấy nhiều người không biết cách diễn đạt. Thay cho những từ "chung chung" kiểu "tự động" mà chả ai hiểu thì tại sao không mô tả cụ thể? Vd.: tôi có một code. Tôi muốn khi nhập ... vào ... rồi nhấn ... thì chạy code đó ... Thế thì ai cũng hiểu là có những thao tác liên tiếp nào, đưa gì vào đâu, rồi nhấn gì ấn gì đút gì bóp gì ...
 
Upvote 0
Bạn có "báo cáo vi phạm" 1 thành viên trong chủ đề này, tôi từ chối xử lý. Lý do bạn không biết tự động (hoặc giải thích tự động) là gì. Ngoài ra bạn không biết cách trả lời đúng vào câu hỏi của bài 2. Vậy góp ý của thành viên đó là đúng.
Giải thích thêm:
Câu hỏi bài 2 là "Tự động là không cần bấm nút nào hay như thế nào", bạn trả lời "Không cần bấm nút nào" mà không trả lời phần "hay như thế nào".
Bài 4 hỏi lại "làm thế nào để tác động cho việc đó được thực hiện", bạn trả lời "chỉ cần ấn chạy code"

Tôi định hỏi bạn: làm thế nào để chạy code? (tương đương với câu hỏi bài 4), nhưng chắc cũng câu trả lời cũ mà thôi.
Tôi cũng từng viết code. Muốn chạy code thì có nhiều cách nhưng cũng phải có tác động (không bấm thì ấn, không ấn cái nọ thì ấn cái kia),
Nếu chạy từ phím tắt, cũng phải ấn phím tắt
Nếu chạy từ macro, cũng phải nhấn Alt F8, nhấn chọn rồi nhấn Run
Nếu chạy "tự động" từ sự kiện, cũng phải ấn cái gì khác để tạo sự kiện như: nhấn chuột phải, chọn 1 ô hoặc 1 khối ô, nhấn chuột sang sheet khác, nhấn chọn sheet này, thậm chí nhấn đóng file cũng in được. Nhưng không ấn gì, bấm gì mà cũng chạy code thì người ta phải giật mình hoặc hỏi lại nhiều lần. Thế mà cũng báo cáo vi phạm.
Em ko biết ở đây anh em thực sự có biết viết code hay ko mà vào comment. Code em viết rồi, đọc hoặc test là hiểu qua rồi. Code đầu đó mấy bác kia còn khẳng định lưu vào personal rồi chạy đc bình thường thì em cũng bái phục. Em cũng ko rõ về code nên mới nhờ các bác xly, xong giờ em cũng tự mò ra. Còn cái bác em báo cáo thì từ đầu cái giọng đã nói đểu rồi. Ko hiểu cùng nhóm với ban quản trị ko mà bênh kinh thế. Em xin bái bai forum này, tưởng ng giỏi viết code sẽ vào giúp, nào ngờ
 
Upvote 0
Em xin bái bai forum này, tưởng ng giỏi viết code sẽ vào giúp, nào ngờ
Có những thứ nhỏ nhất yêu cầu là không viết tắt. Mà anh cũng không thực hiện được. Thì bảo sao mọi người không muốn giúp. Rồi quay sang hờn với trách. Chứ trên này. Rất nhiều người có thừa sức hỗ trợ anh. Cái quan trọng là cách anh thể hiện thế nào thôi
 
Upvote 0
Ở đây em trách thằng Maika8008 thích nói đểu với ông admin bênh nó thôi.
Có những thứ nhỏ nhất yêu cầu là không viết tắt. Mà anh cũng không thực hiện được. Thì bảo sao mọi người không muốn giúp. Rồi quay sang hờn với trách. Chứ trên này. Rất nhiều người có thừa sức hỗ trợ anh. Cái quan trọng là cách anh thể hiện thế nào
Bài đã được tự động gộp:

Có những thứ nhỏ nhất yêu cầu là không viết tắt. Mà anh cũng không thực hiện được. Thì bảo sao mọi người không muốn giúp. Rồi quay sang hờn với trách. Chứ trên này. Rất nhiều người có thừa sức hỗ trợ anh. Cái quan trọng là cách anh thể hiện thế nào thôi
Xin lỗi vì đã động chạm người khác. Nói chung em vẫn xin chào chỗ này ạ
 
Upvote 0
Web KT

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

Back
Top Bottom