Help! Khi mở chỉ cho hiện form, không hiện excel (1 người xem)

Liên hệ QC

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

nhungdoahoaphudung

Thành viên chính thức
Tham gia
22/6/09
Bài viết
75
Được thích
7
Chào các bạn! Mình có chút vấn đề về VBA mong các bạn giúp đỡ:
Mình tạo 1 userform, muốn khi mở file excel đó, nó chỉ hiện ra form mà không cho hiện file excel (Tức là chỉ hiện lên form nhập số liệu mà không hiện excel) khi tắt form thì file excel đó cũng tắt. Bổ sung thêm nút quay về excel (thoát từ form về excel)
Người nhập số liệu vào chỉ nhìn thầy Form thôi. Muốn vào xem bảng phải bấm vào nút "quay về excel"

Cảm ơn các bạn!
 
Bạn sử dụng thuộc tính Visible của đối tượng Application, ví dụ dùng trong sự kiện mở Workbook:
Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
Application.Visible = True
End Sub
 
Upvote 0
Hay quá cảm ơn bạn nhiều nhé. Lần trước thấy mã rồi nghĩ mãi mà không ra. search trên google không thấy
Thanks a lots!
À bạn có thể giải thích thêm về câu lệnh trên không?
Tiện thể bác cho em hỏi nếu muốn thêm nút lệnh Print (có hiện ra để lựa chọn máy in) thì lệnh như thế nào?
Thanks
 
Lần chỉnh sửa cuối:
Upvote 0
Hay quá cảm ơn bạn nhiều nhé. Lần trước thấy mã rồi nghĩ mãi mà không ra. search trên google không thấy
Thanks a lots!
À bạn có thể giải thích thêm về câu lệnh trên không?
Tiện thể bác cho em hỏi nếu muốn thêm nút lệnh Print (có hiện ra để lựa chọn máy in) thì lệnh như thế nào?
Thanks

Bạn đến đây xem có đúng không nhé: Tại Đây
 
