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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос изменения формул в ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос изменения формул в ячейке (Макросы Sub)
Макрос изменения формул в ячейке
Cudass Дата: Четверг, 30.01.2014, 08:57 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Доброго дня! Столкнулся с небольшой проблемкой, никак не могу сообразить что к чему, как пересчитать чтобы не произошло зацикливания. В общем ситуация такая:
имеется таблица с множеством домов, необходимо найти дома которые содержат параметр "Аренда кровли" (ячейка А10), и пересчитать параметр "Аренда" (ячейка D8) по формуле: "Аренда"-"Аренда кровли"(=D8-D10) и записать в эту ячейку (D8). Остальные дома останутся без изменений.
Помогите пожалуйста :)
Пример прилагаю...
К сообщению приложен файл: 0012941.xlsx (9.9 Kb)


Сообщение отредактировал Cudass - Четверг, 30.01.2014, 08:59
 
Ответить
СообщениеДоброго дня! Столкнулся с небольшой проблемкой, никак не могу сообразить что к чему, как пересчитать чтобы не произошло зацикливания. В общем ситуация такая:
имеется таблица с множеством домов, необходимо найти дома которые содержат параметр "Аренда кровли" (ячейка А10), и пересчитать параметр "Аренда" (ячейка D8) по формуле: "Аренда"-"Аренда кровли"(=D8-D10) и записать в эту ячейку (D8). Остальные дома останутся без изменений.
Помогите пожалуйста :)
Пример прилагаю...

Автор - Cudass
Дата добавления - 30.01.2014 в 08:57
KuklP Дата: Четверг, 30.01.2014, 09:54 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Public Sub www()
     Dim c As Range, f$
     With Worksheets(1).Range("a:b")
         Set c = .Find("Аренда кровли", LookIn:=xlValues)
         If Not c Is Nothing Then
             f = c.Address
             Do
                 c.Offset(-2, 2) = c.Offset(-2, 2) - c.Offset(, 2)
                 Set c = .FindNext(c)
             Loop While Not c Is Nothing And c.Address <> f
         End If
     End With
End Sub
[/vba]
К сообщению приложен файл: 0012941.xlsm (16.2 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[vba]
Код
Public Sub www()
     Dim c As Range, f$
     With Worksheets(1).Range("a:b")
         Set c = .Find("Аренда кровли", LookIn:=xlValues)
         If Not c Is Nothing Then
             f = c.Address
             Do
                 c.Offset(-2, 2) = c.Offset(-2, 2) - c.Offset(, 2)
                 Set c = .FindNext(c)
             Loop While Not c Is Nothing And c.Address <> f
         End If
     End With
End Sub
[/vba]

Автор - KuklP
Дата добавления - 30.01.2014 в 09:54
Cudass Дата: Пятница, 31.01.2014, 04:17 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо большое всё работает, сейчас буду разбираться с кодом :)
 
Ответить
СообщениеСпасибо большое всё работает, сейчас буду разбираться с кодом :)

Автор - Cudass
Дата добавления - 31.01.2014 в 04:17
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос изменения формул в ячейке (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

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