Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2010, 05:23   #1
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию VBA ЕСЛИ

Всем привет, помогите пожалуйста составить формулу ЕСЛИ через VBA так, чтобы она работала... пробовал вот этот вариант

Код:
Worksheets("ТМЦ").Cells(col, 13).Formula = "=ЕСЛИ(H" & col & "=0;0;(J" & col & "*H" & col & ")-(E" & col & "*H" & col & "))"
и вот этот

Код:
Worksheets("ТМЦ").Cells(col, 13).Formula = "=IF(H" & col & "=0,0,(J" & col & "*H" & col & ")-(E" & col & "*H" & col & "))"
Ни тот, ни тот вариант результата не дают
Tirendus вне форума Ответить с цитированием
Старый 18.04.2010, 11:34   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub InsFormula()
  col = 3
  Cells(col, 13).FormulaLocal = "=ЕСЛИ(H" & col & "=0;0;(J" & col & "*H" & col & ")-(E" & col & "*H" & col & "))"
  Cells(col, 13).Formula = "=IF(H" & col & "=0,0,(J" & col & "*H" & col & ")-(E" & col & "*H" & col & "))"
End Sub
в первом случае есть серьезный прокол (FormulaLocal), а так, в целом, все работает
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.04.2010, 14:15   #3
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Спасибо
Tirendus вне форума Ответить с цитированием
Старый 18.04.2010, 14:35   #4
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Все-таки есть небольшая проблема с этой формулой. Формула рабочая и вставляется в любые листы, кроме того, в который мне нужно, лист в приложении, я выделили комментарием проблематичную часть.
Вложения
Тип файла: rar Копия (2) форма_отчета.rar (22.5 Кб, 21 просмотров)
Tirendus вне форума Ответить с цитированием
Старый 18.04.2010, 15:00   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

если речь идет о процедуре
Код:
Sub sda()
    col = Worksheets("ТМЦ").Cells.Find(What:="итого, шт.", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Address(rowabsolute:=False, columnabsolute:=False)
    col = Right(col, 2) - 1
   Worksheets("ТМЦ").Cells(col, 13).FormulaLocal = "=ЕСЛИ(H" & col & "=0;0;(J" & col & "*H" & col & ")-(E" & col & "*H" & col & "))"
End Sub
то она вполне корректно работает - записывает формулу в в ячейку М27.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.04.2010, 15:25   #6
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Не о процедуре сда, она тестовая

Sub TMC_Transport()

Я там выделил комментарием часть, которая почему-то не срабатывает
Tirendus вне форума Ответить с цитированием
Старый 18.04.2010, 15:52   #7
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Проблема решена, я тупанул, сначала вносил данные, всё записывалось правильно, потом удалял строки. Игорь, спасибо вам еще раз.
Tirendus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
Запрет запуска программы на VBA в случае если Excel уже открыт kovalevskivf Microsoft Office Excel 4 01.09.2009 11:22
Если функция ЕСЛИ не подходит Katherina_Koval Microsoft Office Excel 1 25.07.2008 19:09
cтранная запись формулы ЕСЛИ: "=+ЕСЛИ(..." icore2008 Microsoft Office Excel 4 10.04.2008 21:32