Vấn đề về macro

Liên hệ QC

MEGAheartno1

Thành viên mới
Tham gia
24/10/06
Bài viết
28
Được thích
0
Vấn đề 1 :Tạo 2 macro:
1- Macro thứ 1 có nhiệm vụ ẩn vùng A2:B18 --> Rồi tạo một nút trên thanh FORMATTING với label là Hide ( để lần sau click cho nhanh ).
2- Macro thứ 2 có nhiệm vụ hiện vùng A2:B18 --> rồi cũng tạo một nút trên thanh FORMATTING với label là Unhide.

Vấn đề 2: Em muốn bảo vệ spreadsheet chỉ cho người dùng nhập vào những ô không tính toán ( không có công thức ). Những ô chứa công thức phải được ẩn. ( không dùng password nha )

MEGAheartno1
Thanks
 
MEGAheartno1 đã viết:
Vấn đề 1 :Tạo 2 macro:
1- Macro thứ 1 có nhiệm vụ ẩn vùng A2:B18 --> Rồi tạo một nút trên thanh FORMATTING với label là Hide ( để lần sau click cho nhanh ).
2- Macro thứ 2 có nhiệm vụ hiện vùng A2:B18 --> rồi cũng tạo một nút trên thanh FORMATTING với label là Unhide.

Vấn đề 2: Em muốn bảo vệ spreadsheet chỉ cho người dùng nhập vào những ô không tính toán ( không có công thức ). Những ô chứa công thức phải được ẩn. ( không dùng password nha )

MEGAheartno1
Thanks

PHP:
Sub Macro1()
    Columns("A2:B18").Select
    Selection.EntireColumn.Hidden = True
End Sub
-------------------------
Sub Macro2()
    Selection.EntireColumn.Hidden = False
End Sub

bạn muốn bảo vệ vùng nào thì bạn chỉ cần phủ khối vùng đó sau đó ctrl+1 bỏ dấu kiểm vào "lock" và "hide" sau đó vào menu tools/protetion/protetion sheet sau đó gõ vào mật khẩu cần bảo vệ là xong rôi
 
Upvote 0
Bác Ongtrungducmx25 ơi, macro1 báo lỗi ở dòng Columns("A2:B18").Select
 
Upvote 0
ZẬY THÌ SỬ LẠI CÁI NÀY NHÉ
PHP:
Sub Macro1()
' Keyboard Shortcut: Ctrl+Shift+T
'
    Columns("A:B").Select
    Selection.EntireColumn.Hidden = True
End Sub
-----------------------
Sub Macro2()
' Keyboard Shortcut: Ctrl+Shift+H
'
    Selection.EntireColumn.Hidden = False
End Sub
 
Upvote 0
Mình không muốn giấu cả 2 cột muốn giấu 1 vùng nào đó thôi
ví dụ A4:B8 chẳng hạn, sao nhất thiết phải là A:B ?

"bạn muốn bảo vệ vùng nào thì bạn chỉ cần phủ khối vùng đó sau đó ctrl+1 bỏ dấu kiểm vào "lock" và "hide" sau đó vào menu tools/protetion/protetion sheet sau đó gõ vào mật khẩu cần bảo vệ là xong rôi" --> vẫn có thể delete được vùng chọn -\\/.
 
Lần chỉnh sửa cuối:
Upvote 0
Trong Excel chỉ có thể Hidden cả dòng hoặc cả cột. Muốn ẩn (giá trị, công thức) 1 hoặc vài Cells thì bạn chỉ có thể vào Format Cell / Chọn Tab Protection và đánh dấu chọn LockedHidden rồi click OK. Sau đó, bạn vào Menu Tools và Protect Sheet để hiệu lực.

TDN
 
Upvote 0
Theo tôi thì giấu một vùng thì không làm được đâu. Trước đây có bạn nào đó đã đặt vấn đề tương tự là giấu một ô.
 
Upvote 0
Vậy cho hỏi làm thế nào tạo được 2 COMMAND BUTTON HIDE và UNHIDE lên thanh formatting rồi ASIGN MACRO cho từng command button để thực thi việc mà mình muốn trong macro đã tạo