Upvote 0
Dùng phương thức PrintOut nhé
Worksheet.PrintOut
với cú pháp:
expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas)
trong đó :
expression là 1 biến worksheet / range
From, To : in từ trang nào đến trang nào
Copies: số bản
Preview = True: cho phép xem trước khi in (nếu bỏ qua hoặc Preview = False sẽ in thẳng ra máy in
(các tham số khác bạn có thể xem thêm trên diễn đàn hoặc trong phần Help của Excel)


===

Thuộc tính Visible (true/false) của đối tượng Application dùng để trong việc cho phép hiện/ẩn cửa sổ ứng dụng (cụ thể ở đây là cửa sổ Excel)
 
Upvote 0
Dùng phương thức PrintOut nhé
Worksheet.PrintOut
với cú pháp:
expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas)
trong đó :
expression là 1 biến worksheet / range
From, To : in từ trang nào đến trang nào
Copies: số bản
Preview = True: cho phép xem trước khi in (nếu bỏ qua hoặc Preview = False sẽ in thẳng ra máy in
(các tham số khác bạn có thể xem thêm trên diễn đàn hoặc trong phần Help của Excel)
............

bác làm hộ em ví dụ về các lệnh trên nhé. em xem nhưng không hiểu lắm
 
Upvote 0
Các bác giúp thêm em 1 vấn đề nữa nhé: em có 1 file word (quyết định chẳng hạn) có các mục:
- Họ tên: Ngày sinh: Nơi sinh:
- Quê quán:
- Điểm môn Toán: Môn Văn: Môn Anh văn:
....
Giờ em muốn tạo 1 file excel (nhập số liệu trên bằng Form), có xây dựng nút trộn thu, sau khi nhập xong muốn trộn thư thì nó sẽ xuất sang file word trộn thư với các mục như trên. Lưu ý khi bấm nút trộn thư thì chỉ có file trộn thư (kết quả) hiện ra, còn file doc nguồn (file gốc) được tắt đi.
Mong các bác giúp em làm mã VBA cho cái này. Thanks
 
Upvote 0
Các bác giúp thêm em 1 vấn đề nữa nhé: em có 1 file word (quyết định chẳng hạn) có các mục:
- Họ tên: Ngày sinh: Nơi sinh:
- Quê quán:
- Điểm môn Toán: Môn Văn: Môn Anh văn:
....
Giờ em muốn tạo 1 file excel (nhập số liệu trên bằng Form), có xây dựng nút trộn thu, sau khi nhập xong muốn trộn thư thì nó sẽ xuất sang file word trộn thư với các mục như trên. Lưu ý khi bấm nút trộn thư thì chỉ có file trộn thư (kết quả) hiện ra, còn file doc nguồn (file gốc) được tắt đi.
Mong các bác giúp em làm mã VBA cho cái này. Thanks

Bạn phải đọc nội quy trước khi viết bài nhé!
 
Upvote 0
Ủa em vi phạm à. xin lỗi nhé, mong các bác thông cảm. tiện thể thấy hỏi có người trả lời ngay, kô như diễn đàn khác, nên em hỏi vấn đề khác vào đây.

các bác cho em hỏi thêm với em muốn thực hiện vòng lặp: i = 1-10 thực hiện lệnh
cell a(i) = giá trị của textbox(i)
 
Upvote 0
Hay quá cảm ơn bạn nhiều nhé. Lần trước thấy mã rồi nghĩ mãi mà không ra. search trên google không thấy
Thanks a lots!
À bạn có thể giải thích thêm về câu lệnh trên không?
Tiện thể bác cho em hỏi nếu muốn thêm nút lệnh Print (có hiện ra để lựa chọn máy in) thì lệnh như thế nào?
Thanks

Bạn có chắc là "Hay quá" không?
Nhắc lại yêu cầu của bạn
Mình tạo 1 userform, muốn khi mở file excel đó, nó chỉ hiện ra form mà không cho hiện file excel
Muốn vào xem bảng phải bấm vào nút "quay về excel"
Tôi làm thế này nhé: Mở Excel --> Vào Macro Security --> Disable All Macros.
Bây giờ tôi mở "file Excel" thì có hiện file excel mà chả phải bấm vào nút "quay về excel"
Vậy thì cái yêu cầu trên chỉ để dọa trẻ con?

Vậy thì nói "nhẹ bớt" đi. Đại loại: "Tôi muốn khi mở file Excel thì không hiện gì cả mà chỉ có UserForm thôi"
(không cho hiện gì cả ngoài Form vì vd. không cần thiết chứ không hẳn là cấm)
Bỏ những câu kiểu "Muốn vào xem bảng phải bấm vào nút "quay về excel", vì user chả phải gì cả với code trên
 
Lần chỉnh sửa cuối:
Upvote 0
Dùng phương thức PrintOut nhé
Worksheet.PrintOut
với cú pháp:
expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas)
trong đó :
expression là 1 biến worksheet / range
From, To : in từ trang nào đến trang nào
Copies: số bản
Preview = True: cho phép xem trước khi in (nếu bỏ qua hoặc Preview = False sẽ in thẳng ra

Bác hướng dẫn thêm về cái lệnh trên cho em với. Chẳng hạn em muốn in từ trang 1-4 và xem trước khi in, số lượng copy 2 bản thì viết lệnh thế nào, em viết mãi mà không được.
Thanks
 
Upvote 0
Hoặc là như thế này:
Tên_biến_worksheet.PrintOut(1, 4, 2, True)
hoặc là:
Tên_biến_worksheet.PrintOut From:=1, To:=4, Copies:=2, Preview:=True
 
Upvote 0
Bạn ơi cho mình hỏi tại sao khi dùng lệnh: worksheets(1).PrintOut Preview:=True xong nó cho preview nhưng nó bị đơ không thoát được, cũng không vào được excel, không vào được VBA, Task Manager thì nó vẫn báo là running - đang chạy?
 
Upvote 0
Bạn ơi cho mình hỏi tại sao khi dùng lệnh: worksheets(1).PrintOut Preview:=True xong nó cho preview nhưng nó bị đơ không thoát được, cũng không vào được excel, không vào được VBA, Task Manager thì nó vẫn báo là running - đang chạy?
"bị đơ" nghĩa là sao? nhấn vào nút Close PreView không có tác dụng? Nhấn Alt-F4 không được? Nhấn Alt-Tab thì sao?
Nói chung là khó xác định lỗi của bạn nếu không được nhìn thấy lỗi, bạn có thể gửi file để xem được không?
 
Upvote 0
Chỉ bị dơ excel thôi, không phải đơ win. Lối đây ạ (kèm theo File). Cho em hỏi thêm em muốn làm thêm một cái form có nút Priew sau khi bấm thì nó cho xem trước khi in và ẩn form, sau khi tắt priew thì lại hiện form lên thì code thế nào.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn thay mã lệnh của nút command1 bởi mã sau:
PHP:
Private Sub CommandButton1_Click()
UserForm1.Hide
Worksheets(1).PrintOut Preview:=True
UserForm1.Show
End Sub
nó cho phép tạm ẩn form trước khi preview, sau đó thì hiện lên lại.
Khi nào muốn kết thúc form thì dùng:
Unload UserForm1
 
Upvote 0
Bác cho em hỏi thêm tí. Em có ô A2=1000, em muốn một Label= A2, khi mở file excel (nó hiện form lên UserForm1.Show) tự động lấy giá trị a2 cho label. Code thế nào, giúp em với.
 
Upvote 0
Bác cho em hỏi thêm tí. Em có ô A2=1000, em muốn một Label= A2, khi mở file excel (nó hiện form lên UserForm1.Show) tự động lấy giá trị a2 cho label. Code thế nào, giúp em với.

Thêm đoạn sau vào code của form:

Private Sub UserForm_Initialize()
Me.Label2.Caption = Sheet1.Cells(2, 1)
End Sub

nhưng với Label thì đặt caption chỉ để hiện giá trị lên thôi nhé!
 
Upvote 0
Web KT

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

Back
Top Bottom