В настоящее время я пытаюсь создать макрос печати по нажатию кнопки, чтобы напечатать все листы, кроме двух (в настоящее время 5 листов).Кроме того, у меня есть третий лист, который я хочу, чтобы пользователь определял, сколько страниц на нем нужно распечатать.Когда я пытаюсь сделать так, чтобы он был основан на ячейке, я получаю ошибку 1004. Чтобы увидеть, работает ли остальная часть кода, и я заставляю модуль иметь определенное число, происходит сбой Excel, после того как он выполняет печать первого листа.
Sub Button1_Click()
Dim Wks As Worksheet, xcell As Integer
'The next line is where I get 1004 but when I change it to a fixed number it crashes excel'
xcell = Sheets("Print Page").Range("B12").Value
If xcell < 1 Then
MsgBox ("Please Enter the number of pages needed")
Exit Sub
Else
For Each Wks In ActiveWorkbook.Worksheets
If Wks.Visible = xlSheetVisible Then
If Wks.Name = "Print Page" Then
Else
If Wks.Name = "Specs" Then
Else
If Wks.Name = "Data" Then
Wks.PrintOut From:=1, To:=xcell
Else
Wks.PrintOut
End If
End If
End If
End If
Next Wks
End If
End Sub
Вероятно, есть более чистый способ написать это, о котором я не знаю.