giúp minh lệnh printpriview từ form (1 người xem)

Liên hệ QC

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

kuvi1324

Thành viên chính thức
Tham gia
1/2/13
Bài viết
78
Được thích
0
tình hình là mình tạo một userform bằng vba, trong đó có nút với chức năng priview 1 sheet trước khi in, khi bấm nút này thì xem được trang priview, nhưng khi thoát khỏi trang priview thì làm sao để userform vẫn nằm im đó với những thông tin mình đã nhập (mình làm nhưng trang userform mất, mở lên lại thì thông tin nhập vào không còn nữa)
lệnh của mình:
private sub .....
unload me
sheet2.printpriview:=true
end sub
 
Đây là thủ tục để bạn xem trước trang in, khi thoát xem trước thì trở lại form, nhưng vẫn giữ được những gì đã nhập trên form này:

Mã:
Private Sub CommandButton1_Click()
    Me.Hide
    Sheet2.Select
    ActiveWindow.SelectedSheets.PrintPreview
    Me.Show
End Sub
 

File đính kèm

Upvote 0
thank bạn nhiều lắm
mình hỏi thêm chút
mình muốn khi mở excel lên là hiện lên userform1 luôn
mình dùng userform1.show rồi mà không được
 
Upvote 0
thank bạn nhiều lắm
mình hỏi thêm chút
mình muốn khi mở excel lên là hiện lên userform1 luôn
mình dùng userform1.show rồi mà không được
Bạn phải đưa câu lệnh trên vào Sub WorkBook_Open của đối tượng ThisWorkbook hoặc vào Sub Auto_Open trên Module mới được.
 
Upvote 0
nó báo lỗi run-time error 400
form already displayed; can't show modally
 
Upvote 0
tại mình không biết cách tự hiện form lên nên mình tạo một button trong sheet1 cũng dùng lệnh trên @@
 
Upvote 0
tại mình không biết cách tự hiện form lên nên mình tạo một button trong sheet1 cũng dùng lệnh trên @@
Vấn đề ở chỗ nút lệnh trên sheet thì chỉ khi nào bạn nhấn thì nó mới có tác dụng, còn nếu đưa câu lệnh vào 1 trong 2 sub trên kia thì nó sẽ được tự động kích hoạt khi mở file. Do đó tôi thấy lạ khi gặp lỗi trên. Bạn không thể đưa cái file đó lên đây được à?
 
Upvote 0
chương trình mình dung lượng lớn hơn cho phép rồi
mình tạo mới một workbook thì làm được
chứ cái của mình thì pó tay
chắc chồng chéo ông nội nào đó trong mấy cái sub rồi
 
Upvote 0
chương trình mình dung lượng lớn hơn cho phép rồi
mình tạo mới một workbook thì làm được
chứ cái của mình thì pó tay
chắc chồng chéo ông nội nào đó trong mấy cái sub rồi

Bạn nén file lại hoặc xoá bớt dữ liệu (chỉ cần để vài cái làm ví dụ) rồi đưa lên cho anh/chị xem chứ ngồi tưởng tượng ra thì hơi căng à. Thân.
 
Upvote 0
mình click đúp vào thisworkbook trong vba chỉ thấy mỗi 1 sub này à

Private Sub Workbook_Open()
UserForm1.Show
End Sub



thế mày vẫn báo lỗi

để mình xóa bớt rồi gửi lên cho bạn xem thử
 
Upvote 0
Khi thì không có file, khi thì bạn tung một lần 3 file lên.
Tôi thấy trong UserForm1 có sub này:
Mã:
Private Sub UserForm_Initialize()
    Call MinMax(UserForm1.Caption)
End Sub
Nhấn F8 thì code chạy từng câu lệnh, code gọi sub MinMax, và trong sub này có câu lệnh:
Mã:
SetWindowPos hWndForm, HWND_NOTOPMOST, 0, 0, 806, 632, SWP_SHOWWINDOW
Câu lệnh này mở Form lên và vấn đề xuất phát từ anh chàng này (tôi chỉ phát hiện ra đến vậy chứ chưa đủ trình để hiểu nó). Bạn bỏ Sub UserForm_Initialize đi là hiện Form được.
 
Upvote 0
View attachment 102337

file của mình ........................................................

Bạn cứ gửi bài lên tùm lum thế! 1 bài được rồi!

Bạn thay thủ tục trong form này:

Mã:
Private Sub UserForm_Initialize()
    Call MinMax(Me.Caption)
End Sub

Thành:

Mã:
Private Sub UserForm_Activate()
    Call MinMax(Me.Caption)
End Sub

là được! Thử xem.
 
Upvote 0
được rồi, cảm ơn bạn nha
mình gửi 3 lần vì nó nhảy qua trang 2 mình không để ý nên tưởng là chưa úp file đó mà
thank bạn nhiều
 
Upvote 0

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

Back
Top Bottom