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

Вход

Регистрация

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

 

= Мир MS Excel/Почему выдает ошибку в FormulaLocal ? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Почему выдает ошибку в FormulaLocal ? (Макросы/Sub)
Почему выдает ошибку в FormulaLocal ?
китин Дата: Четверг, 15.03.2018, 14:36 | Сообщение № 1
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Всем доброго времени суток!!!!! Не могу понять, почему выдает ошибку в следующей конструкции:

[vba]
Код
Sheets("Лист2").Range("A2").FormulaLocal = "=ЕСЛИОШИБКА(ИНДЕКС(Лист1!A$2:A$" & tt & ";НАИМЕНЬШИЙ(ЕСЛИ((Лист1!$B$2:$B$" & tt & "=Лист2!$B2)*(Лист1!A$2:A$" & tt & "<>"");СТРОКА(Лист1!$A$2:$A$" & tt & ")-1);1));"")"
[/vba]
всю голову сломал уже: что я не так сделал?
весь код в файле
К сообщению приложен файл: 4066425.xlsm (21.4 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеВсем доброго времени суток!!!!! Не могу понять, почему выдает ошибку в следующей конструкции:

[vba]
Код
Sheets("Лист2").Range("A2").FormulaLocal = "=ЕСЛИОШИБКА(ИНДЕКС(Лист1!A$2:A$" & tt & ";НАИМЕНЬШИЙ(ЕСЛИ((Лист1!$B$2:$B$" & tt & "=Лист2!$B2)*(Лист1!A$2:A$" & tt & "<>"");СТРОКА(Лист1!$A$2:$A$" & tt & ")-1);1));"")"
[/vba]
всю голову сломал уже: что я не так сделал?
весь код в файле

Автор - китин
Дата добавления - 15.03.2018 в 14:36
sboy Дата: Четверг, 15.03.2018, 15:00 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Игорь там беда с кавычками, не помню как там правильно двойные в двойные оформлять.
VBA думает, что строка закончилась, а & нету
я обычно Chr(34) использую.
[vba]
Код
Sheets("Лист2").Range("A2").FormulaLocal = "=ЕСЛИОШИБКА(ИНДЕКС(Лист1!A$2:A$" & tt & ";НАИМЕНЬШИЙ(ЕСЛИ((Лист1!$B$2:$B$" & tt & "=Лист2!$B2)*(Лист1!A$2:A$" & tt & "<>" & Chr(34) & Chr(34) & ");СТРОКА(Лист1!$A$2:$A$" & tt & ")-1);1));" & Chr(34) & Chr(34) & ")"
[/vba]
К сообщению приложен файл: 3677942.xlsm (22.0 Kb)


Яндекс: 410016850021169

Сообщение отредактировал sboy - Четверг, 15.03.2018, 15:00
 
Ответить
СообщениеИгорь там беда с кавычками, не помню как там правильно двойные в двойные оформлять.
VBA думает, что строка закончилась, а & нету
я обычно Chr(34) использую.
[vba]
Код
Sheets("Лист2").Range("A2").FormulaLocal = "=ЕСЛИОШИБКА(ИНДЕКС(Лист1!A$2:A$" & tt & ";НАИМЕНЬШИЙ(ЕСЛИ((Лист1!$B$2:$B$" & tt & "=Лист2!$B2)*(Лист1!A$2:A$" & tt & "<>" & Chr(34) & Chr(34) & ");СТРОКА(Лист1!$A$2:$A$" & tt & ")-1);1));" & Chr(34) & Chr(34) & ")"
[/vba]

Автор - sboy
Дата добавления - 15.03.2018 в 15:00
bmv98rus Дата: Четверг, 15.03.2018, 15:02 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
по моему концовочку надо """")"
а еще одно место
[vba]
Код
Sheets("Лист2").Range("A2").FormulaLocal = "=ЕСЛИОШИБКА(ИНДЕКС(Лист1!A$2:A$" & tt & ";НАИМЕНЬШИЙ(ЕСЛИ((Лист1!$B$2:$B$" & tt & "=Лист2!$B2)*(Лист1!A$2:A$" & tt & "<>"""");СТРОКА(Лист1!$A$2:$A$" & tt & ")-1);1));"""")"
[/vba]


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Четверг, 15.03.2018, 15:10
 
Ответить
Сообщениепо моему концовочку надо """")"
а еще одно место
[vba]
Код
Sheets("Лист2").Range("A2").FormulaLocal = "=ЕСЛИОШИБКА(ИНДЕКС(Лист1!A$2:A$" & tt & ";НАИМЕНЬШИЙ(ЕСЛИ((Лист1!$B$2:$B$" & tt & "=Лист2!$B2)*(Лист1!A$2:A$" & tt & "<>"""");СТРОКА(Лист1!$A$2:$A$" & tt & ")-1);1));"""")"
[/vba]

Автор - bmv98rus
Дата добавления - 15.03.2018 в 15:02
SLAVICK Дата: Четверг, 15.03.2018, 15:06 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
что я не так сделал?

Кавычки не доставил:
Вроде так:
[vba]
Код
Sheets("Лист2").Range("A2").FormulaLocal = "=ЕСЛИОШИБКА(ИНДЕКС(Лист1!A$2:A$" & tt & ";НАИМЕНЬШИЙ(ЕСЛИ((Лист1!$B$2:$B$" & tt & "=Лист2!$B2)*(Лист1!A$2:A$" & tt & "<>"""");СТРОКА(Лист1!$A$2:$A$" & tt & ")-1);1));"""")"
[/vba]

Добавлено
Но наверно там нужна формула массива?
Тогда так:
[vba]
Код
Sheets("Лист2").Range("A2").FormulaArray = "=iferror(INDEX(Лист1!A$2:A$" & tt & ",SMALL(IF((Лист1!$B$2:$B$" & tt & "=Лист2!$B2)*(Лист1!A$2:A$" & tt & "<>""""),ROW(Лист1!$A$2:$A$" & tt & ")-1),1)),"""")"
[/vba]
К сообщению приложен файл: 4784617.xlsm (20.8 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Четверг, 15.03.2018, 15:15
 
Ответить
Сообщение
что я не так сделал?

Кавычки не доставил:
Вроде так:
[vba]
Код
Sheets("Лист2").Range("A2").FormulaLocal = "=ЕСЛИОШИБКА(ИНДЕКС(Лист1!A$2:A$" & tt & ";НАИМЕНЬШИЙ(ЕСЛИ((Лист1!$B$2:$B$" & tt & "=Лист2!$B2)*(Лист1!A$2:A$" & tt & "<>"""");СТРОКА(Лист1!$A$2:$A$" & tt & ")-1);1));"""")"
[/vba]

Добавлено
Но наверно там нужна формула массива?
Тогда так:
[vba]
Код
Sheets("Лист2").Range("A2").FormulaArray = "=iferror(INDEX(Лист1!A$2:A$" & tt & ",SMALL(IF((Лист1!$B$2:$B$" & tt & "=Лист2!$B2)*(Лист1!A$2:A$" & tt & "<>""""),ROW(Лист1!$A$2:$A$" & tt & ")-1),1)),"""")"
[/vba]

Автор - SLAVICK
Дата добавления - 15.03.2018 в 15:06
bmv98rus Дата: Четверг, 15.03.2018, 15:14 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
китин, Я знаю что я редкое исключение, но мне кажется FormulaLocal использовать не стоит, ибо например у меня оно не заработает, так как интерфейс всегда ENG. Если привычно писать формулу так, то лучше написать в ячейке и посмотреть что просто .formuла скажет и уже это править и использовать.

UPD
О. автоматом и локализацию убрали :-)


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Четверг, 15.03.2018, 15:41
 
Ответить
Сообщениекитин, Я знаю что я редкое исключение, но мне кажется FormulaLocal использовать не стоит, ибо например у меня оно не заработает, так как интерфейс всегда ENG. Если привычно писать формулу так, то лучше написать в ячейке и посмотреть что просто .formuла скажет и уже это править и использовать.

UPD
О. автоматом и локализацию убрали :-)

Автор - bmv98rus
Дата добавления - 15.03.2018 в 15:14
китин Дата: Четверг, 15.03.2018, 15:20 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
наверно там нужна формула массива?

точно Слава. Только хотел про это спросить!!!!


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
наверно там нужна формула массива?

точно Слава. Только хотел про это спросить!!!!

Автор - китин
Дата добавления - 15.03.2018 в 15:20
китин Дата: Четверг, 15.03.2018, 15:46 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Всем спасибо огромное.


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеВсем спасибо огромное.

Автор - китин
Дата добавления - 15.03.2018 в 15:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Почему выдает ошибку в FormulaLocal ? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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