Chọn Cell hoạt động sau khi Ẩn-hiện các dòng

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

khoa_pr

Thành viên hoạt động
Tham gia
16/6/09
Bài viết
141
Được thích
13
Chào các thành viên của diễn đàn!
Xin xem giúp tôi nội dung bài và nội dung của code tôi đã viết và sửa giúp nội dung sau:
1- Trong sheet "vidu" tôi tạo một danh sách, một ComboBox để chọn HKI, HKII, CN để khi chon bất kỳ thì sẽ có vùng ẩn. trong đó:
Vùng HKI: A6:C35 và B6 là cell hoạt động; vùng HKII: A36:C75 và B36 là cell hoạt động; vùng CN: A76:C100 thì B76 là cell hoạt động. Dòng tiêu đề A 5:C5 được cố định (FreezePanes)
2- Khi ComboBox =HKI thì vùng HKII và CN sẽ ẩn, Khi ComboBox =HKII thì Vùng HKI va CN ẩn, khi ComboBox =CN thì HKI va HKII ẩn. Điều này tôi đã làm được.
Yêu cầu giúp đỡ:
a/Sau khi ẩn một vùng và khi chọn lại cho nó hiện thì hãy kích hoạt con trỏ trở về cell hoạt động và ta nhìn thấy cả vùng đó từ cell hoạt động trở xuống.
Ví dụ: sau khi tôi chọn HKII thì HKI và CN bị ẩn, nhưng khi tôi chọn lại HKI hoặc CN thì HKI(CN) sẽ hiện ra nhưng nó núp sau dòng tiêu đề đã được FreezePanes, chỉ khi tôi cuộn xuống mới thấy vung HKI. Tôi muốn các bạn giúp khi chọn HKI thì cả vùng hiện ra và ta thấy ngay từ dòng A6 trở xuống chứ không phải ScrollBar xuống.
b/ Sao nội dung chỉ có bấy nhiêu nhưng file lên tới 1,4MB. xin hướng dẫn viết code cho gọn lại và chạy nhanh hơn.
Xin chân thành cảm ơn
 

File đính kèm

Chào các thành viên của diễn đàn!
Xin xem giúp tôi nội dung bài và nội dung của code tôi đã viết và sửa giúp nội dung sau:
1- Trong sheet "vidu" tôi tạo một danh sách, một ComboBox để chọn HKI, HKII, CN để khi chon bất kỳ thì sẽ có vùng ẩn. trong đó:
Vùng HKI: A6:C35 và B6 là cell hoạt động; vùng HKII: A36:C75 và B36 là cell hoạt động; vùng CN: A76:C100 thì B76 là cell hoạt động. Dòng tiêu đề A 5:C5 được cố định (FreezePanes)
2- Khi ComboBox =HKI thì vùng HKII và CN sẽ ẩn, Khi ComboBox =HKII thì Vùng HKI va CN ẩn, khi ComboBox =CN thì HKI va HKII ẩn. Điều này tôi đã làm được.
Yêu cầu giúp đỡ:
a/Sau khi ẩn một vùng và khi chọn lại cho nó hiện thì hãy kích hoạt con trỏ trở về cell hoạt động và ta nhìn thấy cả vùng đó từ cell hoạt động trở xuống.
Ví dụ: sau khi tôi chọn HKII thì HKI và CN bị ẩn, nhưng khi tôi chọn lại HKI hoặc CN thì HKI(CN) sẽ hiện ra nhưng nó núp sau dòng tiêu đề đã được FreezePanes, chỉ khi tôi cuộn xuống mới thấy vung HKI. Tôi muốn các bạn giúp khi chọn HKI thì cả vùng hiện ra và ta thấy ngay từ dòng A6 trở xuống chứ không phải ScrollBar xuống.
b/ Sao nội dung chỉ có bấy nhiêu nhưng file lên tới 1,4MB. xin hướng dẫn viết code cho gọn lại và chạy nhanh hơn.
Xin chân thành cảm ơn
a/ Bạn xem trong file.
b/ Tuy dữ liệu ít nhưng do bạn format cho cả một vùng rộng nên dung lượng file tăng lên. Dùng tới đâu thì format tới đó, không nên format một lần cho khỏi mất công.
 

File đính kèm

