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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматический пересчет чисел в ячейках - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматический пересчет чисел в ячейках (Макросы/Sub)
Автоматический пересчет чисел в ячейках
tasdel Дата: Четверг, 26.05.2016, 19:11 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте уважаемые программисты!
Суть вопроса:При внесении числовых данных в любую активную ячейку остальные ячейки должны пересчитываться автоматически.
(конвертер единиц измерения)
Заранее спасибо!
К сообщению приложен файл: 9557578.xls (62.5 Kb)


Сообщение отредактировал tasdel - Четверг, 26.05.2016, 22:47
 
Ответить
СообщениеЗдравствуйте уважаемые программисты!
Суть вопроса:При внесении числовых данных в любую активную ячейку остальные ячейки должны пересчитываться автоматически.
(конвертер единиц измерения)
Заранее спасибо!

Автор - tasdel
Дата добавления - 26.05.2016 в 19:11
Manyasha Дата: Четверг, 26.05.2016, 22:13 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
tasdel, название темы никакое! Предложила бы что-то типа "Автоматический пересчет ячеек при изменении листа", но это будет тоже не правильно, т.к.
Цитата
Изменение данных в ячейках
а у Вас там картинка. Как Вы себе представляете изменение данных на картинке?

Аааа, я врубилась))
Но название темы все равно меняйте!


ЯД: 410013299366744 WM: R193491431804

Сообщение отредактировал Manyasha - Четверг, 26.05.2016, 22:17
 
Ответить
Сообщениеtasdel, название темы никакое! Предложила бы что-то типа "Автоматический пересчет ячеек при изменении листа", но это будет тоже не правильно, т.к.
Цитата
Изменение данных в ячейках
а у Вас там картинка. Как Вы себе представляете изменение данных на картинке?

Аааа, я врубилась))
Но название темы все равно меняйте!

Автор - Manyasha
Дата добавления - 26.05.2016 в 22:13
tasdel Дата: Четверг, 26.05.2016, 22:19 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Эту картинку я стыбзил с сайта для наглядного примера,для того чтобы упростить суть вопроса.
 
Ответить
СообщениеЭту картинку я стыбзил с сайта для наглядного примера,для того чтобы упростить суть вопроса.

Автор - tasdel
Дата добавления - 26.05.2016 в 22:19
tasdel Дата: Четверг, 26.05.2016, 22:31 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Просто хочется иметь свой собственный конвертер и не зависеть от интернета.
http://www.convert-me.com/ru/convert/power/ ссылка на сайт, где находится это замечательная программка.


Сообщение отредактировал tasdel - Четверг, 26.05.2016, 22:53
 
Ответить
СообщениеПросто хочется иметь свой собственный конвертер и не зависеть от интернета.
http://www.convert-me.com/ru/convert/power/ ссылка на сайт, где находится это замечательная программка.

Автор - tasdel
Дата добавления - 26.05.2016 в 22:31
Manyasha Дата: Четверг, 26.05.2016, 23:59 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
tasdel, конкретно для Вашего диапазона:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("e6:e11")) Is Nothing Then
        Application.EnableEvents = False
        Dim arrKoef
        arrKoef = Array(2.343, 1000, 3600 * 10 ^ -9, 10 ^ 6, 1000, 0.1186 * 10 ^ -6)
        r0 = Target.Row
        For n = Target.Row - 5 To Target.Row + UBound(arrKoef) - 6
            koef = n Mod (UBound(arrKoef) + 1)
            r = koef + 6
            Cells(r, 5) = arrKoef(koef) * Cells(r0, 5)
            r0 = r
        Next n
        Application.EnableEvents = True
    End If
End Sub
[/vba]
Файл перезалила
К сообщению приложен файл: 123.xls (72.5 Kb)


ЯД: 410013299366744 WM: R193491431804

Сообщение отредактировал Manyasha - Пятница, 27.05.2016, 00:01
 
Ответить
Сообщениеtasdel, конкретно для Вашего диапазона:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("e6:e11")) Is Nothing Then
        Application.EnableEvents = False
        Dim arrKoef
        arrKoef = Array(2.343, 1000, 3600 * 10 ^ -9, 10 ^ 6, 1000, 0.1186 * 10 ^ -6)
        r0 = Target.Row
        For n = Target.Row - 5 To Target.Row + UBound(arrKoef) - 6
            koef = n Mod (UBound(arrKoef) + 1)
            r = koef + 6
            Cells(r, 5) = arrKoef(koef) * Cells(r0, 5)
            r0 = r
        Next n
        Application.EnableEvents = True
    End If
End Sub
[/vba]
Файл перезалила

Автор - Manyasha
Дата добавления - 26.05.2016 в 23:59
tasdel Дата: Пятница, 27.05.2016, 01:25 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Огромное спасибо!
 
Ответить
СообщениеОгромное спасибо!

Автор - tasdel
Дата добавления - 27.05.2016 в 01:25
tasdel Дата: Пятница, 27.05.2016, 22:33 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Manyasha, Расширил диапазон на 15 ячеек задача усложнилась.
При вводе числовых данных в первую ячейку сверху, программа считает нормально,если вводишь данные в любую другую ячейку, программа начинает считать:"кто в лес кто по дрова".
Объясните пожалуйста, как работает строка?
[vba]
Код
arrKoef = Array(2.343, 1000, 3600 * 10 ^ -9, 10 ^ 6, 1000, 0.1186 * 10 ^ -6)
[/vba]
Заранее спасибо!


Сообщение отредактировал tasdel - Суббота, 28.05.2016, 09:19
 
Ответить
СообщениеManyasha, Расширил диапазон на 15 ячеек задача усложнилась.
При вводе числовых данных в первую ячейку сверху, программа считает нормально,если вводишь данные в любую другую ячейку, программа начинает считать:"кто в лес кто по дрова".
Объясните пожалуйста, как работает строка?
[vba]
Код
arrKoef = Array(2.343, 1000, 3600 * 10 ^ -9, 10 ^ 6, 1000, 0.1186 * 10 ^ -6)
[/vba]
Заранее спасибо!

Автор - tasdel
Дата добавления - 27.05.2016 в 22:33
tasdel Дата: Суббота, 28.05.2016, 09:43 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Разобрался!
 
Ответить
СообщениеРазобрался!

Автор - tasdel
Дата добавления - 28.05.2016 в 09:43
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматический пересчет чисел в ячейках (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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