Gọi 01 thủ tục có sẳn như thế nào? (1 người xem)

Liên hệ QC

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

emgaingayngo

Thành viên hoạt động
Tham gia
9/2/07
Bài viết
141
Được thích
5
Tại Sheet2 đã có 01 Private Sub như sau:
PHP:
Private Sub cmdXoa_Click()
With Sheets("CT")
    .Range("BangData, BangThamChieu").ClearContents
    .Range("Vung1, Vung2").Clear
    .Range("rngCP").ClearContents
    '.Range("A22:IV23").ClearContents
    .Range("Vung1, Vung2").BorderAround , xlThin
    .Range("F1").Value = "CT = Nothing"
    .Range("B4").Value = "Xin moi ChonLoaiSo, ChonDai, ChonThe, va bam nut DONE"
    .Range("B5").Value = "A1 = ChonLoaiSo"
    .Range("B6").Value = "A2 = ChonDai"
    .Range("B7").Value = "B1 = ChonThe"
    .Range("B8").Value = "E120 = TKe DLieu"
End With
If Range("ChonSoCot").Value = 100 Then
Range("CW22:IV23").ClearContents
End If
End Sub

Trên userForm có 01 CommandButton1, mình muốn gọi lại thủ tục trên cho CommandButton1 như sau :
PHP:
Private Sub CommandButton1_Click()
Sheet2.cmdXoa
End Sub
nhưng khi nhấn nút CommandButon1 thì bị báo lỗi "Expected procedure, not variable"
Xin anh chị cho hỏi có cách nào gọi lại được thủ tục trên?
 
Bạn nên làm như thế này:

PHP:
Private Sub cmdXoa_Click()
    Call Xoa
End Sub

'-------------------------------

Private Sub CommandButton1_Click()
    Call Xoa
End Sub

'-------------------------------

Private Sub Xoa()
    On Error Resume Next
    With Sheets("CT")
        .Range("BangData, BangThamChieu").ClearContents
        .Range("Vung1, Vung2").Clear
        .Range("rngCP").ClearContents
        .Range("A22:IV23").ClearContents
        .Range("Vung1, Vung2").BorderAround , xlThin
        .Range("F1").Value = "CT = Nothing"
        .Range("B4").Value = "Xin moi ChonLoaiSo, ChonDai, ChonThe, va bam nut DONE"
        .Range("B5").Value = "A1 = ChonLoaiSo"
        .Range("B6").Value = "A2 = ChonDai"
        .Range("B7").Value = "B1 = ChonThe"
        .Range("B8").Value = "E120 = TKe DLieu"
    End With
    If Range("ChonSoCot").Value = 100 Then
        Range("CW22:IV23").ClearContents
    End If
End Sub
Thân!
 
Upvote 0
Làm như Bab nhưng không được, chỉ được khi mình cho cái sub Xoa() vào trong Module thôi, chứ để trong sheet2 là không chạy. Tham khảo file sau nha.

Làm như Bab là không chạy được rồi, tham khảo file sau nha.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Làm như Bab nhưng không được, chỉ được khi mình cho cái sub Xoa() vào trong Module thôi, chứ để trong sheet2 là không chạy. Tham khảo file sau nha.

Làm như Bab là không chạy được rồi, tham khảo file sau nha.


Đúng rồi, để dùng chung và gọi nó từ Form, Sheet . . . thì Sub Xoa cho trong module bạn ạ , và bỏ chữ Private đi


Muốn để ở tại từng Sheet thì do từ Sheet này không thể trực tiếp xóa hay ghi . . lên sheet khác, do đó trước khi thực hiện trên 1 SheetA nào đó thì :
SheetA.Select hoặc SheetA.Active
Vì vậy muốn Sub Xoa ở trong sheet và chạy được thì ta thêm các dòng đó vào

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

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

Back
Top Bottom