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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Пересчет формул в диапазоне при очистке конкретной ячейки
djon2012 Дата: Вторник, 22.09.2015, 08:08 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 106
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте форумчане!!!
Подскажите пожалуйста, как сделать так (в приведенном примере) чтобы формулы в диапазоне A1:E12 пересчитывались только при внесении изменений (внесение данных, очистка ячейки) в ячейку H1 на Лист1.
Спасибо!!!
К сообщению приложен файл: 3204972.xlsb (9.5 Kb)
 
Ответить
СообщениеЗдравствуйте форумчане!!!
Подскажите пожалуйста, как сделать так (в приведенном примере) чтобы формулы в диапазоне A1:E12 пересчитывались только при внесении изменений (внесение данных, очистка ячейки) в ячейку H1 на Лист1.
Спасибо!!!

Автор - djon2012
Дата добавления - 22.09.2015 в 08:08
китин Дата: Вторник, 22.09.2015, 08:20 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7025
Репутация: 1076 ±
Замечаний: 0% ±

Excel 2007;2010;2016
ну вообще то СЛУЧМЕЖДУ пересчитывается при любом действии на листе, в том числе и при
внесении изменений (внесение данных, очистка ячейки) в ячейку H1 на Лист1.


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениену вообще то СЛУЧМЕЖДУ пересчитывается при любом действии на листе, в том числе и при
внесении изменений (внесение данных, очистка ячейки) в ячейку H1 на Лист1.

Автор - китин
Дата добавления - 22.09.2015 в 08:20
djon2012 Дата: Вторник, 22.09.2015, 19:23 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 106
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо за ответ. Жаль что нельзя сделать чтобы формула СЛУЧМЕЖДУ пересчитывалась при изменении только одной ячейки.
 
Ответить
СообщениеСпасибо за ответ. Жаль что нельзя сделать чтобы формула СЛУЧМЕЖДУ пересчитывалась при изменении только одной ячейки.

Автор - djon2012
Дата добавления - 22.09.2015 в 19:23
Nic70y Дата: Вторник, 22.09.2015, 20:28 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8959
Репутация: 2343 ±
Замечаний: 0% ±

Excel 2010
Жаль что нельзя
нк почему низя, если сильно хочется, то можно, но чуть-подругому:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("H1")) Is Nothing Then
     [a1:e12].FormulaR1C1 = "=RANDBETWEEN(1,10)"
     [a1:e12] = [a1:e12].Value
End If
End Sub
[/vba]
К сообщению приложен файл: 1_.xlsb (14.8 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
Жаль что нельзя
нк почему низя, если сильно хочется, то можно, но чуть-подругому:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("H1")) Is Nothing Then
     [a1:e12].FormulaR1C1 = "=RANDBETWEEN(1,10)"
     [a1:e12] = [a1:e12].Value
End If
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 22.09.2015 в 20:28
KSV Дата: Вторник, 22.09.2015, 21:06 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
и еще пара вариантов :)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address(0, 0) <> "H1" Then Exit Sub
      Randomize
      Dim c As Range
      For Each c In Range("A1:E12")
          c = Int(Rnd * 10) + 1
      Next
End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address(0, 0) <> "H1" Then Exit Sub
      Calculate
End Sub
[/vba] для второго варианта нужно установить параметры вычислений – вручную.
К сообщению приложен файл: 3204972_1.xlsb (14.5 Kb) · 3204972_2.xlsb (15.1 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333


Сообщение отредактировал KSV - Среда, 23.09.2015, 00:20
 
Ответить
Сообщениеи еще пара вариантов :)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address(0, 0) <> "H1" Then Exit Sub
      Randomize
      Dim c As Range
      For Each c In Range("A1:E12")
          c = Int(Rnd * 10) + 1
      Next
End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address(0, 0) <> "H1" Then Exit Sub
      Calculate
End Sub
[/vba] для второго варианта нужно установить параметры вычислений – вручную.

Автор - KSV
Дата добавления - 22.09.2015 в 21:06
djon2012 Дата: Вторник, 22.09.2015, 23:23 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 106
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Елка зяленая, РАБОТАЕТ, все варианты рабочие. Оказывается все таки это возможно.
Большое... да нет огромное спасибо за ответы.


Сообщение отредактировал djon2012 - Вторник, 22.09.2015, 23:23
 
Ответить
СообщениеЕлка зяленая, РАБОТАЕТ, все варианты рабочие. Оказывается все таки это возможно.
Большое... да нет огромное спасибо за ответы.

Автор - djon2012
Дата добавления - 22.09.2015 в 23:23
  • Страница 1 из 1
  • 1
Поиск:

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