Upvote 0
Chào bạn Huuthang
Code bạn viết rất ngắn gọn và chạy nhanh, mình đã học hỏi thêm được cách sử dụng Select Case, tuy nhiên vẫn chưa hiểu hết cách phối hợp trong âấu trúc này, nên mình đặt thêm một trường hợp nữa thì sử dụng kết hợp như thế nào: Trong Sheet vidu mình tạo thêm một checkbox PrintPreview, sau khi trị của C3 thay đổi (HKI, HKII, CN) thì ẩn dòng. nay mình muốn thêm diều kiện Case lần 2 : khi Case "HKI"(HKII or CN) và nút kiểm Print Preview được chọn thì gọi lệnh PrintPreview. tôi làm hoài nhưng nó không gọi được lệnh PrintPreview. (hoặc có thể tạo UserForm trên đó có cả ComboBox HK và checkBox PrPreview và nút OK(CommandButton)). Nếu sử dụng cấu trúc If . . . and. . .then thì gọi được PrPreview.
Code:
Select Case [C3].Value
Case "HKI"
[36:100].EntireRow.Hidden = True
[B6].Select
ActiveWindow.ScrollRow = 6
Case "HKI" and CheckbPrintPreview=true then
UsedForm.Hide
Call PrintPreview
Case "HKII"
[6:35,76:100].EntireRow.Hidden = True
[B36].Select
ActiveWindow.ScrollRow = 36
Case "HKI" and CheckbPrintPreview=true then
UsedForm.Hide
Call PrintPreview
Case "CN"
[6:75].EntireRow.Hidden = True
[B76].Select
ActiveWindow.ScrollRow = 76
Case "HKI" and CheckbPrintPreview=true then
UsedForm.Hide
Call PrintPreview
End Select

Mong được giúp đỡ.
 

File đính kèm

Upvote 0
Sao không thấy ai giúp hết vậy, kể cả bạn huuthang
Chào bạn Huuthang
Code bạn viết rất ngắn gọn và chạy nhanh, mình đã học hỏi thêm được cách sử dụng Select Case, tuy nhiên vẫn chưa hiểu hết cách phối hợp trong âấu trúc này, nên mình đặt thêm một trường hợp nữa thì sử dụng kết hợp như thế nào: Trong Sheet vidu mình tạo thêm một checkbox PrintPreview, sau khi trị của C3 thay đổi (HKI, HKII, CN) thì ẩn dòng. nay mình muốn thêm diều kiện Case lần 2 : khi Case "HKI"(HKII or CN) và nút kiểm Print Preview được chọn thì gọi lệnh PrintPreview. tôi làm hoài nhưng nó không gọi được lệnh PrintPreview. (hoặc có thể tạo UserForm trên đó có cả ComboBox HK và checkBox PrPreview và nút OK(CommandButton)). Nếu sử dụng cấu trúc If . . . and. . .then thì gọi được PrPreview.
Code:
Select Case [C3].Value
Case "HKI"
[36:100].EntireRow.Hidden = True
[B6].Select
ActiveWindow.ScrollRow = 6
Case "HKI" and CheckbPrintPreview=true then
UsedForm.Hide
Call PrintPreview
Case "HKII"
[6:35,76:100].EntireRow.Hidden = True
[B36].Select
ActiveWindow.ScrollRow = 36
Case "HKI" and CheckbPrintPreview=true then
UsedForm.Hide
Call PrintPreview
Case "CN"
[6:75].EntireRow.Hidden = True
[B76].Select
ActiveWindow.ScrollRow = 76
Case "HKI" and CheckbPrintPreview=true then
UsedForm.Hide
Call PrintPreview
End Select

Mong được giúp đỡ.
 
Upvote 0
chào mọi người, cũng với file trên, cũng đoạn code trên, nếu tôi không dùng chức năng cố định dòng-cột của excel(Menu Window/FreezePanes) mà viết thêm đoạn code sau đây phía dưới End Select
With ActiveWindow
.SplitColumn = 5
.SplitRow = 1
.FreezePanes = True
.Split = True
End With
thì mỗi khi click ComboBox để chọn HKI, HKII . . thì các dòng tiêu đề (1:5) bị đẩy lên trên , bị cố định và khuất mất. Tại sao vậy? cần phải thêm những đoạn code nào để nó không bị như vậy.
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom