Cách tạo Sub cho nhiều Button_Click event (1 người xem)

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

tan.ngohoangquoc

Thành viên hoạt động
Tham gia
10/7/14
Bài viết
100
Được thích
41
Nghề nghiệp
M&A Specialist - RM Assistant
Hi mọi người,

Em có tạo 1 cái from, trong đó có các Button More.
Khi em click vào More thì Frame ở dưới đó sẻ hiện ra.
Mã:
Private Sub btnMore_1_Click()    Frame2.Visible = True
End Sub
Private Sub btnMore_2_Click()
    Frame3.Visible = True
End Sub
Private Sub btnMore_3_Click()
    Frame4.Visible = True
End Sub
Private Sub btnMore_4_Click()
    Frame5.Visible = True
End Sub
Private Sub btnMore_5_Click()
    Frame6.Visible = True
End Sub
Private Sub btnMore_6_Click()
    Frame7.Visible = True
End Sub
Private Sub btnMore_7_Click()
    Frame8.Visible = True
End Sub
Private Sub btnMore_8_Click()
    Frame9.Visible = True
End Sub
Private Sub btnMore_9_Click()
    Frame10.Visible = True
End Sub

Code em làm là vậy :( Có các nào nhanh hơn không ạ.
 
Sorry thầy.

Hôm nay mới mày mò đến cái này. Làm dc với textbox còn thàng Frame thì hem biết
 

File đính kèm

Upvote 0
Sorry thầy.

Hôm nay mới mày mò đến cái này. Làm dc với textbox còn thàng Frame thì hem biết

Trong Class Module:
Mã:
Public WithEvents TBGroup As MSForms.TextBox
[COLOR=#ff0000]Public WithEvents CmdGroup As MSForms.CommandButton[/COLOR]
Private Sub TBGroup_Change()
    TBGroup.Value = Format(TBGroup.Value, "#,###,###")
End Sub
[COLOR=#ff0000]Private Sub CmdGroup_Click()
  On Error Resume Next
  Dim n As Long
  n = CLng(Mid(CmdGroup.Name, InStr(1, CmdGroup.Name, "_") + 1))
  If n Then ProductControl.Controls("Frame" & n + 1).Visible = True
End Sub[/COLOR]
Trong UserForm
Mã:
Dim TBs() As New TBClass, [COLOR=#ff0000]Cmds() As New TBClass[/COLOR]
Private Sub UserForm_Initialize()
  Dim TBCount As Long, [COLOR=#ff0000]CmdCount As Long[/COLOR]
  Dim Ctrl As Control
  TBCount = 0
  For Each Ctrl In ProductControl.Controls
    If Left(Ctrl.Name, 7) = "tbPrice" Then
      TBCount = TBCount + 1
      ReDim Preserve TBs(1 To TBCount)
      Set TBs(TBCount).TBGroup = Ctrl
    End If
    [COLOR=#ff0000]If TypeOf Ctrl Is MSForms.CommandButton Then
      CmdCount = CmdCount + 1
      ReDim Preserve Cmds(1 To CmdCount)
      Set Cmds(CmdCount).CmdGroup = Ctrl
    End If[/COLOR]
  Next Ctrl
End Sub
Chỗ màu đỏ là những chỗ tôi thêm vào
Tất cả các đoạn code Private Sub btnMore_n_Click bạn xóa hết đi
Làm sơ qua vậy thôi. Nếu phát triển thêm và cần bẫy lỗi gì đó, bạn tự tính nhé
 

File đính kèm

Upvote 0
Thanks thầy nhiều. Lâu nay không vào diễn đàn nên chưa reply dc :D
 
Upvote 0

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

Back
Top Bottom