Печать определенной страницы из листа ексель.

Автор Amator, 29 апреля 2014, 11:13

Amator

Здравствуйте. Посмотрите ,пожалуйста ,данный макрос. Где тут ошибка ?
Private Sub CommandButton3_Click()
Dim iloop As Integer
For iloop = 1 To ListBox1.ListCount
If ListBox1.Selected(iloop - 1) = True Then
   Sheets(ListBox1.List(iloop - 1, 0)).PrintOut From:=1, To:=1 Copies:=TextBox1.Value
      ListBox1.Selected(iloop - 1) = False
End If
Next

End Sub

Администратор

Amator, в VBA периодически встречаются ситуации, что порядковая нумерация элементов начинается с нуля. Профессиональным программистам так, наверное, удобнее.

Строки и столбцы в ListBox начинаются с нуля.

И здесь "ListBox1.ListCount" - это количество строк. Но порядковый номер последней строки будет другой. Например, если в ListBox одна строка, то порядковый номер первой строки будет ноль, а "ListBox1.ListCount" будет равен 1.