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

Вход

Регистрация

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

 

= Мир MS Excel/ВПР в VBA по конец ряда существующей таблицы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » ВПР в VBA по конец ряда существующей таблицы (Макросы/Sub)
ВПР в VBA по конец ряда существующей таблицы
kotrad3 Дата: Воскресенье, 26.03.2017, 14:25 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день уважаемые!

Имея таблицу с данными (файл пример прикрепляю) которые имеют конец и каждый раз могут меняться количество строк (их может быть и 6000 и 1000 и 20000) необходимо в VBA используя функцию ВПР затянуть данные по всей колонке по конец существующей строки (т.е. определить последний ряд таблицы в который затягиваем).

Благодарю Вас.
К сообщению приложен файл: 2122921.xls (27.0 Kb)
 
Ответить
СообщениеДобрый день уважаемые!

Имея таблицу с данными (файл пример прикрепляю) которые имеют конец и каждый раз могут меняться количество строк (их может быть и 6000 и 1000 и 20000) необходимо в VBA используя функцию ВПР затянуть данные по всей колонке по конец существующей строки (т.е. определить последний ряд таблицы в который затягиваем).

Благодарю Вас.

Автор - kotrad3
Дата добавления - 26.03.2017 в 14:25
_Boroda_ Дата: Воскресенье, 26.03.2017, 14:48 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
    r1_ = Range("E" & Rows.Count).End(xlUp).Row 'этот лист
    r11_ = Sheets("Откуда тянем").Range("F" & Rows.Count).End(xlUp).Row 'тот лист
    Range("F2:F" & r1_).FormulaR1C1 = "=VLOOKUP(RC[-1],'Откуда тянем'!R2C6:R" & r11_ & "C7,2,0)"
[/vba]
только 60000х60000 у Вас доооолго будет считать
К сообщению приложен файл: 2122921_1.xls (35.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
    r1_ = Range("E" & Rows.Count).End(xlUp).Row 'этот лист
    r11_ = Sheets("Откуда тянем").Range("F" & Rows.Count).End(xlUp).Row 'тот лист
    Range("F2:F" & r1_).FormulaR1C1 = "=VLOOKUP(RC[-1],'Откуда тянем'!R2C6:R" & r11_ & "C7,2,0)"
[/vba]
только 60000х60000 у Вас доооолго будет считать

Автор - _Boroda_
Дата добавления - 26.03.2017 в 14:48
kotrad3 Дата: Воскресенье, 26.03.2017, 15:29 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ну почти ) данные перетягиваем с листа "откуда тянем" в ячейку G2 листа "Заполняемый лист" и по конец.

 
Ответить
СообщениеНу почти ) данные перетягиваем с листа "откуда тянем" в ячейку G2 листа "Заполняемый лист" и по конец.


Автор - kotrad3
Дата добавления - 26.03.2017 в 15:29
_Boroda_ Дата: Воскресенье, 26.03.2017, 16:07 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
[vba]
Код
Range("G2:G" & r1_).FormulaR1C1 = "=VLOOKUP(RC[-2],'Откуда тянем'!R2C6:R" & r11_ & "C7,2,0)"
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение[vba]
Код
Range("G2:G" & r1_).FormulaR1C1 = "=VLOOKUP(RC[-2],'Откуда тянем'!R2C6:R" & r11_ & "C7,2,0)"
[/vba]

Автор - _Boroda_
Дата добавления - 26.03.2017 в 16:07
kotrad3 Дата: Воскресенье, 26.03.2017, 16:50 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Не получается
Что в нем не так? Мне заполняет с AD1:AD14 а у мне нужно с AD14 и до конца. Данные начинаются с AD14
Перед этим я в файле снимаю общие ячейки. Может он воспринимает начало таблицы как конец ?
Вот мой код:

[vba]
Код
' Переход в файл
ABC1.Activate

' ВПР
r1_ = Range("AD" & Rows.Count).End(xlUp).Row

Range("AD14:AD" & r1_).FormulaR1C1 = "=VLOOKUP(RC[-25],[Файл.xls]Sheet1!R14C4:R,21,0)"

Range("AD14:AD" & r1_).Select
With Selection
.Copy
.PasteSpecial Paste:=xlPasteValues
[/vba]


Сообщение отредактировал kotrad3 - Воскресенье, 26.03.2017, 17:55
 
Ответить
СообщениеНе получается
Что в нем не так? Мне заполняет с AD1:AD14 а у мне нужно с AD14 и до конца. Данные начинаются с AD14
Перед этим я в файле снимаю общие ячейки. Может он воспринимает начало таблицы как конец ?
Вот мой код:

[vba]
Код
' Переход в файл
ABC1.Activate

' ВПР
r1_ = Range("AD" & Rows.Count).End(xlUp).Row

Range("AD14:AD" & r1_).FormulaR1C1 = "=VLOOKUP(RC[-25],[Файл.xls]Sheet1!R14C4:R,21,0)"

