Калькулятор VBA для выполнения более 1 сложения, вычитания, умножения или деления помогает
Zimmerman
Известный член
- #1
Надеюсь, это легко исправить. Я нашел сайт о том, как создать калькулятор в Excel с помощью пользовательской формы. Все работает нормально, когда я просто складываю, вычитаю, умножаю или делю 2 числа (т.е. 3×3=9) Но когда я иду, чтобы попытаться умножить или что-то еще с 3 числами, это дает мне только результат последних 2 введенных чисел. Кто-нибудь знает, как это сложение вычесть или что-то еще более чем 3 разных числа? (т.е. 3x3x3=27)
Ниже приведен код, который выполняет вычисления
Код:
Частная подписка cmdBtn0_Click() txtRes = txtRes + cmdBtn0. Caption Конец сабвуфера Частная подписка cmdBtn1_Click() Если txtRes = 0 Тогда txtRes = cmdBtn1.Caption Еще txtRes = txtRes + cmdBtn1.Caption Конец, если Конец сабвуфера Частная подписка cmdBtn2_Click() Если txtRes = 0 Тогда txtRes = cmdBtn2.Caption Еще txtRes = txtRes + cmdBtn2.Caption Конец, если Конец сабвуфера Частная подписка cmdBtn3_Click() Если txtRes = 0 Тогда txtRes = cmdBtn3.Caption Еще txtRes = txtRes + cmdBtn3.Caption Конец, если Конец сабвуфера Частная подписка cmdBtn4_Click() Если txtRes = 0 Тогда txtRes = cmdBtn4.Caption Еще txtRes = txtRes + cmdBtn4.Caption Конец, если Конец сабвуфера Частная подписка cmdBtn5_Click() Если txtRes = 0 Тогда txtRes = cmdBtn5.Caption Еще txtRes = txtRes + cmdBtn5.Caption Конец, если Конец сабвуфера Частная подписка cmdBtn6_Click() Если txtRes = 0 Тогда txtRes = cmdBtn6.Caption Еще txtRes = txtRes + cmdBtn6.Caption Конец, если Конец сабвуфера Частная подписка cmdBtn7_Click() Если txtRes = 0 Тогда txtRes = cmdBtn7.Caption Еще txtRes = txtRes + cmdBtn7. Caption Конец, если Конец сабвуфера Частная подписка cmdBtn8_Click() Если txtRes = 0 Тогда txtRes = cmdBtn8.Caption Еще txtRes = txtRes + cmdBtn8.Caption Конец, если Конец сабвуфера Частная подписка cmdBtn9_Нажмите() Если txtRes = 0 Тогда txtRes = cmdBtn9.Caption Еще txtRes = txtRes + cmdBtn9.Caption Конец, если Конец сабвуфера Частная подписка cmdBtnAdd_Click() Если txtRes <> 0 Тогда txtDisplay = txtRes текстовое разрешение = 0 calVal = "Добавить" Конец, если Конец сабвуфера Частная подписка cmdBtnBak_Click() Если txtRes <> 0 И txtRes <> "" Тогда txtRes = Left(txtRes, Len(txtRes) - 1) Конец сабвуфера Частная подписка cmdBtnclr_Click() txtRes = 0: txtDisplay = Пусто Конец сабвуфера Частная подписка cmdBtnDot_Click() Если txtRes <> 0, то txtRes = txtRes + "." Конец сабвуфера Частная подписка cmdBtnDvd_Click() Если txtRes <>0 Тогда txtDisplay = txtRes текстовое разрешение = 0 calVal = "Разделить" Конец, если Конец сабвуфера Частная подписка cmdBtnEql_Click() При ошибке GoTo ErrOcccered 'Тусклый txtRes As Long Если txtDisplay = "Невозможно разделить на ноль", тогда txtDisplay = Пусто Если txtRes <> "" И calVal <> "" Тогда FNum = Val(txtDisplay): SNum = Val(txtRes) Выберите Case calVal Дело «Добавить» txtRes = FNum + SNum Кейс "Минус" txtRes = FNum - SNum Кейс «Умножение» txtRes = FNum * SNum Кейс "Разделить" Если СНум = 0 Тогда txtRes = «Невозможно разделить на ноль» Еще txtRes = FNum / SNum Конец, если Дело еще Конец выбора txtDisplay = Пусто Конец, если Ошибка: Конец сабвуфера Частная подписка cmdBtnMns_Click() Если txtRes <> 0 Тогда txtDisplay = txtRes текстовое разрешение = 0 калВал = "Минус" Конец, если Конец сабвуфера Частная подписка cmdBtnMult_Click() Если txtRes <> 0 Тогда txtDisplay = txtRes текстовое разрешение = 0 calVal = "Умножение" Конец, если Конец сабвуфера Частная подпрограмма txtDisplay_Change() Если txtRes. TextLength > 1 Тогда txtRes.Text = Слева (txtRes.Text, 10) Выйти из подпрограммы Конец, если Конец сабвуфера 2. Для отображения сообщения при превышении более 10 номеров в области отображения. Частная подпрограмма txtRes_Change() Если txtRes.TextLength > 10 Тогда MsgBox "Слишком долго вычислять значение.", vbInformation txtRes.Text = Слева (txtRes.Text, 10) Выйти из подпрограммы Конец, если Конец суб
Заранее спасибо
Excel 2010
Когда Power Query дебютировал в Excel?
Нажмите здесь, чтобы открыть ответ
Несмотря на то, что это была надстройка в Excel 2010 и Excel 2013, Power Query стала частью Excel в 2016 году, в Data, Get & Transform Data.
Сортировать по дате Сортировать по голосам
бейтмастер
Известный член
- #2
Я думаю, это может быть связано с тем, как объявляются ваши переменные. Можете ли вы опубликовать объявления переменных, пожалуйста,
Голосовать за 0
бейтмастер
Известный член
- #3
глядя на это, есть шанс, что ваши переменные вообще не объявлены. FNum и SNum — две ваши числовые переменные, предположительно (F) первая и (S) вторая. Чтобы использовать больше чисел, вам нужно объявить больше переменных — в идеале вы хотите попробовать использовать вместо этого массив, поскольку у вас будет неограниченное количество доступных чисел. В качестве альтернативы, как и в обычном калькуляторе, вы можете захотеть сохранить результаты в памяти с помощью переменной PUBLIC, чтобы вы могли повторно использовать их в новых вычислениях.0021
Голосовать за 0
Циммерман
Известный член
- #4
Извините. У меня есть это в Module4. Я уверен, что делаю это неправильно, но опять же, я только что нашел сайт, который провел меня через это.
Код:
Общедоступная переменная tmpVar как строка Общедоступный calVal как строка
Голосовать за 0
Вы должны войти или зарегистрироваться, чтобы ответить здесь.
, можете ли вы помочь мне изменить этот код для объединения данных в списке в пользовательской форме и вычисления значений среди них?
- сафтави1
- Вопросы Excel
- Ответов
- 3
- просмотров
- 117
saftawy1
Необходимо добавить события _AfterUpdate в динамически создаваемый класс
- Matrovsky
- Вопросы Excel
- Ответы
- 1
- просмотров
- 405
Матровский
VBA работает на рабочем ПК, но не на домашнем ПК
- LordVoldetort_IV
- Вопросы Excel
- Ответы
- 3
- просмотров
- 948
rollis13
Средство чтения с экрана Excel при навигации с помощью мыши (только с VBA)
- Джаафар Трайбак
- Вопросы Excel
- Ответы
- 7
- просмотров
- 2К
Джафар Трибак
Стандартное поле ввода VBA вынуждено принимать более 256 символов (до 4280) + другие интересные функции.
- Джафар Трибак
- Вопросы Excel
- Ответы
- 4
- просмотров
- 2К
Audeser
Делиться:
Фейсбук Твиттер Реддит Пинтерест Тамблер WhatsApp Электронная почта Делиться Связь
2.4: Значимые цифры в расчетах
- Последнее обновление
- Сохранить как PDF
- Идентификатор страницы
- 47449
Цели обучения
- Правильно использовать значащие цифры в арифметических операциях.
Округление
Прежде чем разбираться с особенностями правил определения значащих цифр в вычисляемом результате, нужно уметь правильно округлять числа. Чтобы округлить число, сначала решите, сколько значащих цифр должно быть в числе. Как только вы это узнаете, округлите до указанного количества цифр, начиная слева. Если число непосредственно справа от последней значащей цифры меньше 5, оно отбрасывается, а значение последней значащей цифры остается прежним. Если число непосредственно справа от последней значащей цифры больше или равно 5, последняя значащая цифра увеличивается на 1.
Рассмотрим измерение \(207,518 \: \text{m}\). Прямо сейчас измерение содержит шесть значащих цифр. Как бы мы последовательно округляли его до все меньшего и меньшего числа значащих цифр? Следуйте процессу, указанному в таблице \(\PageIndex{1}\).
Количество значащих цифр | Округленное значение | Рассуждение |
---|---|---|
6 | 207,518 | Все цифры значащие |
5 | 207,52 | 8 раундов от 1 до 2 |
4 | 207,5 | 2 выпадает |
3 | 208 | 5 раундов от 7 до 8 |
2 | 210 | 8 заменяется на 0 и округляет 0 до 1 |
1 | 200 | 1 заменяется на 0 |
Обратите внимание, что чем больше округление сделано, тем менее надежна цифра. Приблизительного значения может быть достаточно для некоторых целей, но научная работа требует гораздо более высокого уровня детализации.
При математических операциях с числами важно помнить о значащих цифрах. Например, деление 125 на 307 на калькуляторе дает 0,4071661238… с бесконечным числом цифр. Но имеют ли цифры в этом ответе какое-либо практическое значение, особенно когда вы начинаете с чисел, каждое из которых имеет только три значащих цифры? При выполнении математических операций существует два правила ограничения количества значащих цифр в ответе: одно правило для сложения и вычитания, а другое правило для умножения и деления.
В операциях со значащими цифрами ответ сообщается таким образом, чтобы он отражал надежность наименее точной операции. Ответ не более точен, чем наименее точное число, использованное для получения ответа.
Умножение и деление
Для умножения или деления правило состоит в том, чтобы подсчитать количество значащих цифр в каждом умножаемом или делимом числе, а затем ограничить значащие цифры в ответе до наименьшего количества. Например:
Окончательный ответ, ограниченный четырьмя значащими цифрами, равен 4094. Первая отброшенная цифра — 1, поэтому мы не округляем.
Экспертная запись обеспечивает способ передачи значащих цифр без двусмысленности. Вы просто включаете все значащие цифры в начальное число. Например, число 450 имеет две значащие цифры и будет записано в экспоненциальном представлении как 4,5 × 10 2 , тогда как число 450,0 имеет четыре значащих цифры и будет записано как 4,500 × 10 9 .0409 2 . В экспоненциальном представлении все значащие цифры указаны явно.
Пример \(\PageIndex{1}\)
Запишите ответ для каждого выражения в экспоненциальном представлении с соответствующим количеством значащих цифр.
- 23,096 × 90,300
- 125 × 9.000
Solution
a
b
Пояснение | Ответить |
---|---|
Калькулятор дает ответ 1125, но мы ограничиваем его тремя значащими цифрами. 93\) |
Сложение и вычитание
Как обрабатываются значащие числа в вычислениях? Это зависит от того, какой тип расчета выполняется. Если вычисление представляет собой сложение или вычитание, правило следующее: ограничьте сообщаемый ответ крайним правым столбцом, в котором все числа имеют общие значащие цифры. Например, если вы должны сложить 1,2 и 4,71, мы заметим, что первое число останавливает свои значащие цифры в столбце десятых, а второе число останавливает свои значащие цифры в столбце сотых. Поэтому мы ограничиваем наш ответ десятым столбцом.
Мы опускаем последнюю цифру — 1 — потому что она не имеет значения для окончательного ответа.
Отбрасывание позиций в суммах и разностях поднимает тему округления. Несмотря на некоторые соглашения, в этом тексте мы примем следующее правило: окончательный ответ следует округлить в большую сторону, если первая пропущенная цифра 5 или больше, и округлить в меньшую сторону, если первая пропущенная цифра меньше 5.
Пример \(\PageIndex{2}\)
- 13,77 + 908.226
- 1027 + 611 + 363,06
Решение
a
Пояснение | Ответить |
---|---|
Ответ калькулятора: 92\) |
b
Пояснение | Ответить | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Калькулятор дает ответ 2001,06, но поскольку 611 и 1027 имеют крайнюю правую значащую цифру в разряде единиц, окончательный ответ должен быть ограничен разрядом единиц. 90\) Помните, что калькуляторы не понимают значащие цифры. Вы тот, кто должен применить правила значащих цифр к результату вашего калькулятора. Вычисления, включающие умножение/деление и сложение/вычитаниеНа практике химики обычно работают с калькулятором и переносят все цифры вперед в последующих вычислениях. Однако при работе на бумаге мы часто хотим свести к минимуму количество цифр, которые нам приходится записывать. Поскольку последовательное округление может усугубить неточности, промежуточное округление должно выполняться правильно. При работе на бумаге всегда округляйте промежуточный результат, чтобы сохранить хотя бы на одну цифру больше, чем можно оправдать, и переносите это число на следующий шаг в расчетах. Затем окончательный ответ округляется до правильного количества значащих цифр в самом конце. Видео \(\PageIndex{1}\): Значительные цифры в смешанных операциях (https://www.youtube.com/watch?v=yBntMndXQWA). Видео \(\PageIndex{2}\): https://www.youtube.com/watch?v=__csP0NtlGIВ рабочих примерах в этом тексте мы часто будем показывать результаты промежуточных шагов расчета. При этом мы покажем результаты только для правильного количества значащих цифр, разрешенных для этого шага, фактически рассматривая каждый шаг как отдельный расчет. Эта процедура предназначена для закрепления правил определения количества значащих цифр, но в некоторых случаях она может давать окончательный ответ, отличающийся последней цифрой от полученного с помощью калькулятора, где все цифры переносятся на последний шаг. Пример \(\PageIndex{3}\)
Раствора.
б.
в.
Упражнение \(\PageIndex{3}\)Выполните вычисления и запишите свои ответы, используя правильное количество значащих цифр.
Сводка
|