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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.10.2007, 14:39   #1
Iren
Пользователь
 
Регистрация: 08.10.2007
Сообщений: 15
По умолчанию Формулу в цикл

Надо посчитать значение
ячейка H6 равна ячейке E6 *1,15*27
ячйка E7 равна ячейке E7*1,15*27
и так весь столбец включая последнюю используемую ячейку
по идее надо пустить по циклу формулу:
ActiveCell.FormulaR1C1 = "=RC[3]*1.15*27"
for i=6 to xlLastCell
(i - это будут строки. столбец все время один и тотже)
как это реализовать?непонимаю куда в формулу вставить эту I чтобы привязать ее к циклу? или другая формула должна быть?
ICQ:203884299
Iren вне форума
Старый 22.10.2007, 14:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Уж ни это ли тебе нужно:

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 6 To xlLastCell
Range("e" + CStr(i)) = "=E" & CStr(i) & "*1.15*27"
Next i
End Sub
I'm learning to live...
Stilet вне форума
Старый 22.10.2007, 17:51   #3
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Для того, чтобы ввести подобную формулу - использовать цикл не нужно, ибо достаточно всего лишь выполнить одну единственную инструкцию :

Код:
Range([E6], [E65536].End(xlUp)).Offset(, 3).Formula = "=E6*1.15*27"
'Предполагается, что в момент выполнения этой инструкции активным является лист,
'имеющий ячейки, кроме того, заполняемые ячейки (столбец H) + лист не должны быть защищены.
'Все вышеперечисленные условия не является обязательными, т.е.
'в первом случае достаточно указать родителей, во втором, например, предварительно
'использовать метод Protect об'екта Worksheet, 
'т.е. .Protect Password:="Ваш_пароль", UserInterfaceOnly:=True
pashulka вне форума
Старый 23.10.2007, 09:47   #4
Iren
Пользователь
 
Регистрация: 08.10.2007
Сообщений: 15
По умолчанию

Собственно говоря вот такое заработало у меня, в инет вылезти не могла.... но есть одна проблема. на одном из 10 прайсов вместо результата расчетов в строке остается сама формула а не результат. вручную тоже вписывала - бесполезно. кто знает где отключить или наоборот включить опцию, чтобы написанная формула расчитывалась а не оставалась текстом.(проблема только в одном листе из всей книги, в которой есть данные.)
Код:
For i = 1 To Range("J1").SpecialCells(xlLastCell).Row
Cells(i, 9).Value = "=RC[1]*1.15*27"
Next i
ICQ:203884299
Iren вне форума
Старый 23.10.2007, 10:47   #5
Iren
Пользователь
 
Регистрация: 08.10.2007
Сообщений: 15
По умолчанию

О, миль пардон, решено. одной строчкой
Код:
Selection.NumberFormat = "General"
фишка в том. что надо ее писать до расчета формул
ВОПРОС СНЯТ
ICQ:203884299
Iren вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл Sota Паскаль, Turbo Pascal, PascalABC.NET 1 24.03.2008 19:50
Цикл... Лёка PHP 5 03.02.2008 21:38
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34
3-ой цикл LeoN Общие вопросы Delphi 5 12.06.2007 14:15