end xlup



Rows count в vba

Автор Вячеслав Заболотный задал вопрос в разделе Другие языки и технологии

Помогите подправить код в VBA и получил лучший ответ

Ответ от Ўля Павлова[гуру]
При отладке желательно непонятные детали распечатывать в Debug.Print (окно ниже текста макроса) или в MsgBox.
И не бойтесь менять хотя бы некоторые параметры, тогда скорее поймёте, что к чему.
MsgBox " 1-ый Ок" можно вставлять между некоторыми операторами, чтобы убедиться, что макрос выполнен до этого места без ошибок, а ошибка, если случилась, ниже. Или пользоваться методами отладки.
Ясно, что строка - это диапазон ячеек Range([a4], [e4]).
mRng.Copy Это метод применяемый к объекту.
Остальное дальше - это адрес, куда копируется.
"Sheet2" - это постоянное (до переименования) имя листа на вкладке. Не путать с Sheets(2) это лист второй вкладки книги, считая слева направо, независимо от того, какое имя и когда он создан.
Именно сейчас он второй, и этом всё сказано.
Если лист переместить в ряду или удалить, другой может стать вторым, если если листов больше одного.
mRng.Copy обращается целиком к объекту, ничего в нём не детализируя.
к отдельной ячейке обращается точно также, в методе Copy работает метод Range.
А вот отдельные свойства уже можно извлечь по разному, запоминая в переменную
x=Range(a4).Value
x=Range(a4).Address
x=Range(a4).Formula
и делать с ними что хочешь.
Если лень возиться с мелочами, копируешь всё сразу, логично?
Адрес результата программа выбирает хитро. Вначале она захватывает все строки
начиная с первой до последней, на которой когда-то побывал курсор или вводились данные, хранящейся в счетчике Rows.Count .
Cells(Rows.Count, 1)
затем снизу вверх ищет самую нижнюю из заполненных строк .End (xlUp)
и затем делает отступ вниз на одну строку
.Offset(1, 0)
То есть результат заносится на строку ниже прежнего содержимого листа.
Если же лист был пуст или только первая строка была занята, то результат будет на второй строке.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Помогите подправить код в VBA
спросили в Selection
Excel, VBA
Объект Selection.
Количество столбцов - Selection.Columns.Count
Количество строк -
подробнее...

Подскажите как можно в Excel организовать сохранение листа в отдельный файл?
Скрипт можно написать, только задача не вполне ясна. На листе кнопка, при нажатии которой этот лист
подробнее...

Запросы в Excel
Извините, кажется, я не туда попала. Это так
подробнее...

Внесение значений в ячейки через цикл For в vba Excel
что за "ЯчейкаА"? это как понимать?
где объявление i?
а как нужно?
хоть с
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Selection
нужна помощь.(VBA Excel)
Dim R As Range Описание переменной R
+-With ActiveSheet в активном листе
| Set R =
подробнее...
спросили в Строки
Как в Excel'е (2010) вставить строки после каждой строки в выбранном диапазоне?
Можно задачу решить макросом
Разрешаем выполнение макросов Сервис -> Макрос ->
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*