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

Вход

Регистрация

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

 

= Мир MS Excel/Расчет формулы без промежуточной ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Расчет формулы без промежуточной ячейки
Расчет формулы без промежуточной ячейки
pechkin Дата: Воскресенье, 30.11.2014, 17:09 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
Здравсвуйте! Не нашел подобной темы и снова прошу помощи. Есть макрос , который по извлеченным из таблицы данным выводит результат.В примере понятней. Не имея теоритических знаний, ничего лучшего как вставить формулу в промежуточную ячейку (формула ВПР) и затем ее удалить у меня не получилось. Как в моем примере обойтись, если возможно, без промежуточной ячейки, используя именно макрос? Спасибо!
К сообщению приложен файл: 0926118.xls (22.0 Kb)
 
Ответить
СообщениеЗдравсвуйте! Не нашел подобной темы и снова прошу помощи. Есть макрос , который по извлеченным из таблицы данным выводит результат.В примере понятней. Не имея теоритических знаний, ничего лучшего как вставить формулу в промежуточную ячейку (формула ВПР) и затем ее удалить у меня не получилось. Как в моем примере обойтись, если возможно, без промежуточной ячейки, используя именно макрос? Спасибо!

Автор - pechkin
Дата добавления - 30.11.2014 в 17:09
ikki Дата: Воскресенье, 30.11.2014, 17:30 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
[vba]
Код
Sub Макрос1()
     [a5].FormulaLocal = "=если(ВПР($A$1;Лист2!$A$1:$B$4;2;0)=""Коля"";""Правильно"";""Не верно"")"
     [a5].Value = [a5].Value
End Sub
[/vba]подойдёт?


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение[vba]
Код
Sub Макрос1()
     [a5].FormulaLocal = "=если(ВПР($A$1;Лист2!$A$1:$B$4;2;0)=""Коля"";""Правильно"";""Не верно"")"
     [a5].Value = [a5].Value
End Sub
[/vba]подойдёт?

Автор - ikki
Дата добавления - 30.11.2014 в 17:30
ShAM Дата: Воскресенье, 30.11.2014, 17:38 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Или использовать переменную:
[vba]
Код
Sub Макрос1()
Dim a As String
Range("A5").ClearContents
a = WorksheetFunction.VLookup(Range("A1"), Worksheets("Лист2").Range("A2:B4"), 2, 0)
If a = "Коля" Then
Range("A5") = "Правильно"
Else
Range("A5") = "Не верно"
End If
End Sub
[/vba]
 
Ответить
СообщениеИли использовать переменную:
[vba]
Код
Sub Макрос1()
Dim a As String
Range("A5").ClearContents
a = WorksheetFunction.VLookup(Range("A1"), Worksheets("Лист2").Range("A2:B4"), 2, 0)
If a = "Коля" Then
Range("A5") = "Правильно"
Else
Range("A5") = "Не верно"
End If
End Sub
[/vba]

Автор - ShAM
Дата добавления - 30.11.2014 в 17:38
pechkin Дата: Воскресенье, 30.11.2014, 17:47 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
Спасибо, ikki! Возможно, я не совсем точно объяснил задачу. Мне нужно создать условие что-то типа, если по критерию например (А1) в таблице значение удовлетворяет заданному (Коля) то... Формула ВПР подходит но мне нужно условие для макроса. Вот[vba]
Код
If ВПР($A$1;Лист2!$A$1:$B$4;2;0)=""Коля""Then //////
[/vba] Только так не работает
 
Ответить
СообщениеСпасибо, ikki! Возможно, я не совсем точно объяснил задачу. Мне нужно создать условие что-то типа, если по критерию например (А1) в таблице значение удовлетворяет заданному (Коля) то... Формула ВПР подходит но мне нужно условие для макроса. Вот[vba]
Код
If ВПР($A$1;Лист2!$A$1:$B$4;2;0)=""Коля""Then //////
[/vba] Только так не работает

Автор - pechkin
Дата добавления - 30.11.2014 в 17:47
pechkin Дата: Воскресенье, 30.11.2014, 17:53 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
ShAM, СПАСИБО! Подходит!
 
Ответить
СообщениеShAM, СПАСИБО! Подходит!

Автор - pechkin
Дата добавления - 30.11.2014 в 17:53
ikki Дата: Воскресенье, 30.11.2014, 17:54 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
практически то же, что у Алишера
[vba]
Код
If Application.VLookup([a1], sheets("Лист2").[a2:b4], 2, 0) = "Коля" Then ...
[/vba]


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 30.11.2014, 18:02
 
Ответить
Сообщениепрактически то же, что у Алишера
[vba]
Код
If Application.VLookup([a1], sheets("Лист2").[a2:b4], 2, 0) = "Коля" Then ...
[/vba]

Автор - ikki
Дата добавления - 30.11.2014 в 17:54
pechkin Дата: Воскресенье, 30.11.2014, 17:59 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
Благодарность ВСЕМ. ikki , так еще короче - СПАСИБО!
 
Ответить
СообщениеБлагодарность ВСЕМ. ikki , так еще короче - СПАСИБО!

Автор - pechkin
Дата добавления - 30.11.2014 в 17:59
ShAM Дата: Воскресенье, 30.11.2014, 18:03 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
так еще короче
Видимо без переменной :)
[vba]
Код
If WorksheetFunction.VLookup(Range("A1"), Worksheets("Лист2").Range("A2:B4"), 2, 0) = "Коля" Then
[/vba]
____________________
А-а-а, Саша опередил. :)


Сообщение отредактировал ShAM - Воскресенье, 30.11.2014, 18:05
 
Ответить
Сообщение
так еще короче
Видимо без переменной :)
[vba]
Код
If WorksheetFunction.VLookup(Range("A1"), Worksheets("Лист2").Range("A2:B4"), 2, 0) = "Коля" Then
[/vba]
____________________
А-а-а, Саша опередил. :)

Автор - ShAM
Дата добавления - 30.11.2014 в 18:03
RAN Дата: Воскресенье, 30.11.2014, 18:07 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub q()
     Set r = Sheets(2).Columns(1).Find(What:=Range("A1").Value, LookAt:=1)
     If Not r Is Nothing Then
         Range("D1") = IIf(r.Offset(, 1) = "Коля", "Правильно", "Не верно")
     End If
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub q()
     Set r = Sheets(2).Columns(1).Find(What:=Range("A1").Value, LookAt:=1)
     If Not r Is Nothing Then
         Range("D1") = IIf(r.Offset(, 1) = "Коля", "Правильно", "Не верно")
     End If
End Sub
[/vba]

Автор - RAN
Дата добавления - 30.11.2014 в 18:07
krosav4ig Дата: Понедельник, 01.12.2014, 14:41 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
[A5] = IIf(Evaluate("vlookup($A$1,Лист2!$A$1:$B$4,2,0)") = "Коля", "Правильно", "Не верно")
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[vba]
Код
[A5] = IIf(Evaluate("vlookup($A$1,Лист2!$A$1:$B$4,2,0)") = "Коля", "Правильно", "Не верно")
[/vba]

Автор - krosav4ig
Дата добавления - 01.12.2014 в 14:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Расчет формулы без промежуточной ячейки
  • Страница 1 из 1
  • 1
Поиск:

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