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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2011, 11:25   #1
Ast4
Пользователь
 
Регистрация: 19.01.2010
Сообщений: 15
По умолчанию В чем ошибка?

В чем ошибка?
If Cells(i, 8).Value <> 0 Then ActiveCell(i, 8).FormulaR1C1 = "=RC[-3]/RC[-2]"
Ast4 вне форума Ответить с цитированием
Старый 22.02.2011, 11:32   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

ActiveCell(i, 8) - неверно. Надо либо просто ActiveCell.FormulaR1C1 либо Cells(i, 8).FormulaR1C1
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 22.02.2011, 12:20   #3
Ast4
Пользователь
 
Регистрация: 19.01.2010
Сообщений: 15
По умолчанию

Точно Cells(i, 8).FormulaR1C1
Спасибо!
Ast4 вне форума Ответить с цитированием
Старый 22.02.2011, 12:57   #4
Ast4
Пользователь
 
Регистрация: 19.01.2010
Сообщений: 15
По умолчанию

почему не считает "=RC[-3]/RC[-2]"?
For i = 2 To 43
If Cells(i, 8).Value <> 0 Then Cells(i, 8).FormulaR1C1 = "=RC[-3]/RC[-2]"
Next
End Sub

Если правильно
то просмотр ячеек при совпадении, считает формулу.
Не считает.
Ast4 вне форума Ответить с цитированием
Старый 22.02.2011, 13:13   #5
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
просмотр ячеек при совпадении, считает формулу.
в данном примере просмотр ячеек при совпадении вводит формулу в ячейку
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 22.02.2011, 13:16   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

откуда ж нам знать, почему не считает?
вы же нам файл не показывали...

Попробуйте так:

For i = 2 To 43
If Cells(i, 8).Value <> "" Then Cells(i, 8).FormulaR1C1 = "=RC[-3]/RC[-2]"
Next

И вообще, цикл не нужен - формулу можно записать сразу в диапазон ячеек
EducatedFool вне форума Ответить с цитированием
Старый 25.02.2011, 12:33   #7
Ast4
Пользователь
 
Регистрация: 19.01.2010
Сообщений: 15
По умолчанию

Формула не нужна, нужно вычисленное значение.
Ast4 вне форума Ответить с цитированием
Старый 25.02.2011, 12:58   #8
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

А если так
Код:
 ActiveCell.Value = ActiveCell.Offset(0, -3) / ActiveCell.Offset(0, -2)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 25.02.2011, 13:25   #9
Ast4
Пользователь
 
Регистрация: 19.01.2010
Сообщений: 15
По умолчанию

If Cells(i, 8).Value <> "" Then ActiveCell.Value = ActiveCell.Offset(0, -3) / ActiveCell.Offset(0, -2)
Так?
Ast4 вне форума Ответить с цитированием
Старый 25.02.2011, 13:51   #10
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Так?
Да нет, скорее так:
Код:
Sub tt()
For i = 2 To 43
If Cells(i, 8).Value <> 0 Then Cells(i, 8).Value = Cells(i, 8).Offset(0, -3) / Cells(i, 8).Offset(0, -2)
Next
End Sub
Хотя кто знает, что Вам нужно получить...
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чем ошибка!? Файзулка Помощь студентам 5 17.01.2011 10:27
В чем ошибка? DartDayring Visual C++ 5 09.11.2010 23:39
В чем ошибка? Angelic_fiend Помощь студентам 12 02.06.2010 15:52
В чем ошибка? hitman12 Паскаль, Turbo Pascal, PascalABC.NET 13 04.11.2009 12:38
В ЧЕМ ОШИБКА? salmanbaz Общие вопросы C/C++ 5 11.01.2009 13:21