Доброго дня всем. Прошу помочь разобраться, что конкретно делает каждый метод свойство или объект в командной строчке кода VBA. [vba]
Код
Cells(Rows.Count, "R").End(xlUp).Row
[/vba] То, что делает эта строчка вообще - понятно. Но как из всех "кирпичиков", которые составляют эту строчку получается то, что она делает, а также назначение каждого "кирпичика" - непонятно. Также непонятно назначение двух "кирпичиков": "Rows.Count" Спасибо _______________ Юрий. что конкретно делает каждый метод свойство или объект в командной строчке кода VBA.
Доброго дня всем. Прошу помочь разобраться, что конкретно делает каждый метод свойство или объект в командной строчке кода VBA. [vba]
Код
Cells(Rows.Count, "R").End(xlUp).Row
[/vba] То, что делает эта строчка вообще - понятно. Но как из всех "кирпичиков", которые составляют эту строчку получается то, что она делает, а также назначение каждого "кирпичика" - непонятно. Также непонятно назначение двух "кирпичиков": "Rows.Count" Спасибо _______________ Юрий. что конкретно делает каждый метод свойство или объект в командной строчке кода VBA.Юрий_Нд
Сообщение отредактировал Юрий_Нд - Вторник, 11.09.2018, 08:27
1. Rows - строчки на листе 2. Rows.Count - Строчки.Количество - кол-во строк на листе. Для Excel 2007 и больше - 1048576 3. Cells(Rows.Count, "R") - ячейка R1048576 4. Cells(Rows.Count, "R").End(xlUp) - как бы находясь (не на самом деле, виртуально) в ячейке R1048576, нажимаем Контрл+СтрелкаВверх. Попадаем в первую снизу заполненную ячейку (или, если в столбце R есть умная или сводная таблицы, то в последнюю строку этой таблицы, или, если столбец R не заполнен вообще, то в ячейку R1) 5. Cells(Rows.Count, "R").End(xlUp).Row - п.4.Строка - номер этой строки
1. Rows - строчки на листе 2. Rows.Count - Строчки.Количество - кол-во строк на листе. Для Excel 2007 и больше - 1048576 3. Cells(Rows.Count, "R") - ячейка R1048576 4. Cells(Rows.Count, "R").End(xlUp) - как бы находясь (не на самом деле, виртуально) в ячейке R1048576, нажимаем Контрл+СтрелкаВверх. Попадаем в первую снизу заполненную ячейку (или, если в столбце R есть умная или сводная таблицы, то в последнюю строку этой таблицы, или, если столбец R не заполнен вообще, то в ячейку R1) 5. Cells(Rows.Count, "R").End(xlUp).Row - п.4.Строка - номер этой строки_Boroda_
Борода, Большое спасибо за подсказку и за науку. Это именно то, что я и просил. Если Вы не возражаете, обращаюсь ко Всем и прошу также детально расшифровать следующую команду:
[vba]
Код
Set FoundTable = Columns("A:N").Find(Cells(j, "R"), , xlValues, xlWhole)
[/vba] Насколько я понимаю, 1. Columns("A:N") - в колонках от A до N; 2. Find(Cells(j, "R") - найти (обязательный параметр) значение, содержащееся в ячейке с адресом Rj. 3. , , - ... прошу продолжить ... 4. xlValues, - ... прошу продолжить ... 5. xlWhole - ... прошу продолжить ... 6. Columns("A:N").Find(Cells(j, "R"), , xlValues, xlWhole) - (чисто фантазирую) в результате выполнения этой команды, мы находим адрес ячейки, содержащей значение Find(Cells(j, "R"). 7. Set FoundTable = - найденный адрес ячейки по команде Columns("A:N").Find(Cells(j, "R"), , xlValues, xlWhole) присваивается переменной FoundTable.
Спасибо ____________ Юрий. п.с. Еще бы хотелось найти ссылку поддержки Microsoft, где дается определение всем xlValues, xlWhole и другим xl... .
Борода, Большое спасибо за подсказку и за науку. Это именно то, что я и просил. Если Вы не возражаете, обращаюсь ко Всем и прошу также детально расшифровать следующую команду:
[vba]
Код
Set FoundTable = Columns("A:N").Find(Cells(j, "R"), , xlValues, xlWhole)
[/vba] Насколько я понимаю, 1. Columns("A:N") - в колонках от A до N; 2. Find(Cells(j, "R") - найти (обязательный параметр) значение, содержащееся в ячейке с адресом Rj. 3. , , - ... прошу продолжить ... 4. xlValues, - ... прошу продолжить ... 5. xlWhole - ... прошу продолжить ... 6. Columns("A:N").Find(Cells(j, "R"), , xlValues, xlWhole) - (чисто фантазирую) в результате выполнения этой команды, мы находим адрес ячейки, содержащей значение Find(Cells(j, "R"). 7. Set FoundTable = - найденный адрес ячейки по команде Columns("A:N").Find(Cells(j, "R"), , xlValues, xlWhole) присваивается переменной FoundTable.
Спасибо ____________ Юрий. п.с. Еще бы хотелось найти ссылку поддержки Microsoft, где дается определение всем xlValues, xlWhole и другим xl... .Юрий_Нд
Сообщение отредактировал Юрий_Нд - Среда, 12.09.2018, 09:06
3, 4, 5 - запишите макрорекодером процесс поиска через Контрл F, попробуйте записать поиск с разными параметрами и все сразу понятно станет 6. как раз этот самый поиск и есть. Результатом является не имя ячейки, а сама найденная ячейка 7. не имя ячейки присваивается, а сама ячейка. То есть FoundTable - это теперь не просто переменная, а именно ячейка и работать с ней нужно как с ячейкой, как если бы Вы работали, например, с Range("A1"). Где-то выше по идее должно быть написано [vba]
Код
Dim FoundTable As Range
[/vba] - как раз речь о том, что FoundTable - переменная типа Range
3, 4, 5 - запишите макрорекодером процесс поиска через Контрл F, попробуйте записать поиск с разными параметрами и все сразу понятно станет 6. как раз этот самый поиск и есть. Результатом является не имя ячейки, а сама найденная ячейка 7. не имя ячейки присваивается, а сама ячейка. То есть FoundTable - это теперь не просто переменная, а именно ячейка и работать с ней нужно как с ячейкой, как если бы Вы работали, например, с Range("A1"). Где-то выше по идее должно быть написано [vba]
Код
Dim FoundTable As Range
[/vba] - как раз речь о том, что FoundTable - переменная типа Range_Boroda_
_Boroda_, у меня тут есть идея переименовать эту тему во что-то вроде "Что значит эта строка кода?" и закрепить. Ибо тема для новичков полезная и потенциально безразмерная...
_Boroda_, у меня тут есть идея переименовать эту тему во что-то вроде "Что значит эта строка кода?" и закрепить. Ибо тема для новичков полезная и потенциально безразмерная...StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.