Страницы: 1
RSS
VBA. Напечатать лист несколько раз с изменяемыми значениями ячеек
 
Мне нужна ваша помощь с созданием макроса
У меня есть документ , в оной клеточке например А6 указана сегодняшняя дата , например 1 число , и мне нужно распечатать на месяц вперёд один и тот же документ только уже с разной датой , то есть во втором документе мне нужно 2 число , в третьем документе 3 число , и это до тех пор , пока собственно месяц не закончится , допустим до 30 числа .
Но как вы уже поняли писать вручную и отдельно печатать каждый документ, как то не камельфо.
И как я понял нужен макрос.
Ниже я прикрепил файл , где указал клетку AG6 , там мне и нужно поставить числа месяца .
Заранее БОЛЬШОЕ спасибо !
 
Создайте 30 листов в которых число будет больше предыдущего на 1 и печатайте все листы.
"Все гениальное просто, а все простое гениально!!!"
 
Макрос-то зачем? Введите в ячейку формулу "=СЕГОДНЯ()", отформатируйте эту ячейку так, чтобы отображался только день месяца -- и будет вам счастье.
PS. Простите, но кОмИльфо.
Изменено: esheg - 02.02.2020 17:12:12
 
Nordheim,так в этом и прикол , как сделать так , чтобы не редактировать и печатать отдельно  
 
Код
Sub test()
  Dim i As Long
  For i = 1 To 30
    Range("AG6") = i       ' меняем ячейку
    ActiveSheet.PrintOut   ' печатаем
  Next i
End Sub
Владимир
 
sokol92,  практически то что я написал на кибере :)
А сюда не писал, потому что тема с нарушениями!
Изменено: Hugo - 02.02.2020 17:37:08
 
esheg,ахха спасибо я уже понял про комильфо . Смысл макросов в том , чтобы облегчить нашу работу , а так как вы сказали, получается тоже самое . Мне удобнее каждый раз менять число на одно больше , чем как вы сказали. Я может что-то не понимаю в плане использования СЕГОДНЯ() , но по-моему легче каждый раз изменять число и печатать . Мне макрос нужен был для того , чтобы каждый раз не нажимать на кнопку печати и изменять число .  
 
Цитата
Hugo написал:
практически то что я написал на кибере
Игорь, прошу прощения, на другие форумы я не заглядываю. :)  
Владимир
 
sokol92,ОГРОМНОЕ СПАСИБО , всё получилось  
 
Очевидно и ТС на другие не заглядывает :)
 
Зато мне придумывать тему. :)   Для модераторов: "Как макросом напечатать лист несколько раз с изменяемыми значениями ячеек".
Владимир
 
sokol92,просто первый раз на сайте  :oops:  
 
GorAgabekyan, формула ."=СЕГОДНЯ()" возвращает дату, установленную на системных часах компьютера. Если системные часы установлены верно, то завтра в ячейке будет 03.02.2020, послезавтра -- 04.02.2020 и так далее по календарю. Но если к этой ячейке применить пользовательский формат "Д", то в ячейке будет отображаться день даты.
PS. И, на всякий случай, подумайте насчёт месяца и номера путевого листа.
Изменено: esheg - 02.02.2020 18:05:22
 
Цитата
GorAgabekyan написал:
просто первый раз на сайте
Осваивайтесь, успехов!
Владимир
 
sokol92, Спасибо вам ещё раз , я сам в школе учусь , и только в таких ситуациях , где не хочется одно и то же делать много раз , я понимаю , что информатику надо было бы подтянуть  :D  
 
esheg,да , я уже понял , на номер путевого листа  никто не обращает внимания , но используя этот макрос , можно , конечно , и это изменить  
 
sokol92, это конечно необязательно , но мы можем сделать так,чтобы вместе с числами месяца , одновременно менялся номер путевого листа ( ячейка BM3) . То есть не по очереди , а одновременно
Изменено: GorAgabekyan - 02.02.2020 19:12:59
 
Цитата
GorAgabekyan написал:
не по очереди , а одновременно
- макрос так не может сделать физически. Даже если выгружать массив - сомневаюсь что все значения заполняются одновременно...
Но Вы не расстраивайтесь - то, что сперва заполнится одна ячейка, затем другая - не помешает распечатать их на одном листе. По очереди :)
Цитата
sokol92 написал:
' меняем ячейку
 
Hugo,хмммм, то есть у макроса не получится одновременно , например ,написать 1 число , 300 номер путевого листа и распечатать , и так 30 раз , меняя все цифры на 1
 
GorAgabekyan, Вы можете одновременно напечатать два символа? Вот и макрос...
Подскажу - в коде уважаемого sokol92 можно после строки где меняется значение одной ячейки добавить строку, где меняется значение другой ячейки, думаю автор не будет возражать :)
Изменено: Hugo - 02.02.2020 19:38:09
 
Hugo,я понимаю , что это довольно просто , но у меня не получается в данный макрос добавить то,что вы сказали ранее
Код
Sub test()  
Dim i As Long
  For i = 1 To 30
    Range("AG6") = i       
    ActiveSheet.PrintOut   
  Next i
End Sub
 
Дополнил ответ выше.
 
Hugo, в том то и вопрос, я даже это не могу сделать  :oops:
 
GorAgabekyan,
В какую ячейку надо вписывать номер путевого листа?
И какие номера путевых листов надо печатать каждый день?
 
Kuzmich, смотрите , в ячейку AG6 мне нужно вписать число 1 , в ячейке BM3 , например, 300 , макрос ,данный sokol92  работает , но желательно, чтобы на одном листе редактировались сразу 2 ячейки и печатались , на следующем на 1 больше , и так 30 раз . Просто нужно немного отредактировать макрос .
 
Добавьте строку
Код
Range("BM3") = i + 299   
Неужели сложно?
Изменено: Hugo - 02.02.2020 20:21:08
 
GorAgabekyan, если мысль догнала, можно вернуться и дополнить уже созданное сообщение
Код в сообщениях нужно оформлять тэгами. Для этого есть кнопка <...>
 
Hugo, ага спасибо , я же говорю , я вообще не разбираюсь :)
 
А о кроссе написать? Там тоже ответы уже есть.
Страницы: 1
Наверх