То есть заменить таблицу , на массив данных , для того чтобы уйти от справочной таблицы. У меня выскакивает ошибка. Вопрос: Как правильно указать в коде VBA эту таблицу для ВПР в которой происходит поиск данных в виде {"20TS100";"20TS100" ... "Met":"32MPE100";"Met"} ???
Необходимо заменить R5C12:R35C13 на {"20TS100";"20TS100" ... "Met":"32MPE100";"Met"} Подскажите как это реализовать? или может есть какой то другой путь решения этой задачи ? Заранее спасибо.
Здраствуйте. Есть маленькая проблемка. Причина которой мое незнание многих тонкостей ВБА Внести в код макроса формулу вида
Код
=ВПР(E2&D2 ; $L$5:$M$35 ; 2 ; 0) = I2
проблем не вызывает и знаний на это хватает. Но вот если ВПР преобразовать в такой вид:
То есть заменить таблицу , на массив данных , для того чтобы уйти от справочной таблицы. У меня выскакивает ошибка. Вопрос: Как правильно указать в коде VBA эту таблицу для ВПР в которой происходит поиск данных в виде {"20TS100";"20TS100" ... "Met":"32MPE100";"Met"} ???
Необходимо заменить R5C12:R35C13 на {"20TS100";"20TS100" ... "Met":"32MPE100";"Met"} Подскажите как это реализовать? или может есть какой то другой путь решения этой задачи ? Заранее спасибо.antycapral
Если именно так, как Вы хотите, то Поправил немного, сначала было неверно [vba]
Код
Sub ее() Range("G2").FormulaR1C1 = _ "=VLOOKUP(RC[-2]&RC[-3],{""20TS100"",""20TS100"";""20TS300"",""20TS100"";""20TP200"",""20TP200"";""20TH100"",""20TH"";""18TH100"",""18TH"";""20WCS200"",""20WCS200"";""35WL100"",""35WL"";""35Wi100"",""35Wi"";""35Wi101"",""35Wi"";""35TL100"",""35TL100"";""30TL200"",""30TL200"";""40TC200"",""40TC"";""40TC201"",""40TC"";""35TC200"",""35TC"";""30TC200"",""30TC"";""30TC201"",""C"";""25TC200"",""25TC"";""20TC200"",""20TC"";""20TC201"",""20TC"";""15TC200"",""15TC"";""12MC100"",""Met"";""15MC100"",""Met"";""20MC100"",""Met"";""20MC101"",""Met"";""20MC300"",""Met"";""20MC320"",""Met"";""20MC323"",""Met"";""30MC100"",""Met"";""30MC101"",""Met"";""40MC100"",""Met"";""32MPE100"",""Met""},2,0)=RC[2]" End Sub
[/vba]
Если именно так, как Вы хотите, то Поправил немного, сначала было неверно [vba]
Код
Sub ее() Range("G2").FormulaR1C1 = _ "=VLOOKUP(RC[-2]&RC[-3],{""20TS100"",""20TS100"";""20TS300"",""20TS100"";""20TP200"",""20TP200"";""20TH100"",""20TH"";""18TH100"",""18TH"";""20WCS200"",""20WCS200"";""35WL100"",""35WL"";""35Wi100"",""35Wi"";""35Wi101"",""35Wi"";""35TL100"",""35TL100"";""30TL200"",""30TL200"";""40TC200"",""40TC"";""40TC201"",""40TC"";""35TC200"",""35TC"";""30TC200"",""30TC"";""30TC201"",""C"";""25TC200"",""25TC"";""20TC200"",""20TC"";""20TC201"",""20TC"";""15TC200"",""15TC"";""12MC100"",""Met"";""15MC100"",""Met"";""20MC100"",""Met"";""20MC101"",""Met"";""20MC300"",""Met"";""20MC320"",""Met"";""20MC323"",""Met"";""30MC100"",""Met"";""30MC101"",""Met"";""40MC100"",""Met"";""32MPE100"",""Met""},2,0)=RC[2]" End Sub
Можно ведь хранить этот список замен в любом другом файле, к которому есть доступ. А для кода я бы или хранил его на листе в том файле где код, или просто в текстовом файле, если код например в vbs. И без всяких формул - код всё может сделать лучше. А так прописывать миллион замен прямо в формуле - и гемор, и может места не хватить (правда я не знаю сколько там места...)
Можно ведь хранить этот список замен в любом другом файле, к которому есть доступ. А для кода я бы или хранил его на листе в том файле где код, или просто в текстовом файле, если код например в vbs. И без всяких формул - код всё может сделать лучше. А так прописывать миллион замен прямо в формуле - и гемор, и может места не хватить (правда я не знаю сколько там места...)Hugo