Lỗi viết lệnh CommandButon (1 người xem)

Liên hệ QC

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

hoangtuankhanh

Thành viên mới
Tham gia
18/3/08
Bài viết
31
Được thích
1
Nghề nghiệp
looking......
Chào cả nhà!
Em đang tập tọe sử dụng CommandButon nhưng mà viết làm lệnh nó chỉ in được một Sheet đầu rồi báo lỗi. Các bác xem hộ em rồi chỉ cho em cách khắc phục với nhé.
Cảm ơn mọi người!
 

File đính kèm

Chào cả nhà!
Em đang tập tọe sử dụng CommandButon nhưng mà viết làm lệnh nó chỉ in được một Sheet đầu rồi báo lỗi. Các bác xem hộ em rồi chỉ cho em cách khắc phục với nhé.
Cảm ơn mọi người!
Có 2 vấn đề trao đổi với bạn:
1. Trong VBA không nhập được tiếng Việt Unicode, nên tên những đối tượng mà bạn cần gọi trong VBA không nên viết tiếng Việt có dấu.
Ví dụ bạn nên đặt tên sheet "Luu chuyen tien te" thay vì "Lưu chuyển tiền tệ"
Câu lệnh này Sheets("Luu chuy?n ti?n t?").Select báo lỗi vì làm gì có sheet tên "Luu chuy?n ti?n t?"

2. Bạn in rất nhiều sheets, mỗi sheet bạn phải viết 2 dòng lệnh:
Mã:
      Sheets("tên sheet").Select
      ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Nên viết dễ bị lỗi vì sai tên sheet. Bạn nên dùng vòng lặp duyệt qua tất cả các sheet và chỉ cho phép in khi tên sheet thỏa mãn điều kiện:
Mã:
If tên sheet <> tên 1 And tên sheet <> tên 2 And ... Then
Với tên 1, tên 2, ... là các sheet không in.
Mã:
 Private Sub CommandButton1_Click()
Dim Msg, Style, Title
Dim n As Long, i As Long, shName As String
Msg = "Ban co muon In bao cao khong?"
Style = vbYesNo + vbCritical + vbDefaultButton2
Title = "Thong bao"
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
  n = ThisWorkbook.Sheets.Count
  For i = 1 To n
    shName = Sheets(i).Name
    If shName <> "[B]tên 1[/B]" And shName <> "[B]Tên 2[/B]" And shName <> "[B]Tên 3[/B]" Then
      Sheets(i).Select
      ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If
  Next
End If
End Sub
 
Web KT

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

Back
Top Bottom