Добрый вечер! Помогите пожалуйста... Есть таблица с большим количеством строк. Необходимо в конце каждой строчки создать гиперссылку для перехода на один из соседних листов (диплом или сертификат) в зависимости от значения последнего столбца, при чем при переходе в ячейку номер диплома возвращалось значение первого столбца таблицы на листе 1 (т.е. порядковый номер). и потом эта станица экспортировалась в PDF с названием файла - порядковый номер... пробовала через макросы, выдает ошибку Возможно ли это??? Помогите пожалуйста
Добрый вечер! Помогите пожалуйста... Есть таблица с большим количеством строк. Необходимо в конце каждой строчки создать гиперссылку для перехода на один из соседних листов (диплом или сертификат) в зависимости от значения последнего столбца, при чем при переходе в ячейку номер диплома возвращалось значение первого столбца таблицы на листе 1 (т.е. порядковый номер). и потом эта станица экспортировалась в PDF с названием файла - порядковый номер... пробовала через макросы, выдает ошибку Возможно ли это??? Помогите пожалуйста Katerinka_2016
я не понял зачем здесь гиперссылка? Попробуйте код:
Sub d() Dim shN$, i&, n$, c As Range For Each c In Selection.Rows
shN = Cells(c.Row, "e"): i = Cells(c.Row, "a")
n = ActiveWorkbook.Path & "\" & i & "_" & shN & ".pdf" With Sheets(shN) If shN = "диплом"Then .Range("K10") = i Else .Range("g7") = i
.Calculate
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=n, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=0 EndWith Next EndSub
Работает так выделяете те ячейки по которым нужно создать пдфки и жмете кнопку
я не понял зачем здесь гиперссылка? Попробуйте код:
Sub d() Dim shN$, i&, n$, c As Range For Each c In Selection.Rows
shN = Cells(c.Row, "e"): i = Cells(c.Row, "a")
n = ActiveWorkbook.Path & "\" & i & "_" & shN & ".pdf" With Sheets(shN) If shN = "диплом"Then .Range("K10") = i Else .Range("g7") = i
.Calculate
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=n, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=0 EndWith Next EndSub
Работает так выделяете те ячейки по которым нужно создать пдфки и жмете кнопкуSLAVICK
SLAVICK, ааа.... я вообще затупок надо назначить на эту кнопку макрос с кодом который вы написали? а потом выделить всю строку и нажать на кнопку? и открывается ли тогда сразу этот пдфный файл?
Спасибо вам за помощь на самом деле я только начинаю осваивать макросы
SLAVICK, ааа.... я вообще затупок надо назначить на эту кнопку макрос с кодом который вы написали? а потом выделить всю строку и нажать на кнопку? и открывается ли тогда сразу этот пдфный файл?
Спасибо вам за помощь на самом деле я только начинаю осваивать макросы Katerinka_2016
Нет - специально так сделал, если много документов делать - будет куча открытых ПДФ. Если нужно, чтоб открывались - замените OpenAfterPublish:=0 на OpenAfterPublish:=1
Нет - специально так сделал, если много документов делать - будет куча открытых ПДФ. Если нужно, чтоб открывались - замените OpenAfterPublish:=0 на OpenAfterPublish:=1SLAVICK
SLAVICK, Дело в том, я совсем не понимаю этот язык программирования и не могу ничего поменять. А в моей таблице больше столбцов, и задача усложняется тем, что диплом будет трех степеней - I, II, III. Плюс сертификат и благодарственное письмо педагогу. Итого сводная и 5 листов.
Думала, что по вашему примеру смогу настроить свою таблицу, но не так все просто
SLAVICK, Дело в том, я совсем не понимаю этот язык программирования и не могу ничего поменять. А в моей таблице больше столбцов, и задача усложняется тем, что диплом будет трех степеней - I, II, III. Плюс сертификат и благодарственное письмо педагогу. Итого сводная и 5 листов.
Думала, что по вашему примеру смогу настроить свою таблицу, но не так все просто Katerinka_2016
Из таблицы сложно понять когда какой документ создавать. Добавил в таблицу две колонки: Название листа с документом: Ячейка в которой нужно менять данные. Будет проще и Вам и мне. см. файл - там вроде все понятно.
Sub d() Dim shN$, i&, n$, c As Range, adr$
Application.ScreenUpdating = False For Each c In Selection.Rows
shN = Cells(c.Row, "s") ' имя листа
i = Cells(c.Row, "a") ' Номер документа
adr = Cells(c.Row, "t") ' Адрес ячейки изменения
n = ActiveWorkbook.Path & "\" & i & "_" & shN & ".pdf"' имя документа With Sheets(shN)
.Range(adr) = i
.Calculate
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=n, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=0 EndWith Next
Application.ScreenUpdating = True EndSub
Из таблицы сложно понять когда какой документ создавать. Добавил в таблицу две колонки: Название листа с документом: Ячейка в которой нужно менять данные. Будет проще и Вам и мне. см. файл - там вроде все понятно.
Sub d() Dim shN$, i&, n$, c As Range, adr$
Application.ScreenUpdating = False For Each c In Selection.Rows
shN = Cells(c.Row, "s") ' имя листа
i = Cells(c.Row, "a") ' Номер документа
adr = Cells(c.Row, "t") ' Адрес ячейки изменения
n = ActiveWorkbook.Path & "\" & i & "_" & shN & ".pdf"' имя документа With Sheets(shN)
.Range(adr) = i
.Calculate
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=n, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=0 EndWith Next
Application.ScreenUpdating = True EndSub
SLAVICK, Да, вы правы! Не понятно поставлена задача. Если в столбце "Степень" указано значение I, то создаем документ Лист!'I степень' (ячейка AL12); значение II - документ Лист!'II степень' (ячейка AL12); значение III - Лист!'III степень' (ячейка AL12); значение Участие - Лист!'Сертификат' (ячейка Т9)
SLAVICK, Да, вы правы! Не понятно поставлена задача. Если в столбце "Степень" указано значение I, то создаем документ Лист!'I степень' (ячейка AL12); значение II - документ Лист!'II степень' (ячейка AL12); значение III - Лист!'III степень' (ячейка AL12); значение Участие - Лист!'Сертификат' (ячейка Т9)Katerinka_2016
Сообщение отредактировал Katerinka_2016 - Понедельник, 01.02.2016, 22:13
SLAVICK, Еще вопрос... возможно ли при нажатии на кнопку "Сохранить документ", в случае если столбец "Педагог" в этой строке заполнен, то формируется два документа: диплом или сертификат и благодарственное письмо (Лист!'БП', ячейка Y15). ну и также открытие этих файлов.
SLAVICK, Еще вопрос... возможно ли при нажатии на кнопку "Сохранить документ", в случае если столбец "Педагог" в этой строке заполнен, то формируется два документа: диплом или сертификат и благодарственное письмо (Лист!'БП', ячейка Y15). ну и также открытие этих файлов.Katerinka_2016
SLAVICK, а если в столбце "Степень" сразу прописывать "I степень, II степень, III степень, Сертификат", можно обойтись без вспомогательных ячеек справа?
SLAVICK, а если в столбце "Степень" сразу прописывать "I степень, II степень, III степень, Сертификат", можно обойтись без вспомогательных ячеек справа?Katerinka_2016
SLAVICK, Я имела в виду расположение ячейки AL12 на самом дипломе, т.е. вкладка "I степень" др. Через месяц планируется другой конкурс, там будут дипломы с книжной ориентацией страницы, соответственно номер переместится.
SLAVICK, Я имела в виду расположение ячейки AL12 на самом дипломе, т.е. вкладка "I степень" др. Через месяц планируется другой конкурс, там будут дипломы с книжной ориентацией страницы, соответственно номер переместится.Katerinka_2016