Range("AD14:AD" & r1_).Select
With Selection
.Copy
.PasteSpecial Paste:=xlPasteValues
[/vba]

Автор - kotrad3
Дата добавления - 26.03.2017 в 16:50
Pelena Дата: Воскресенье, 26.03.2017, 17:42 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
kotrad3, оформите код тегами с помощью кнопки # в режиме правки поста


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеkotrad3, оформите код тегами с помощью кнопки # в режиме правки поста

Автор - Pelena
Дата добавления - 26.03.2017 в 17:42
Pelena Дата: Воскресенье, 26.03.2017, 18:04 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Думаю, что последнюю заполненную строку r1_ надо определять по другому столбцу (не по AD)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеДумаю, что последнюю заполненную строку r1_ надо определять по другому столбцу (не по AD)

Автор - Pelena
Дата добавления - 26.03.2017 в 18:04
kotrad3 Дата: Воскресенье, 26.03.2017, 18:35 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
' ВПР
    r1_ = Range("B" & Rows.Count).End(xlUp).Row
   
          
    Range("V2:V" & r1_).FormulaR1C1 = "=VLOOKUP(RC[-25],[Файл.xls]Sheet1!R14C4:R,21,0)"
      
    
    Range("V2:V" & r1_).Select
    With Selection
        .Copy
        .PasteSpecial Paste:=xlPasteValues
      
    End With
[/vba]
Ошибку нашел. огромное спасибо. Осталось прописать правильно формулу. Выдает #знач.
 
Ответить
Сообщение[vba]
Код
' ВПР
    r1_ = Range("B" & Rows.Count).End(xlUp).Row
   
          
    Range("V2:V" & r1_).FormulaR1C1 = "=VLOOKUP(RC[-25],[Файл.xls]Sheet1!R14C4:R,21,0)"
      
    
    Range("V2:V" & r1_).Select
    With Selection
        .Copy
        .PasteSpecial Paste:=xlPasteValues
      
    End With
[/vba]
Ошибку нашел. огромное спасибо. Осталось прописать правильно формулу. Выдает #знач.

Автор - kotrad3
Дата добавления - 26.03.2017 в 18:35
kotrad3 Дата: Воскресенье, 26.03.2017, 18:39 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Можно ли вместо листа "Откуда тянем" задать имя файла в нижней формуле?
Через Windows ? или Worbooks?

[vba]
Код
r11_ = Sheets("Откуда тянем").Range("F" & Rows.Count).End(xlUp).Row 'тот лист
[/vba]
 
Ответить
СообщениеМожно ли вместо листа "Откуда тянем" задать имя файла в нижней формуле?
Через Windows ? или Worbooks?

[vba]
Код
r11_ = Sheets("Откуда тянем").Range("F" & Rows.Count).End(xlUp).Row 'тот лист
[/vba]

Автор - kotrad3
Дата добавления - 26.03.2017 в 18:39
Pelena Дата: Воскресенье, 26.03.2017, 19:31 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Как-то адрес R14C4:R не дописан, после R должно быть продолжение


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеКак-то адрес R14C4:R не дописан, после R должно быть продолжение

Автор - Pelena
Дата добавления - 26.03.2017 в 19:31
kotrad3 Дата: Понедельник, 27.03.2017, 14:20 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
ВПР
    r1_ = Range("B" & Rows.Count).End(xlUp).Row 'этот лист
    
          
    Range("V2:V" & r1_).FormulaLocal = "=ЕСЛИОШИБКА(ВПР(B2;[Файл.xls]Sheet1!$D$14:$X$60000;21;0);0)"
      
    
    Range("V2:V" & r1_).Select
    With Selection
        .Copy
        .PasteSpecial Paste:=xlPasteValues
      
    End With
[/vba]

Как вот сделать
[vba]
Код
r11_ = Sheets("Откуда тянем").Range("F" & Rows.Count).End(xlUp).Row 'тот лист
[/vba]
только что бы не лист "Откуда тянем" а файл и как добавить в ВПР
 
Ответить
Сообщение[vba]
Код
ВПР
    r1_ = Range("B" & Rows.Count).End(xlUp).Row 'этот лист
    
          
    Range("V2:V" & r1_).FormulaLocal = "=ЕСЛИОШИБКА(ВПР(B2;[Файл.xls]Sheet1!$D$14:$X$60000;21;0);0)"
      
    
    Range("V2:V" & r1_).Select
    With Selection
        .Copy
        .PasteSpecial Paste:=xlPasteValues
      
    End With
[/vba]

Как вот сделать
[vba]
Код
r11_ = Sheets("Откуда тянем").Range("F" & Rows.Count).End(xlUp).Row 'тот лист
[/vba]
только что бы не лист "Откуда тянем" а файл и как добавить в ВПР

Автор - kotrad3
Дата добавления - 27.03.2017 в 14:20
Мир MS Excel » Вопросы и решения » Вопросы по VBA » ВПР в VBA по конец ряда существующей таблицы (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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