Ở trên bắt dùng không password. CÒn nếu dùng password làm như trên vẫn "cấm cho người vùng sửa đổi" (nhưng không thể ẩn được) được 1 vùng đã chọn = cách dùng LOCKED và UNHIDE mà --> PROTECT :D
 
Lần chỉnh sửa cuối:
Upvote 0
MEGAheartno1 đã viết:
Vậy cho hỏi làm thế nào tạo được 2 COMMAND BUTTON HIDE và UNHIDE lên thanh formatting rồi ASIGN MACRO cho từng command button để thực thi việc mà mình muốn trong macro đã tạo
Bạn kích phải chuột lên thanh công cụ, chọn Customize, trong tab Commands ở cột Categories bạn tìm đến phần Macros, nhìn bên vùng Commands bạn kéo biểu tượng Custom Button lên thanh công cụ. Sau đó kích phải vào biểu tượng mới tạo chon Assing Macro để gán một macro cho Button đó. Thân!
 
Upvote 0
ZẬY THÌ SỬ LẠI CÁI NÀY NHÉ
PHP:
Sub Macro1()
' Keyboard Shortcut: Ctrl+Shift+T
'
    Columns("A:B").Select
    Selection.EntireColumn.Hidden = True
End Sub
-----------------------
Sub Macro2()
' Keyboard Shortcut: Ctrl+Shift+H
'
    Selection.EntireColumn.Hidden = False
End Sub


Chào bác!
Em có sử dụng code này nhưng gặp trục trặc là ko hide được nhiều cột "ko liên tục". Ví dụ em muốn hide cột G, H, P, Q chẳng hạn??
Mong các ace chỉ giáo.

Thank
 
Upvote 0
Em có sử dụng code này nhưng gặp trục trặc là ko hide được nhiều cột "ko liên tục". Ví dụ em muốn hide cột G, H, P, Q chẳng hạn?? Thank

Nhờ bộ thu macro, tôi thực hiện nhiệm vụ bạn giao & có kết quả như sau:
(1)
PHP:
Sub Macro1()
    Range("G:H,P:Q").Select
    Range("P1").Activate'
    Selection.EntireColumn.Hidden = True
End Sub

(2) Tiếp theo tôi bỏ bớt dònh lệnh giữa, song macro vẫn chạy tốt:

PHP:
Sub Macro1()
    Range("G:H,P:Q").Select

    Selection.EntireColumn.Hidden = True
End Sub

(3) Chưa thỏa chí tang bồng, tôi gộp 2 dòng lệnh này thành 1 & vẫn OK:

PHP:
Sub Macro1()
    Range("G:H,P:Q").EntireColumn.Hidden = True
End Sub

Bạn tự ngẫm nghĩ & tiếp tục trò vui với bộ thu macrod9i nha!

Chúc nhiều những thành công!
 
Upvote 0
Cảm ơn bác. Nhân tiện bác cho e hỏi hai vấn đề sau:
1/ Khi em protect sheet thì khi dùng macro có lỗi như sau:
loi lock.JPG

2/ Khi dùng macro unhide trên thì phải select vùng có hide nên hơi bất tiện, có cách nào khắc phục nhược điểm này ko nhờ bác chỉ giúp e ạ.

Thanks
 
Upvote 0
(1) Lỗi mang số hiệu 400 rất chung; Cũng có thể thế này, cũng có thể thế kia
Không biệt nội dung macro của bạn đành võ đoán: Nếu trang tính đã bị khóa thì khó mà ghi chép, thay đổi dữ liệu 1 cách bình thường. . .

(2) Đi đường thẳng không được thì đành đi đường vòng: Cho hiện cả trang tính sau đó lại thực hiện ẩn cột/dòng cần ẩn trở lại. . . .
Hay bạn muốn dùng hộp thoại InputBox() để chọn cột cần hiện lại?

Chúc thành công.
 
Upvote 0
Gửi các bác file nó đây, trong file này e đã protect sheet nhưng ko thiết lập password. Các anh chị em cho em hỏi 2 vấn đề như trên e đã đề cập.

Còn kỹ thuật dùng inputbox() như HYen17 đề cập thực hiện như thế nào vậy? Mong các ace chỉ giáo

Thanks
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom