Xin hỏi về code để mở Form khi chọn 1 cell

Liên hệ QC

tam8678

Đời Xá Chi
Tham gia
30/4/09
Bài viết
417
Được thích
301
Nghề nghiệp
Kế toán
Xin hỏi về code để mở UserForm khi chọn 1 cell

Tôi có 1 UserForm, tôi muốn khi select vào 1 cell (vd: cell A1) thì sẽ hiện UserForm này, thì code sẽ được viết như thế nào, rất mong các anh, em trên GPE hướng dẫn.
Cám ơn.
 
Lần chỉnh sửa cuối:
Bạn thử đặt sự kiên selection change rồi chèn thử code này xem:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (Target.Column = 1) And (Target.Row = 1) Then
UserForm1.Show
End If
End Sub
 
Upvote 0
Có củ chuối đây :

PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo thoat
    If Target.Address = "$A$1" Then
        [a2].Select
        Frm.Show
    End If
thoat:
End Sub
 

File đính kèm

Upvote 0
Tôi có 1 UserForm, tôi muốn khi select vào 1 cell (vd: cell A1) thì sẽ hiện UserForm này, thì code sẽ được viết như thế nào.....

Bạn thử code này xem sao:
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target,[A1]) Is Nothing Then UserForm1.Show
End Sub
 
Upvote 0
Hỏi thêm

Bạn thử code này xem sao:
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target,[A1]) Is Nothing Then UserForm1.Show
End Sub
---
Các bạn có thể giúp thêm như sau: UserForm khi mở thì nằm bên dưới và liền kề với cell A1
Cám ơn.
 
Upvote 0

File đính kèm

Upvote 0
Hình như bạn concogia chỉnh LeftTop trong UserForm Properties ---> Các bạn nếu không có yêu cầu quá cao thì nên dùng cách này vì nó đơn giản nhất
Đúng vậy bác NDU ạ, vì yêu cầu của tác giả có thế thôi, còn thú thật đọc bài của thầy Tuấn chưa hiểu hết đã muốn "tèo" rồi
Thân
 
Upvote 0
Bạn thử code này xem sao:
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target,[A1]) Is Nothing Then UserForm1.Show
End Sub
---
Xin được hỏi thêm, chọn A1 thì show form, khi chuyển trỏ vào cell bất kỳ khác thì đóng form này lại thì code được viết như thế nào ?
Mong được anh em hướng dẫn.
Cám ơn.
 
Upvote 0
---
Xin được hỏi thêm, chọn A1 thì show form, khi chuyển trỏ vào cell bất kỳ khác thì đóng form này lại thì code được viết như thế nào ?
Mong được anh em hướng dẫn.
Cám ơn.
Làm sao để di chuyển được con trỏ khi form đang show? Hay là ý bạn muốn là click đại "ngoài trời" thì form sẽ tự tắt?
 
Upvote 0
Làm sao để di chuyển được con trỏ khi form đang show? Hay là ý bạn muốn là click đại "ngoài trời" thì form sẽ tự tắt?
---
:-= :-= :-=
Nhân đọc bài viết của bạn huuthang_bd về calendar, khi click vào A1 thì hiện calendar, sau khi chọn ngày trong calendar vào A1 xong, chọn cell bất kỳ"ngoài trời" thì đóng calendar lại. Nguyên nhân hỏi là như thế (không biết nên phải hỏi :-=).
Kèm File huuthang_bd
 
Lần chỉnh sửa cuối:
Upvote 0
Làm sao để di chuyển được con trỏ khi form đang show? Hay là ý bạn muốn là click đại "ngoài trời" thì form sẽ tự tắt?
Hoàn toàn có thể được bạn à, dùng code sau nhé.
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If (Target.Column = 1) And (Target.Row = 1) Then
UserForm1.Show vbModeless
Else
UserForm1.Hide
End If
End Sub
 

File đính kèm

Upvote 0
Hoàn toàn có thể được bạn à, dùng code sau nhé.
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If (Target.Column = 1) And (Target.Row = 1) Then
UserForm1.Show vbModeless
Else
UserForm1.Hide
End If
End Sub
Control trên Worksheet và UserForm có cách xử lý khác nhau
- Với Control trên sheet, khi muốn ẩn ta sẽ Visible = False
- Với UserForm ta nên Unload khi không còn sử dụng
Chổ này: UserForm1.Hide
Nên Unload chứ đừng nên Hide
(UnloadHide khác nhau hoàn toàn)
 
Lần chỉnh sửa cuối:
Upvote 0
Chổ này: UserForm1.Hide
Nên Unload chứ đừng nên Hide
(UnloadHide khác nhau hoàn toàn)
Vâng em cũng biết cái này.
Hide là chỉ ẩn đó, sau đó hiện lại nó y chang.
Unload là thoát luôn.
Trường hợp này em cho vào Unload me luôn nó không chịu, chắc có lẽ phải thêm dòng nào nữa đó mà em chưa nghĩ ra
 
Upvote 0
Vâng em cũng biết cái này.
Hide là chỉ ẩn đó, sau đó hiện lại nó y chang.
Unload là thoát luôn.
Trường hợp này em cho vào Unload me luôn nó không chịu, chắc có lẽ phải thêm dòng nào nữa đó mà em chưa nghĩ ra
Theo tôi nghĩ do Show form với điều khiển vbModeless nên nó không hiểu Me là cái form nữa!
 
Upvote 0
Control trên Worksheet và UserForm có cách xử lý khác nhau
- Với Control trên sheet, khi muốn ẩn ta sẽ Visible = False
- Với UserForm ta nên Unload khi không còn sử dụng
Chổ này: UserForm1.Hide
Nên Unload chứ đừng nên Hide
(UnloadHide khác nhau hoàn toàn)
---
Anh thay UserForm1.Hide =UserForm1. Unload như thế này không biết có đúng Không, nó báo lỗi chú ơi (tô vàng: Unload). Xem giúp nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Vâng em cũng biết cái này.
Hide là chỉ ẩn đó, sau đó hiện lại nó y chang.
Unload là thoát luôn.
Trường hợp này em cho vào Unload me luôn nó không chịu, chắc có lẽ phải thêm dòng nào nữa đó mà em chưa nghĩ ra
Unload UserForm1 thử xem
Sao mà ME được ---> Có phải bạn đang viết code trong UserForm đâu ---> Viết trong sự kiện Selection_Change thì ME chính là ActiveSheet đấy
 

File đính kèm

Upvote 0
---
Anh thay UserForm1.Hide =UserForm1. Unload như thế này không biết có đúng Không, nó báo lỗi chú ơi (tô vàng: Unload). Xem giúp nhé.
Mình phải thay là unload userform1 mới đúng chứ! Tại bạn làm sai cú pháp nên nó tô vàng là phải rồi!
 
Upvote 0
Unload UserForm1 thử xem
Sao mà ME được ---> Có phải bạn đang viết code trong UserForm đâu ---> Viết trong sự kiện Selection_Change thì ME chính là ActiveSheet đấy
---
Được rồi, viết lại như thế này không biết có được không?, nhờ chú xem giúp:
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("C4")) Is Nothing Then
UserForm2.Show vbModeless
Else
Unload UserForm2
End If
 
Upvote 0
Web KT

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

Back
Top Bottom