Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 31.01.2020
Сообщений: 3
Excel

Распечатать на месяц вперёд один и тот же документ только с разной датой

31.01.2020, 23:30. Показов 1556. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужна ваша помощь с созданием макроса
У меня есть документ , в оной клеточке например А6 указана сегодняшняя дата , например 1 число , и мне нужно распечатать на месяц вперёд один и тот же документ только уже с разной датой , то есть во втором документе мне нужно 2 число , в третьем документе 3 число , и это до тех пор , пока собственно месяц не закончится , допустим до 30 числа .
Но как вы уже поняли писать вручную и отдельно печатать каждый документ, как то не камельфо.
И как я понял нужен макрос.
Заранее БОЛЬШОЕ спасибо !
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.01.2020, 23:30
Ответы с готовыми решениями:

Шеренгу образовали одногодки, родившиеся в один и тот же месяц
Шеренгу образовали школьники-одногодки, родившиеся в один и тот же месяц. Определить, имеются ли в шеренге: учащиеся,родившиеся в один и...

Начальство требует разместить один и тот же документ на 4 сайтах
Начальство требует разместить один и тот же документ на 4 сайтах. Документ интересен посетителям четырех сайтов компании, но как быть с...

Как Открыть Один И Тот Же Документ На Редактирование Нескольким Пользо
Как открыть один и тот же документ на одном сервере в режиме редактирования нескольким пользователям, обойдя встроенный Soft Lock? ...

7
1318 / 536 / 112
Регистрация: 29.03.2016
Сообщений: 1,296
01.02.2020, 12:01
Можно начать как-то так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Sub PrintNext30Days()
    Dim i As Integer
    Dim wsh As Worksheet
    
    Set wsh = Worksheets("Лист1")
    With Workbooks.Add()
        For i = 0 To 30
            wsh.Cells(6, 1) = DateAdd("d", 1, wsh.Cells(6, 1))
            wsh.Copy After:=.Sheets(1)
        Next i
        .PrintOut Copies:=1, Collate:=True
        .Close SaveChanges:=False
    End With
End Sub
1
0 / 0 / 0
Регистрация: 31.01.2020
Сообщений: 3
02.02.2020, 15:51  [ТС]
А можно пожалуйста чуть подробнее для этого файла?
Я указал , где нужно поставить числа
Заранее большое спасибо
Миниатюры
Распечатать на месяц вперёд один и тот же документ только с разной датой  
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
02.02.2020, 16:37
Этот файл можно поставить как подложку чтоб например ячейка D6 попадала в нужное место рисунка, и например затем выполнить такую версию кода:
Visual Basic
1
2
3
4
5
6
7
8
Public Sub PrintNextDays()
    Dim i As Integer
 
        For i = 1 To 30
        [D6]=i
        activesheet.PrintOut Copies:=1, Collate:=True
        Next i
End Sub
0
1318 / 536 / 112
Регистрация: 29.03.2016
Сообщений: 1,296
02.02.2020, 16:42
Попробую угадать (печать Стр1 для следующего месяца):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Public Sub PrintNextMonth()
    Dim i As Integer
    Dim wsh As Worksheet
    Dim prtDate As Date
    Dim lstDate As Date
    prtDate = DateSerial(Year(Date), Month(Date) + 1, 1)
    lstDate = DateAdd("m", 1, prtDate)
    Set wsh = Worksheets(1) '"Стр1"
    With Workbooks.Add()
        Do While prtDate < lstDate
            wsh.Cells(6, 33) = Format$(prtDate, "dd")    'Cells(6, 33) - это адрес ячейки для дня, где 6-это индекс строки, а 33-это индекс колонки
            wsh.Cells(6, 37) = Format$(prtDate, "mmmm")  'Cells(6, 37) - это адрес ячейки для месяца, где 6-это индекс строки, а 37-это индекс колонки
            wsh.Cells(6, 53) = Format$(prtDate, "yyyy")  'Cells(6, 53) - это адрес ячейки для года, где 6-это индекс строки, а 53-это индекс колонки
            wsh.Copy After:=.Sheets(1)
            prtDate = DateAdd("d", 1, prtDate)
        Loop
        .PrintOut Copies:=1, Collate:=True
        .Close SaveChanges:=False
    End With
End Sub
1
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
02.02.2020, 16:48
Jamaica, зачем создавать книгу и копировать в неё лист? Достаточно просто скопировать лист, и с ним работать.
Но по этой задаче ведь просили просто распечатать один лист 30 раз и всё...
0
1318 / 536 / 112
Регистрация: 29.03.2016
Сообщений: 1,296
02.02.2020, 17:02
Только ради для:
Миниатюры
Распечатать на месяц вперёд один и тот же документ только с разной датой  
0
0 / 0 / 0
Регистрация: 31.01.2020
Сообщений: 3
21.03.2020, 18:40  [ТС]
Jamaica, Не могли бы вы немного переделать свой макрос , так как у меня получается 60 листов . Я пользуюсь вот этим макросом ниже , но принтер по отдельности начинает печатать каждый лист ,а у вас книгой очень удобно .

Visual Basic
1
2
3
4
5
6
7
8
Sub PutevieListi1()
Dim i As Long
For i = 1 To 31
Range("AG6") = i
Range("BM3") = i + 300
ActiveSheet.PrintOut
Next i
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2020, 18:40
Помогаю со студенческими работами здесь

Найти информацию о студентах каждой группы родившихся в один и тот же месяц и год
Дан массив содержащий данные о студентах( Группа, ФИО, дата рождения) . Найти и вывести всех студентов каждой группы родившихся в один и...

Из офиса печатается только один документ
Здравствуйте. На одном из наших предприятий обнаружилась одна неприятнейшая проблема. Имеем следующую обстановку: компы с Windows 7, MS...

Как из Регистра Накопления взять обороты только за один месяц
Всем добрый вечер) У кого есть свободное время,помогите мне пожалуйста с несложным вопросом. Как из Регистра Накопления взять обороты...

Изменить код, чтобы открывался только один документ
Есть таблица, сделанная в access в которой есть имя и документ я подключил к форме и закинул datagridview, а поле документ сделал линком,...

Распечатать те буквы, которые встречаются в каждом слове текста только один раз
Пусть дан текст. Распечатайте те буквы, которые встречаются в каждом слове текста только один раз. Прошу, подскажите, как закончить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru