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

Вход

Регистрация

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

 

= Мир MS Excel/Запись значения из одной ячейки в другую - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись значения из одной ячейки в другую (Макросы/Sub)
Запись значения из одной ячейки в другую
S-freez Дата: Среда, 20.04.2016, 20:03 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Прошу помощи в решении задачи.
В ячейке B1 постоянно генерируются разные числа
Нужно чтобы в ячейке A2 фиксировалось наименьшее число, а в B2 - наибольшее
При этом, чтобы результаты сбрасывались каждые 5 минут.
Заранее спасибо откликнувшимся.


Сообщение отредактировал S-freez - Среда, 20.04.2016, 20:03
 
Ответить
СообщениеПрошу помощи в решении задачи.
В ячейке B1 постоянно генерируются разные числа
Нужно чтобы в ячейке A2 фиксировалось наименьшее число, а в B2 - наибольшее
При этом, чтобы результаты сбрасывались каждые 5 минут.
Заранее спасибо откликнувшимся.

Автор - S-freez
Дата добавления - 20.04.2016 в 20:03
al-Ex Дата: Среда, 20.04.2016, 21:46 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 59 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
'Всё это в модуль поместить надо.
Dim stoper As Integer
Public Sub Rnd_min_max()
   Dim maxVal As Double
     maxVal = 10000000000#: [a2].value = 0: [b2].value = 0:  stoper = 0
     t = Timer
Do While stoper = 0
  'запускает генератор  в ячейке [b1]
  'если не нужен просто занопь  строчку ниже
     Randomize: myVal = CDbl(Int((maxVal * Rnd()) + 1)): [b1] = myVal
  '--------------------------------
  '--тут читаем ячейку [b1] и сортируем-----------------
    If [b1].value < [a2].value Or [a2].value = 0 Then [a2].value = [b1].value  'минимумы в [a2]
    If [b1].value > [b2].value Then [b2].value = [b1].value                 'максимумы в [b2]
    If Timer - t > 300 Then [a2].value = 0: [b2].value = 0: t = Timer 'каждые 300 сек. сброс значений [b2]=0, [a2]=0
  tLoop = Timer: Do While Timer - tLoop < 0.2: DoEvents: Loop   ' тут задержка чтоб проц не грузить
Loop
End Sub

Public Sub Stop_Rnd_min_max() 'это останавливает цикл
     stoper = 1
End Sub
[/vba]


Сообщение отредактировал al-Ex - Четверг, 21.04.2016, 15:37
 
Ответить
Сообщение[vba]
Код
'Всё это в модуль поместить надо.
Dim stoper As Integer
Public Sub Rnd_min_max()
   Dim maxVal As Double
     maxVal = 10000000000#: [a2].value = 0: [b2].value = 0:  stoper = 0
     t = Timer
Do While stoper = 0
  'запускает генератор  в ячейке [b1]
  'если не нужен просто занопь  строчку ниже
     Randomize: myVal = CDbl(Int((maxVal * Rnd()) + 1)): [b1] = myVal
  '--------------------------------
  '--тут читаем ячейку [b1] и сортируем-----------------
    If [b1].value < [a2].value Or [a2].value = 0 Then [a2].value = [b1].value  'минимумы в [a2]
    If [b1].value > [b2].value Then [b2].value = [b1].value                 'максимумы в [b2]
    If Timer - t > 300 Then [a2].value = 0: [b2].value = 0: t = Timer 'каждые 300 сек. сброс значений [b2]=0, [a2]=0
  tLoop = Timer: Do While Timer - tLoop < 0.2: DoEvents: Loop   ' тут задержка чтоб проц не грузить
Loop
End Sub

Public Sub Stop_Rnd_min_max() 'это останавливает цикл
     stoper = 1
End Sub
[/vba]

Автор - al-Ex
Дата добавления - 20.04.2016 в 21:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись значения из одной ячейки в другую (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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