Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Печать нескольких одинакових файлов из одного шаблона - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Печать нескольких одинакових файлов из одного шаблона
anger47 Дата: Четверг, 25.07.2013, 10:06 | Сообщение № 21
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 192
Репутация: 6 ±
Замечаний: 0% ±

Serge_007:
anger47, используйте соответствующие теги для оформления кода!

набирал текст в 04:35 утра по МСК, мог и ошибиться...
 
Ответить
Сообщение
Serge_007:
anger47, используйте соответствующие теги для оформления кода!

набирал текст в 04:35 утра по МСК, мог и ошибиться...

Автор - anger47
Дата добавления - 25.07.2013 в 10:06
anger47 Дата: Четверг, 25.07.2013, 10:22 | Сообщение № 22
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 192
Репутация: 6 ±
Замечаний: 0% ±

я думаю можно написать так:

if Rows(5) = hide then day1 =""
и дальше

if day1 = "" then Exit Sub
.

я только что написал это в программу и как бы работает и как бы нет=( пишет ошибку:

код такой: [vba]
Код
day24 = 28
If Rows(28) = Hide Then day24 = ""
If day24 = "" Then Exit Sub
[/vba]
не печатает страницу рядка 27, это иза парности Листов?
К сообщению приложен файл: 3709316.jpg (19.5 Kb) · 2049608.xlsm (91.6 Kb)


Сообщение отредактировал anger47 - Четверг, 25.07.2013, 10:25
 
Ответить
Сообщение
я думаю можно написать так:

if Rows(5) = hide then day1 =""
и дальше

if day1 = "" then Exit Sub
.

я только что написал это в программу и как бы работает и как бы нет=( пишет ошибку:

код такой: [vba]
Код
day24 = 28
If Rows(28) = Hide Then day24 = ""
If day24 = "" Then Exit Sub
[/vba]
не печатает страницу рядка 27, это иза парности Листов?

Автор - anger47
Дата добавления - 25.07.2013 в 10:22
anger47 Дата: Четверг, 25.07.2013, 12:32 | Сообщение № 23
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 192
Репутация: 6 ±
Замечаний: 0% ±

Хоть у кого-то есть какие-то идеи?
 
Ответить
СообщениеХоть у кого-то есть какие-то идеи?

Автор - anger47
Дата добавления - 25.07.2013 в 12:32
Wasilich Дата: Четверг, 25.07.2013, 13:11 | Сообщение № 24
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Ну и наворочено! Если бы еще и четко понимать задачу.
Что нужно то? Печатать путевой на какую то конкретную дату?
Или подряд с 5-й по 34-ю строку реестра? Или еще как то.
Задача решается с помощью ДВССЫЛ() и возможно макросом, строк 10-12 кода.
Только надо понять что надо.
 
Ответить
СообщениеНу и наворочено! Если бы еще и четко понимать задачу.
Что нужно то? Печатать путевой на какую то конкретную дату?
Или подряд с 5-й по 34-ю строку реестра? Или еще как то.
Задача решается с помощью ДВССЫЛ() и возможно макросом, строк 10-12 кода.
Только надо понять что надо.

Автор - Wasilich
Дата добавления - 25.07.2013 в 13:11
SkyPro Дата: Четверг, 25.07.2013, 13:23 | Сообщение № 25
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
If Rows(day24).EntireRow.Hidden = True Then
[/vba]


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Четверг, 25.07.2013, 13:24
 
Ответить
Сообщение[vba]
Код
If Rows(day24).EntireRow.Hidden = True Then
[/vba]

Автор - SkyPro
Дата добавления - 25.07.2013 в 13:23
M73568 Дата: Четверг, 25.07.2013, 13:24 | Сообщение № 26
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 197
Репутация: 46 ±
Замечаний: 0% ±

2007-2013
код такой:

[vba]
Код
day24 = 28
If Rows(28) = Hide Then day24 = ""
If day24 = "" Then Exit Sub
[/vba]

Немного длинновато wink
Вы сравниваете Row(28) которое имеет значение совсем не логическое с логическим значением(!!!). Ошибка так и пишет, если перевести на русский, то - "несоответствие типов". Вам надо сравнивать значение свойства Rows(28).Hidden = Hide
И если уж давать совсем правильный ответ, то выглядеть эти две строчки должны так
[vba]
Код
If Rows(28).Hidden Then Exit Sub
[/vba]
Одной строчкой, правда я совсем не понимаю зачем она там wacko

ЗЫ Давно не писал на VBA, но знающие люди меня поправят если что smile
 
Ответить
Сообщение
код такой:

[vba]
Код
day24 = 28
If Rows(28) = Hide Then day24 = ""
If day24 = "" Then Exit Sub
[/vba]

Немного длинновато wink
Вы сравниваете Row(28) которое имеет значение совсем не логическое с логическим значением(!!!). Ошибка так и пишет, если перевести на русский, то - "несоответствие типов". Вам надо сравнивать значение свойства Rows(28).Hidden = Hide
И если уж давать совсем правильный ответ, то выглядеть эти две строчки должны так
[vba]
Код
If Rows(28).Hidden Then Exit Sub
[/vba]
Одной строчкой, правда я совсем не понимаю зачем она там wacko

ЗЫ Давно не писал на VBA, но знающие люди меня поправят если что smile

Автор - M73568
Дата добавления - 25.07.2013 в 13:24
anger47 Дата: Четверг, 25.07.2013, 13:25 | Сообщение № 27
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 192
Репутация: 6 ±
Замечаний: 0% ±

Что нужно то? Печатать путевой на какую то конкретную дату?
Или подряд с 5-й по 34-ю строку реестра? Или еще как то.

По теории надо с 5-й по 34-ю строку реєстра, но это за условии 30-ти рабочих дней. В основном рабочих дней 20-25, поэтому лишние строки скрываются. И вот на данный момент надо как то показать (написать) что бы не печатались пустые строчки!
Если есть вариант с ДЫССЫЛ () с удовольствием погляжу.
 
Ответить
Сообщение
Что нужно то? Печатать путевой на какую то конкретную дату?
Или подряд с 5-й по 34-ю строку реестра? Или еще как то.

По теории надо с 5-й по 34-ю строку реєстра, но это за условии 30-ти рабочих дней. В основном рабочих дней 20-25, поэтому лишние строки скрываются. И вот на данный момент надо как то показать (написать) что бы не печатались пустые строчки!
Если есть вариант с ДЫССЫЛ () с удовольствием погляжу.

Автор - anger47
Дата добавления - 25.07.2013 в 13:25
anger47 Дата: Четверг, 25.07.2013, 13:26 | Сообщение № 28
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 192
Репутация: 6 ±
Замечаний: 0% ±

SkyPro, M73568, шас протестирую
 
Ответить
СообщениеSkyPro, M73568, шас протестирую

Автор - anger47
Дата добавления - 25.07.2013 в 13:26
anger47 Дата: Четверг, 25.07.2013, 13:31 | Сообщение № 29
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 192
Репутация: 6 ±
Замечаний: 0% ±

Ни
If Rows(28).Hidden Then Exit Sub
, ни
If Rows(day24).EntireRow.Hidden = True Then

Не работает( если можно закиньте в файл примера
 
Ответить
СообщениеНи
If Rows(28).Hidden Then Exit Sub
, ни
If Rows(day24).EntireRow.Hidden = True Then

Не работает( если можно закиньте в файл примера

Автор - anger47
Дата добавления - 25.07.2013 в 13:31
M73568 Дата: Четверг, 25.07.2013, 13:34 | Сообщение № 30
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 197
Репутация: 46 ±
Замечаний: 0% ±

2007-2013
Не работает( если можно закиньте в файл примера

Ваш пример у меня сам не совсем работает, но на печать выдаёт
К сообщению приложен файл: 2049608--.xlsm (79.7 Kb)
 
Ответить
Сообщение
Не работает( если можно закиньте в файл примера

Ваш пример у меня сам не совсем работает, но на печать выдаёт

Автор - M73568
Дата добавления - 25.07.2013 в 13:34
anger47 Дата: Четверг, 25.07.2013, 13:42 | Сообщение № 31
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 192
Репутация: 6 ±
Замечаний: 0% ±

M73568, на печать у меня тоже бросает, но минус в том что и данные с пустых строк тоже((( получается видает пустой шаблон. а я хотел бы, что бы если строка пустая, то печать прекращалась бы.
 
Ответить
СообщениеM73568, на печать у меня тоже бросает, но минус в том что и данные с пустых строк тоже((( получается видает пустой шаблон. а я хотел бы, что бы если строка пустая, то печать прекращалась бы.

Автор - anger47
Дата добавления - 25.07.2013 в 13:42
SkyPro Дата: Четверг, 25.07.2013, 13:50 | Сообщение № 32
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub podstav()
Dim day1&, day2&
Application.ScreenUpdating = False
day1 = 5
day2 = day1 + 2
For day1 = 5 To Sheets("Реєстр").UsedRange.Rows.Count ' Вместо Sheets("Реєстр").UsedRange.Rows.Count подставьте конечную строку. Вместо 5 начальную.
          If Sheets("Реєстр").Rows(day1).EntireRow.Hidden = True Then
              day1 = day1 + 1
              day2 = day1 + 2
          End If

        If Sheets("Реєстр").Cells(day1, 3).Value = "" Then Exit Sub ' Проверка на пустую ячейку в столбце С (даты)

              With Sheets("Путевой лист")
                  .[L5].Formula = "=Реєстр!E" & day2
                  .[J12].Formula = "=""Особливі відмітки: ""&Реєстр!J" & day2
                  .[H19].Formula = "=Реєстр!G" & day1
                  .[H20].Formula = "=Реєстр!H" & day1
                  .[H22].Formula = "=Реєстр!I" & day1
                  .[E27].Formula = "=Реєстр!D" & day1
                  .[E28].Formula = "=Реєстр!F" & day1
                  .[L41].Formula = "=Реєстр!E" & day1
                  .[J48].Formula = "=""Особливі відмітки: ""&Реєстр!J" & day1
                  .[H55].Formula = "=Реєстр!G" & day2
                  .[H56].Formula = "=Реєстр!H" & day2
                  .[H58].Formula = "=Реєстр!I" & day2
                  .[E63].Formula = "=Реєстр!D" & day2
                  .[E64].Formula = "=Реєстр!F" & day2
              End With

'Тут подставьте процедуру печати

day1 = day1 + 1
day2 = day1 + 2
Next
Application.ScreenUpdating = True
End Sub
[/vba]

Как-то так.

PS: добавил проверку на пустую ячейку.
PSPS: Были небольшие правки в коде.


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Четверг, 25.07.2013, 13:59
 
Ответить
Сообщение[vba]
Код
Sub podstav()
Dim day1&, day2&
Application.ScreenUpdating = False
day1 = 5
day2 = day1 + 2
For day1 = 5 To Sheets("Реєстр").UsedRange.Rows.Count ' Вместо Sheets("Реєстр").UsedRange.Rows.Count подставьте конечную строку. Вместо 5 начальную.
          If Sheets("Реєстр").Rows(day1).EntireRow.Hidden = True Then
              day1 = day1 + 1
              day2 = day1 + 2
          End If

        If Sheets("Реєстр").Cells(day1, 3).Value = "" Then Exit Sub ' Проверка на пустую ячейку в столбце С (даты)

              With Sheets("Путевой лист")
                  .[L5].Formula = "=Реєстр!E" & day2
                  .[J12].Formula = "=""Особливі відмітки: ""&Реєстр!J" & day2
                  .[H19].Formula = "=Реєстр!G" & day1
                  .[H20].Formula = "=Реєстр!H" & day1
                  .[H22].Formula = "=Реєстр!I" & day1
                  .[E27].Formula = "=Реєстр!D" & day1
                  .[E28].Formula = "=Реєстр!F" & day1
                  .[L41].Formula = "=Реєстр!E" & day1
                  .[J48].Formula = "=""Особливі відмітки: ""&Реєстр!J" & day1
                  .[H55].Formula = "=Реєстр!G" & day2
                  .[H56].Formula = "=Реєстр!H" & day2
                  .[H58].Formula = "=Реєстр!I" & day2
                  .[E63].Formula = "=Реєстр!D" & day2
                  .[E64].Formula = "=Реєстр!F" & day2
              End With

'Тут подставьте процедуру печати

day1 = day1 + 1
day2 = day1 + 2
Next
Application.ScreenUpdating = True
End Sub
[/vba]

Как-то так.

PS: добавил проверку на пустую ячейку.
PSPS: Были небольшие правки в коде.

Автор - SkyPro
Дата добавления - 25.07.2013 в 13:50
anger47 Дата: Четверг, 25.07.2013, 13:57 | Сообщение № 33
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 192
Репутация: 6 ±
Замечаний: 0% ±

SkyPro, шас проверю!
 
Ответить
СообщениеSkyPro, шас проверю!

Автор - anger47
Дата добавления - 25.07.2013 в 13:57
anger47 Дата: Четверг, 25.07.2013, 14:12 | Сообщение № 34
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 192
Репутация: 6 ±
Замечаний: 0% ±

SkyPro, проверил, все супер. и работает. Огромное спасибо, за труд.
Так сказать финальная версия:
К сообщению приложен файл: 3117440.xlsm (83.5 Kb)
 
Ответить
СообщениеSkyPro, проверил, все супер. и работает. Огромное спасибо, за труд.
Так сказать финальная версия:

Автор - anger47
Дата добавления - 25.07.2013 в 14:12
SkyPro Дата: Четверг, 25.07.2013, 14:36 | Сообщение № 35
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
В следующий раз не так размыто опишите задачу. Что бы не приходилось додумывать самому и потом по несколько раз переделывать.

ЗЫ: Прошу модераторов перенести тему в ВБА раздел форума.
Спасибо.


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Четверг, 25.07.2013, 14:37
 
Ответить
СообщениеВ следующий раз не так размыто опишите задачу. Что бы не приходилось додумывать самому и потом по несколько раз переделывать.

ЗЫ: Прошу модераторов перенести тему в ВБА раздел форума.
Спасибо.

Автор - SkyPro
Дата добавления - 25.07.2013 в 14:36
Serge_007 Дата: Четверг, 25.07.2013, 15:01 | Сообщение № 36
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
ТС изначально писал что ему всё-равно какими средствами будет решена его задача. В таких случаях темы находятся в ветке Вопросы по Excel


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеТС изначально писал что ему всё-равно какими средствами будет решена его задача. В таких случаях темы находятся в ветке Вопросы по Excel

Автор - Serge_007
Дата добавления - 25.07.2013 в 15:01
SkyPro Дата: Четверг, 25.07.2013, 15:04 | Сообщение № 37
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[offtop] ок ок.. понял.


skypro1111@gmail.com
 
Ответить
Сообщение[offtop] ок ок.. понял.

Автор - SkyPro
Дата добавления - 25.07.2013 в 15:04
Wasilich Дата: Пятница, 26.07.2013, 12:20 | Сообщение № 38
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Если есть вариант с ДЫССЫЛ () с удовольствием погляжу

С удовольствием покажу. Хоть и опоздал. А может кому и пригодится.
Макрос, в ячейке А1 ставит № начиная с 5 по 34, пропуская № строки, какой то пустой ячейки, (я взял для примера столбец Е). Так вот, этот № используется в ссылке на ячейку реестра, например:- В73
Код
=ДВССЫЛ("Реєстр!C" & A1 )
и так в остальных.
А код - десяток примитивных строк.
К сообщению приложен файл: 7555546.rar (45.9 Kb)


Сообщение отредактировал Wasilic - Пятница, 26.07.2013, 12:23
 
Ответить
Сообщение
Если есть вариант с ДЫССЫЛ () с удовольствием погляжу

С удовольствием покажу. Хоть и опоздал. А может кому и пригодится.
Макрос, в ячейке А1 ставит № начиная с 5 по 34, пропуская № строки, какой то пустой ячейки, (я взял для примера столбец Е). Так вот, этот № используется в ссылке на ячейку реестра, например:- В73
Код
=ДВССЫЛ("Реєстр!C" & A1 )
и так в остальных.
А код - десяток примитивных строк.

Автор - Wasilich
Дата добавления - 26.07.2013 в 12:20
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!