Ẩn dòng bằng 1 nút CommandButton (1 người xem)

Liên hệ QC

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

thangteotdtt

Thành viên hoạt động
Tham gia
12/12/13
Bài viết
152
Được thích
42
Mình có ghi được 1 đoạn code để ẩn dòng và hiển thị dòng, mình sử dụng 2 nút riêng, nhờ các bạn trợ giúp dùm mình gộp 2 nút thành 1 nút CommandButton. Cảm ơn các bạn.
 

File đính kèm

Lệnh chỉ cần 2 dòng thôi, khỏi cần khai báo biến:
[gpecode=vb]
CommandButton1.Caption = IIf(CommandButton1.Caption = "An", "Hien", "An")
Range("A18:AA32").EntireRow.Hidden = (CommandButton1.Caption = "An")
[/gpecode]
 
Upvote 0
Lệnh chỉ cần 2 dòng thôi, khỏi cần khai báo biến:
[gpecode=vb]
CommandButton1.Caption = IIf(CommandButton1.Caption = "An", "Hien", "An")
Range("A18:AA32").EntireRow.Hidden = (CommandButton1.Caption = "An")
[/gpecode]

Nhưng viết thành 4 dòng sẽ hay hơn:
Mã:
With CommandButton1
  .Caption = IIf(.Caption = "An", "Hien", "An")
  Range("A18:AA32").EntireRow.Hidden = (.Caption = "An")
End With
 
Upvote 0
Nhưng viết thành 4 dòng sẽ hay hơn:
Mã:
With CommandButton1
  .Caption = IIf(.Caption = "An", "Hien", "An")
  Range("A18:AA32").EntireRow.Hidden = (.Caption = "An")
End With
Anh cho em hỏi do cái nút CommandButton1 không viết chữ có dấu được, vậy thay CommandButton1 bằng 1 nút AutoShape để mình viết chữ có dấu nhưng tác dụng của AutoShape này cũng Ẩn - Hiện dòng giống như CommandButton1 vậy, cảm ơn anh.
 
Upvote 0
Anh cho em hỏi do cái nút CommandButton1 không viết chữ có dấu được, vậy thay CommandButton1 bằng 1 nút AutoShape để mình viết chữ có dấu nhưng tác dụng của AutoShape này cũng Ẩn - Hiện dòng giống như CommandButton1 vậy, cảm ơn anh.
Chép code dưới đây vào một Module, tại sheet1 (nếu là sheet khác thì sửa trong code) tạo một Shape, sau đó gán macro này vào shape đó.

Mã:
Sub An_Hien_Dong()
    Dim AnDong As String, HuyAnDong As String
    AnDong = ChrW(7848) & "n dòng"
    HuyAnDong = "H" & ChrW(7911) & "y " & ChrW(7849) & "n dòng"
    With [COLOR=#ff0000]Sheet1[/COLOR].Shapes(Application.Caller).TextFrame.Characters
        .Text = IIf(.Caption = AnDong, HuyAnDong, AnDong)
        [COLOR=#ff0000]Sheet1[/COLOR].Range("A18:AA32").EntireRow.Hidden = (.Text = HuyAnDong)
    End With
End Sub
 
Upvote 0
Chép code dưới đây vào một Module, tại sheet1 (nếu là sheet khác thì sửa trong code) tạo một Shape, sau đó gán macro này vào shape đó.

Mã:
Sub An_Hien_Dong()
    Dim AnDong As String, HuyAnDong As String
    AnDong = ChrW(7848) & "n dòng"
    HuyAnDong = "H" & ChrW(7911) & "y " & ChrW(7849) & "n dòng"
    With [COLOR=#ff0000]Sheet1[/COLOR].Shapes(Application.Caller).TextFrame.Characters
        .Text = IIf(.Caption = AnDong, HuyAnDong, AnDong)
        [COLOR=#ff0000]Sheet1[/COLOR].Range("A18:AA32").EntireRow.Hidden = (.Text = HuyAnDong)
    End With
End Sub
Cảm ơn bạn mình đã làm theo chỉ dẫn của bạn được rồi. Cảm ơn bạn nhiều lắm.
 
Upvote 0
Cảm ơn bạn mình đã làm theo chỉ dẫn của bạn được rồi. Cảm ơn bạn nhiều lắm.
Riêng cái này:

Range("A18:AA32").EntireRow.Hidden

Tôi chỉ chép theo mấy bài trước, nhưng tôi nghĩ nó chỉ như vầy:

Range("A18:A32").EntireRow.Hidden

Hoặc đơn giản hơn và tốt hơn:

Range("18:32").EntireRow.Hidden
 
Upvote 0
Chép code dưới đây vào một Module, tại sheet1 (nếu là sheet khác thì sửa trong code) tạo một Shape, sau đó gán macro này vào shape đó.

Mã:
Sub An_Hien_Dong()
    Dim AnDong As String, HuyAnDong As String
    AnDong = ChrW(7848) & "n dòng"
    HuyAnDong = "H" & ChrW(7911) & "y " & ChrW(7849) & "n dòng"
    With [COLOR=#ff0000]Sheet1[/COLOR].Shapes(Application.Caller).TextFrame.Characters
        [B][COLOR=#0000ff].Text[/COLOR][/B] = IIf([COLOR=#ff8c00][B].Caption[/B][/COLOR] = AnDong, HuyAnDong, AnDong)
        [COLOR=#ff0000]Sheet1[/COLOR].Range("A18:AA32").EntireRow.Hidden = (.Text = HuyAnDong)
    End With
End Sub
À há, có một phát hiện là .Text và .Caption là như nhau! (do copy mà không chịu sửa nè).
 
Upvote 0

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

Back
Top Bottom