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

Привет, I! Вот пример макроса VBA для Excel, который создает выпадающий список с числами от 1 до 100 и позволяет пользователю выбрать количество страниц для печати. После выбора макрос будет печатать указанное количество страниц.
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 | 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) и запустить его.