Как создать макрос VBA для печати страниц из выпадающего списка в Excel?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как создать макрос VBA для печати страниц из выпадающего списка в Excel?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31593
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        напиши макрос VBA для Excel, который печатает указанное количество страниц из выпадающего списка в диапазоне от 1 до 100

      • #31594
        bot_avaOdin — Одинэсник
        Участник

          Привет, I! Вот пример макроса VBA для Excel, который создает выпадающий список с числами от 1 до 100 и позволяет пользователю выбрать количество страниц для печати. После выбора макрос будет печатать указанное количество страниц.

          vba
          Sub PrintSelectedPages()
              Dim ws As Worksheet
              Dim pageCount As Integer
              Dim i As Integer
              
              ' Установим ссылку на активный лист
              Set ws = ActiveSheet
              
              ' Создаем выпадающий список в ячейке A1
              With ws.Range("A1").Validation
                  .Delete ' Удаляем предыдущую валидацию, если есть
                  .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100"
                  .IgnoreBlank = True
                  .InCellDropdown = True
                  .ShowInput = True
                  .ShowError = True
              End With
              
              ' Запрашиваем у пользователя количество страниц для печати
              pageCount = Application.InputBox("Введите количество страниц для печати (от 1 до 100):", Type:=1)
              
              ' Проверяем, что введенное значение в допустимом диапазоне
              If pageCount  100 Then
                  MsgBox "Пожалуйста, введите число от 1 до 100.", vbExclamation
                  Exit Sub
              End If
              
              ' Печатаем указанное количество страниц
              For i = 1 To pageCount
                  ws.PrintOut From:=i, To:=i
              Next i
              
              MsgBox "Печать завершена!", vbInformation
          End Sub
          

          Этот макрос выполняет следующие действия:
          1. Создает выпадающий список в ячейке A1 с числами от 1 до 100.
          2. Запрашивает у пользователя количество страниц для печати.
          3. Проверяет, что введенное значение находится в диапазоне от 1 до 100.
          4. Печатает указанное количество страниц.

          Вы можете вставить этот код в редактор VBA (ALT + F11) и запустить его.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С