Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
3 / 2 / 1
Регистрация: 13.05.2014
Сообщений: 156

Как программно протянуть ВПР по столбцу, чтобы высота этого столбца равнялась высоте другого?

08.08.2014, 12:19. Показов 2680. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Опять у меня возник затык... суть в том что нужно сделать две переменные, но одна из них зависит от другой... порыскал по книге как это сделать, понял что нужно одну из переменных объявить как public, однако, не нашёл как это сделать гугление тоже ничего дельного не дало...
кривокод ниже:
Visual Basic
1
2
3
4
5
6
7
Dim NextRow1 As Long
NextRow1 = Range("e65536").End(xlUp).Row + 1
Cells(NextRow1, 5).Select
 
Dim zap As Long
zap = Sheets("Лист2").Range("nextrow1").CurrentRegion.Rows.Count
Range("nextrow1").AutoFill Destination:=Range("nextrow1:e" & zap), Type:=xlFillDefault
суть кода: код вычисляет последнюю заполненную ячейку по столбцу Е и выделяет её, в ней будет прописан ВПР, затем этот ВПР протягивается вниз до последней заполненной ячейки по столбцу А.

Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.08.2014, 12:19
Ответы с готовыми решениями:

Vba протянуть формулу по столбцу С до последней ячейки по столбцу D
всем доброго времени суток Уважаемые профи,подскажите,пожалуйста, такой вопрос: в ячейке С1 имеется формула =ТЕКСТ($D1;"ДД.ММ.ГГГГ...

Как протянуть формулу, ориентируясь на количество строк левого столбца
Такая проблема, есть столбец А, в него начиная с А2 поступают данные, в В2 вписана формула, которую нужно протянуть вниз до последней...

Как протянуть данные, чтобы получить ответ
Добрый день, помогите, пожалуйста. В Колонке G есть ответ, который вычисляет среднее значение из колонки А. Хотел бы в будущем,...

11
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
08.08.2014, 12:35
Бррр...
Лучше бы файл показали. Лучше специально сделанный - не нужны мегабайты данных.
Вообще проблемы нет - нашли одну последнюю ячейку, нашли вторую, протянули от одной строки до второй. И без никаких выделений...
Думаю весь код может быть в одной строке и без всяких переменных.
0
3 / 2 / 1
Регистрация: 13.05.2014
Сообщений: 156
08.08.2014, 12:38  [ТС]
логично, но чё-т я не совсем понимаю как протянуть от последней до первой... как это прописать... всё равно получаются две переменные пересекающиеся..
0
3 / 2 / 1
Регистрация: 13.05.2014
Сообщений: 156
08.08.2014, 12:45  [ТС]
простейший пример файлаЛист Microsoft Office Excel (4).xlsx
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
08.08.2014, 13:12
Visual Basic
1
Cells(Rows.Count, "E").End(xlUp).AutoFill Destination:=Range(Cells(Rows.Count, "E").End(xlUp), Cells(Range("A" & Rows.Count).End(xlUp).Row, 5)), Type:=xlFillDefault
с переменными конечно можно покороче/попонятнее написать, но я обещал одну строку
1
3 / 2 / 1
Регистрация: 13.05.2014
Сообщений: 156
08.08.2014, 13:24  [ТС]
чё-т всё оказалось проще, чем я думал...
но всё-таки как записать зависимые переменные (чтоб потом не плодить тем)?
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
08.08.2014, 13:41
Я не понимаю что Вы подразумеваете под понятием "зависимые".
0
3 / 2 / 1
Регистрация: 13.05.2014
Сообщений: 156
08.08.2014, 13:45  [ТС]
на коде объясню:
nextrow1 - переменная (последняя заполненная ячейка с низу)
zap - переменная
Visual Basic
1
2
3
Dim zap As Long
zap = Sheets("Лист2").Range("nextrow1").CurrentRegion.Rows.Count
Range("nextrow1").AutoFill Destination:=Range("nextrow1:e" & zap), Type:=xlFillDefault
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
08.08.2014, 13:53
Цитата Сообщение от GIKS Посмотреть сообщение
Dim NextRow1 As Long
Цитата Сообщение от GIKS Посмотреть сообщение
nextrow1 - переменная (последняя заполненная ячейка с низу)
Basic - регистронезависимый язык, т.е. NextRow1 = nextrow1 ,
т.о. число типа Long никак не может быть последняя заполненная ячейка с низу).
А имя переменной в кавычках - это вообще не переменная, а строковый литерал, никакого отношения к переменной не имеющий.
Учите матчасть, короче.
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
08.08.2014, 13:54
Range("nextrow1") и переменная nextrow1 никак не связанные вещи. Хотя можно конечно писать иначе и связь будет.
Но смысл понятен - переменная zap нужна только для облечения кода, без неё можно обойтись. Т.е. связи особой нет.

Если же нужно например иметь две переменных, и чтоб одна автоматически возвращала значение в два раза больше, чем сейчас в другой - то зачем вообще эта "одна" нужна, достаточно "другой"
0
3 / 2 / 1
Регистрация: 13.05.2014
Сообщений: 156
08.08.2014, 14:00  [ТС]
спс, понял в чём я затупил... буду экспериментировать дальше...
0
 Аватар для KoGG
5640 / 1622 / 418
Регистрация: 23.12.2010
Сообщений: 2,430
Записей в блоге: 1
08.08.2014, 15:06
Перевод на VBA:
Visual Basic
1
2
3
4
5
6
Dim zap As Long, nextrow1 As Range
With Sheets("Лист2")
 Set nextrow1 = .Cells(.Rows.Count, "A").End(xlUp)
 zap = nextrow1.CurrentRegion.Rows.Count
 nextrow1.AutoFill Destination:=Range(nextrow1, .Range("e" & zap)), Type:=xlFillDefault
End With
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.08.2014, 15:06
Помогаю со студенческими работами здесь

ВПР, ЕСЛИ. Как для выбора номера столбца в функции ВПР для региона использовать функцию ЕСЛИ()
Здравствуйте. Не могу написать формулу так, чтобы ВПР брала % прироста из обоих столбцов "Восток и Юг" и "Центр и...

Как в Excel протянуть формулу по горизонтали, чтобы она работала
Здравствуйте! Файл во вложении. Копированием или протягиванием не получается.Приходится каждую ячейку вручную считать. Формула проста-...

Найти среднее арифметическое этого столбца и отнять его из всех елементов матрицы, кроме этого столбца
В матрице имеется столбец в котором первый элемент больше последнего. Найти среднее арифметическое этого столбца и отнять его из всех...

Как программно присвоить свойство ReadOnly столбцу DGV
Среда Visual Basic STUDIO’2010 Professional ' To make a column read-only programmatically - только одного ' конкретного столбца '...

Высота скролла по высоте окна
Здравствуйте, народ! Нужно решить проблему с высотой скролла. Оно должно меняться по высоте окна. На данный момент он почему-то не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru