Добрый день, уважаемые знатоки excel, У меня такой вопрос - возможно ли в эксель ввести колонтитул из нескольких строк в правую часть, но выравнивание сделать по левому краю. Например такие слова:
Вася Петрович Висилиса
Если с помощью кода сделать возможно, то пожалуйста выложите строки кода. Если же невозможно, то посоветуйте как быть. Вставка скриншота очень понижает качество при печати, так как ниже колонтитула идет таблица набранная с четким шрифтом, а скриншот расплывчат получается (не сильно, но заметно в сравнении). Спасибо за помощь.
Добрый день, уважаемые знатоки excel, У меня такой вопрос - возможно ли в эксель ввести колонтитул из нескольких строк в правую часть, но выравнивание сделать по левому краю. Например такие слова:
Вася Петрович Висилиса
Если с помощью кода сделать возможно, то пожалуйста выложите строки кода. Если же невозможно, то посоветуйте как быть. Вставка скриншота очень понижает качество при печати, так как ниже колонтитула идет таблица набранная с четким шрифтом, а скриншот расплывчат получается (не сильно, но заметно в сравнении). Спасибо за помощь.grh1
[/vba] То есть мы программно добавляем справа от текста неразрывные пробелы, их количество зависит от длины текста ВАЖНО! Шрифт должен быть моноширинным. В примере это Courier. Можно Consolas или Aptos Mono или любой другой МОНОШИРИННЫЙ шрифт. 10 - это размер шрифта, тоже можно изменить 30 - это кол-во символов от правого края листа, тоже можно изменить, но без фанатизма, т.к. есть ограничение на общую длину строки
Здравствуйте. Встроенного такого инструмента нет. Можно попробовать такой код [vba]
[/vba] То есть мы программно добавляем справа от текста неразрывные пробелы, их количество зависит от длины текста ВАЖНО! Шрифт должен быть моноширинным. В примере это Courier. Можно Consolas или Aptos Mono или любой другой МОНОШИРИННЫЙ шрифт. 10 - это размер шрифта, тоже можно изменить 30 - это кол-во символов от правого края листа, тоже можно изменить, но без фанатизма, т.к. есть ограничение на общую длину строкиPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Pelena, добрый день Экспериментирую с Вашим кодом, так как мне нужен только Verdana шрифт... Подгоняю изменяя значение "30" +/- 1-2 пункта. К сожалению немного не хватает точности. Если бы можно было поставить например 30.5 или 30.6 или 29.3 было бы отлично, но эксель принимает только точное (не дробное) число. По результатам - сообщу. Спасибо за помощь.
Pelena, добрый день Экспериментирую с Вашим кодом, так как мне нужен только Verdana шрифт... Подгоняю изменяя значение "30" +/- 1-2 пункта. К сожалению немного не хватает точности. Если бы можно было поставить например 30.5 или 30.6 или 29.3 было бы отлично, но эксель принимает только точное (не дробное) число. По результатам - сообщу. Спасибо за помощь.grh1
Pelena, все подгоняется хорошо, но возник вопрос - например слово "Василиса" нужно опустить на одну строку ниже и сделать размер шрифта 13. Мне создать новую тему или знатоки могут здесь ответить? Спасибо за ответ.
Pelena, все подгоняется хорошо, но возник вопрос - например слово "Василиса" нужно опустить на одну строку ниже и сделать размер шрифта 13. Мне создать новую тему или знатоки могут здесь ответить? Спасибо за ответ.grh1
для перевода строки используйте ещё один Chr(10). Как изменить шрифт, я писала выше. Но надо учесть, что при изменении размера шрифта размер пробелов тоже меняется, придется подгонять заново. [vba]
[/vba] либо попробовать размер пробелов не менять, но без подгонки всё равно не обойтись [vba]
Код
"&""Courier""&13" & t3 & "&""Courier""&10" & WorksheetFunction.Rept(Chr(160), totalcount - Len(t3))
[/vba]
для перевода строки используйте ещё один Chr(10). Как изменить шрифт, я писала выше. Но надо учесть, что при изменении размера шрифта размер пробелов тоже меняется, придется подгонять заново. [vba]
Pelena, через totalcount вообще стало супер - теперь не нужно подгонять по размеру слова. Единственное - если вместо t3 например создать переменную [vba]
[/vba] то последняя строчка в коде будет: "&""Courier""&13" & dt & WorksheetFunction.Rept(Chr(160), totalcount - Len(t3))
Правильно я понимаю или ошибаюсь? (Последняя 4 строка - это сегодняшняя дата должна быть).
Pelena, через totalcount вообще стало супер - теперь не нужно подгонять по размеру слова. Единственное - если вместо t3 например создать переменную [vba]
Pelena, я по ходу вообще затупил... Не получается вставить вместо t7 сегодняшнюю дату 13 шрифтом. То становится дата гигантской (одна буква на половину листа), то ошибка вылетает. Плюс у меня таблица загруженная с файла CSV и ее постоянно нужно отодвигать на 7-9 строк вниз, чтобы видеть колонтитул. Прям замучился с этим колонтитулом. Помогите с датой пожалуйста. Файл прикрепляю
Pelena, я по ходу вообще затупил... Не получается вставить вместо t7 сегодняшнюю дату 13 шрифтом. То становится дата гигантской (одна буква на половину листа), то ошибка вылетает. Плюс у меня таблица загруженная с файла CSV и ее постоянно нужно отодвигать на 7-9 строк вниз, чтобы видеть колонтитул. Прям замучился с этим колонтитулом. Помогите с датой пожалуйста. Файл прикрепляюgrh1
Pelena, спасибо большое. И последний вопрос - никак нельзя кодом сделать так, чтобы колонтитул был только на первом листе? Спасибо большое за помощь.
Pelena, спасибо большое. И последний вопрос - никак нельзя кодом сделать так, чтобы колонтитул был только на первом листе? Спасибо большое за помощь.grh1
а зачем тогда вообще колонтитул? Проще вывести нужный текст в ячейках перед таблицей. Нет?
у меня есть ОСНОВНОЙ макрос, который преобразовывает файл CSV в нужный мне вид. Для печати нехватает только шапки к этой таблице, вот и хочу автоматизировать и этот процесс, чтобы создавалась шапка в виде колонтитула, так как шапка будет сложная - в колонтитуле СЛЕВА СВЕРХУ небольшой скриншот эмблемы предприятия, ниже в этом же блоке пять строк текста размером 12, а потом заполняю блок СПРАА СВЕРХУ (который Вы сделали), но шрифт 9. Если удастся создать макросом такую шапку, то к основному своему макросу хотелось бы прикрутить и это... Понимаю, что как-то мудрёно получается - пишу эти строки, а сам себе думаю: "а не дурак ли я?" Ну уже пробую, а там как получится. Может действительно проще сделать шабку НАДПИСЬЮ, да не морочить ни себе ни людям голову. Но в любом случае спасибо за помощь. Всего доброго и хорошего Вам. Спокойной ночи. Тему закрываем.
а зачем тогда вообще колонтитул? Проще вывести нужный текст в ячейках перед таблицей. Нет?
у меня есть ОСНОВНОЙ макрос, который преобразовывает файл CSV в нужный мне вид. Для печати нехватает только шапки к этой таблице, вот и хочу автоматизировать и этот процесс, чтобы создавалась шапка в виде колонтитула, так как шапка будет сложная - в колонтитуле СЛЕВА СВЕРХУ небольшой скриншот эмблемы предприятия, ниже в этом же блоке пять строк текста размером 12, а потом заполняю блок СПРАА СВЕРХУ (который Вы сделали), но шрифт 9. Если удастся создать макросом такую шапку, то к основному своему макросу хотелось бы прикрутить и это... Понимаю, что как-то мудрёно получается - пишу эти строки, а сам себе думаю: "а не дурак ли я?" Ну уже пробую, а там как получится. Может действительно проще сделать шабку НАДПИСЬЮ, да не морочить ни себе ни людям голову. Но в любом случае спасибо за помощь. Всего доброго и хорошего Вам. Спокойной ночи. Тему закрываем.grh1
Дело в том, что сделать колонтитул только на первой странице можно. Достаточно в коде заменить [vba]
Код
.RightHeader =
[/vba] на [vba]
Код
.FirstPage.RightHeader.Text =
[/vba] а вот верхнее поле, которое я сделала 4 см, будет действовать на все листы. Тогда придётся поле уменьшать, а таблицу на первом листе сдвигать вниз. Решайте, что Вам проще реализовать
Дело в том, что сделать колонтитул только на первой странице можно. Достаточно в коде заменить [vba]
Код
.RightHeader =
[/vba] на [vba]
Код
.FirstPage.RightHeader.Text =
[/vba] а вот верхнее поле, которое я сделала 4 см, будет действовать на все листы. Тогда придётся поле уменьшать, а таблицу на первом листе сдвигать вниз. Решайте, что Вам проще реализоватьPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Тогда придётся поле уменьшать, а таблицу на первом листе сдвигать вниз.
Да получается уж совсем муторно... Овчинка выделки наверно не стоит. Буду думать... если что, то обращусь к Вам за помощью (с Вашего разрешения конечно). Всего доброго Вам. И еще раз спасибо.
Pelena, спасибо за эту .FirstPage.RightHeader.Text = подсказку.
Тогда придётся поле уменьшать, а таблицу на первом листе сдвигать вниз.
Да получается уж совсем муторно... Овчинка выделки наверно не стоит. Буду думать... если что, то обращусь к Вам за помощью (с Вашего разрешения конечно). Всего доброго Вам. И еще раз спасибо.grh1