chỉnh code VBA khi cell được chọn thì hiên Userform

Liên hệ QC

DMQ

Thành viên dốt
Tham gia
21/3/12
Bài viết
713
Được thích
54
Giới tính
Nam
Chào các anh chị, em có sưu tầm trên mạng đoạn code hiên userform, nhưng khi cứ cell trong cột G được select là hiên Form.
Em muốn như vầy: giả sử G6:G100 có số liệu (khác rỗng) thì khi các cell này (G6:G100) được chọn không hiện Form nữa, mà chỉ G101 được chọn thì mới hiện Form, và cứ thế chỉ cell liền dưới cell có số liệu của cột G được chọn mới hiên Form. Mong các anh chị giúp đỡ.
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rMyRg As Range

Set rMyRg = Columns(7)
Set rMyRg = Application.Intersect(rMyRg, Target)

If Not rMyRg Is Nothing Then
If Userform1.Visible = False Then
Userform1.Show
End If
End If

Set rMyRg = Nothing

End Sub
 
Chào các anh chị, em có sưu tầm trên mạng đoạn code hiên userform, nhưng khi cứ cell trong cột G được select là hiên Form.
Em muốn như vầy: giả sử G6:G100 có số liệu (khác rỗng) thì khi các cell này (G6:G100) được chọn không hiện Form nữa, mà chỉ G101 được chọn thì mới hiện Form, và cứ thế chỉ cell liền dưới cell có số liệu của cột G được chọn mới hiên Form. Mong các anh chị giúp đỡ.
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rMyRg As Range

Set rMyRg = Columns(7)
Set rMyRg = Application.Intersect(rMyRg, Target)

If Not rMyRg Is Nothing Then
If Userform1.Visible = False Then
Userform1.Show
End If
End If

Set rMyRg = Nothing

End Sub
Vậy thì thêm điều kiện chỉ chọn dòng cuối cộng 1 của cột G mới hiện Userform thôi.
 
Upvote 0
Chào các anh chị, em có sưu tầm trên mạng đoạn code hiên userform, nhưng khi cứ cell trong cột G được select là hiên Form.
Em muốn như vầy: giả sử G6:G100 có số liệu (khác rỗng) thì khi các cell này (G6:G100) được chọn không hiện Form nữa, mà chỉ G101 được chọn thì mới hiện Form, và cứ thế chỉ cell liền dưới cell có số liệu của cột G được chọn mới hiên Form. Mong các anh chị giúp đỡ.
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rMyRg As Range

Set rMyRg = Columns(7)
Set rMyRg = Application.Intersect(rMyRg, Target)

If Not rMyRg Is Nothing Then
If Userform1.Visible = False Then
Userform1.Show
End If
End If

Set rMyRg = Nothing

End Sub
Thử thế này xem có được không?
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rMyRg As Range
    Set rMyRg = Columns(7)
    Set rMyRg = Application.Intersect(rMyRg, Target)
    If Target.Cells.Count > 1 Then Exit Sub
    If (Not rMyRg Is Nothing) And (Target.Value2 = Empty) Then
        If UserForm1.Visible = False Then UserForm1.Show
    End If
    Set rMyRg = Nothing
End Sub
 
  • Thích
Reactions: DMQ
Upvote 0
Em có thử code của anh @giaiphap rồi, không được anh ơi. túc là khi chọn G102 vẫn hiên Form.
Ý em là cell cuối là G100 thì chỉ G101 được chọn thì mới hiện Form, chứ chọn G102,G103,hoặc G104 thì không hiện Form.
Mong anh chỉnh lại code dùm.
 
Upvote 0
Em có thử code của anh @giaiphap rồi, không được anh ơi. túc là khi chọn G102 vẫn hiên Form.
Ý em là cell cuối là G100 thì chỉ G101 được chọn thì mới hiện Form, chứ chọn G102,G103,hoặc G104 thì không hiện Form.
Mong anh chỉnh lại code dùm.
Bạn thử code này:
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rMyRg As Range
Dim lr As Long

lr = Sheet3.Range("G" & Rows.Count).End(xlUp).Row + 1
Set rMyRg = Range("G6:G" & lr)
Set rMyRg = Application.Intersect(rMyRg, Target)

If Not rMyRg Is Nothing Then
If tim_item.Visible = False Then
tim_item.Show
End If
End If

Set rMyRg = Nothing
End Sub
 
  • Yêu thích
Reactions: DMQ
Upvote 0
Code của anh @hoangtuaotrang_hp_vn đã đúng, nhưng em có thử chọn G100 cũng hiên Form ạ, ý em là khi cột G đã có dữ liệu thì không hiên Form nữa. tức G6: G100 được chọn thì không hiên Form.
 
Upvote 0
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Lr As Long
Lr = Range("G1048576").End(3).Row
With Target
If .Count = 1 Then
If .Column = 7 Then
If .Row = Lr + 1 Then
If UserForm1.Visible = False Then UserForm1.Show
End If
End If
End If
End With
End Sub

Bạn thử vậy xem có được không nhé
 
  • Yêu thích
Reactions: DMQ
Upvote 0
Cám ơn anh @duy.tg nhiều, code của anh đúng ý em rồi ạ.
 
Upvote 0
Web KT

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

Back
Top Bottom