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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос поиска самой нижней заполненной любым текстом строки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос поиска самой нижней заполненной любым текстом строки (Макросы/Sub)
Макрос поиска самой нижней заполненной любым текстом строки
Yar4i4 Дата: Пятница, 12.02.2016, 12:40 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Добрый день!
Нужен макрос позволяющий найти самую нижнюю строку в документе, которая содержит любой текст (символы).
Далее переместится на три строки ниже и в первой ячейке (этой строки) добавить текст:

Длина документа разная - неизвестна, но всегда в страничном режиме она окантована синей границей (областью печати).

На примере вложенного файла Excel:
1. найти самую нижнюю строку содержащую любой текст (в данном примере это строка 34).
2. проследовать на три строки вниз (строка 37) и в первой ячейке этой строки (A37) внести текст "Исполнитель"
3. проследовать на две строки вниз (39) и в первой ячейке (A39) внести текст "Проверил"
К сообщению приложен файл: __.xlsx(12Kb)
 
Ответить
СообщениеДобрый день!
Нужен макрос позволяющий найти самую нижнюю строку в документе, которая содержит любой текст (символы).
Далее переместится на три строки ниже и в первой ячейке (этой строки) добавить текст:

Длина документа разная - неизвестна, но всегда в страничном режиме она окантована синей границей (областью печати).

На примере вложенного файла Excel:
1. найти самую нижнюю строку содержащую любой текст (в данном примере это строка 34).
2. проследовать на три строки вниз (строка 37) и в первой ячейке этой строки (A37) внести текст "Исполнитель"
3. проследовать на две строки вниз (39) и в первой ячейке (A39) внести текст "Проверил"

Автор - Yar4i4
Дата добавления - 12.02.2016 в 12:40
Wasilich Дата: Пятница, 12.02.2016, 13:07 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 855
Репутация: 220 ±
Замечаний: 0% ±

2003
найти самую нижнюю строку

(A37) внести текст "Исполнитель"

(A39) внести текст "Проверил"

[vba]
Код
Sub www()
  s = Range("A" & Rows.Count).End(xlUp).Row
  Cells(s + 3, 1) = "Исполнитель"
  Cells(s + 5, 1) = "Проверил"
End Sub
[/vba]
 
Ответить
Сообщение
найти самую нижнюю строку

(A37) внести текст "Исполнитель"

(A39) внести текст "Проверил"

[vba]
Код
Sub www()
  s = Range("A" & Rows.Count).End(xlUp).Row
  Cells(s + 3, 1) = "Исполнитель"
  Cells(s + 5, 1) = "Проверил"
End Sub
[/vba]

Автор - Wasilich
Дата добавления - 12.02.2016 в 13:07
Yar4i4 Дата: Пятница, 12.02.2016, 13:38 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Wasilic, Спасибо огромное - оно работает!!!
Я восхищён, тем, что происходит на этом форуме.
Вы чудеса творите.
Вы молодцы.

Попытался отредактировать ячейки со вставленными "Исполнитель Проверил" (выровнять по левому краю), но не знаю как и к чему привязаться.


Сообщение отредактировал Yar4i4 - Пятница, 12.02.2016, 14:07
 
Ответить
СообщениеWasilic, Спасибо огромное - оно работает!!!
Я восхищён, тем, что происходит на этом форуме.
Вы чудеса творите.
Вы молодцы.

Попытался отредактировать ячейки со вставленными "Исполнитель Проверил" (выровнять по левому краю), но не знаю как и к чему привязаться.

Автор - Yar4i4
Дата добавления - 12.02.2016 в 13:38
al-Ex Дата: Пятница, 12.02.2016, 14:43 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 53 ±
Замечаний: 20% ±

Excel 2010
оно работает!!!

:)
 
Ответить
Сообщение
оно работает!!!

:)

Автор - al-Ex
Дата добавления - 12.02.2016 в 14:43
Wasilich Дата: Пятница, 12.02.2016, 15:02 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 855
Репутация: 220 ±
Замечаний: 0% ±

2003
выровнять по левому краю
А обязательно вставлять в 1-ю колонку? В ней просто установлено выравнивание по центру. Вставьте во 2-ю колонку, в ней по левому. Пусть будет с небольшим отступом от края листа, заменив в макросе 1 на 2. Иначе, при смене количества строк в таблице, в 1-й колонке придется корректировать выравнивание по центру.
[vba]
Код
Cells(s + 3, 2) = "Исполнитель"
Cells(s + 5, 2) = "Проверил"
[/vba]Ну уж если сильно надо, то добавьте еще две строчки
[vba]
Код
Cells(s + 3, 1).HorizontalAlignment = xlLeft
Cells(s + 5, 1).HorizontalAlignment = xlLeft
[/vba]
 
Ответить
Сообщение
выровнять по левому краю
А обязательно вставлять в 1-ю колонку? В ней просто установлено выравнивание по центру. Вставьте во 2-ю колонку, в ней по левому. Пусть будет с небольшим отступом от края листа, заменив в макросе 1 на 2. Иначе, при смене количества строк в таблице, в 1-й колонке придется корректировать выравнивание по центру.
[vba]
Код
Cells(s + 3, 2) = "Исполнитель"
Cells(s + 5, 2) = "Проверил"
[/vba]Ну уж если сильно надо, то добавьте еще две строчки
[vba]
Код
Cells(s + 3, 1).HorizontalAlignment = xlLeft
Cells(s + 5, 1).HorizontalAlignment = xlLeft
[/vba]

Автор - Wasilich
Дата добавления - 12.02.2016 в 15:02
Yar4i4 Дата: Пятница, 12.02.2016, 15:29 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
сильно надо

Спасибо.
Всё работает.
 
Ответить
Сообщение
сильно надо

Спасибо.
Всё работает.

Автор - Yar4i4
Дата добавления - 12.02.2016 в 15:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос поиска самой нижней заполненной любым текстом строки (Макросы/Sub)
Страница 1 из 11
Поиск:

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