Получение суммы значений нескольких полей со списком в одно текстовое поле

Простая система точек продаж, которая показывает 2 продукта: яблоко и банан, каждая цена 10. Мне нужно отобразить общую сумму.

Я использовал событие cmbApple_Change() Я использовал оператор if elseif

Я смог получить результат только для 1 выпадающего списка.

Private Sub cmbApple_Change()

If cmbApple.Value = 0 Then
    txtTotal.Text = 0
ElseIf cmbApple.Value = 1 Then
    txtTotal.Text = 10
ElseIf cmbApple.Value = 2 Then
    txtTotal.Text = 20
ElseIf cmbApple.Value = 3 Then
    txtTotal.Text = 30
End If

End Sub

Получение суммы значений нескольких полей со списком в одно текстовое поле

Ошибка:

Получение суммы значений нескольких полей со списком в одно текстовое поле

txtTotal.Text = cmbApple.Value + cmbBanana.Value это должно работать
Damian 27.05.2019 10:16

Поле со списком представляет только количество продуктов, которые нужно купить. Яблоко и банан стоят всего 10 песо. мой код работает только для яблока, но я хотел включить туда банан.

Bamboo Fox 27.05.2019 10:25

Вам нужно будет добавить еще одно событие (cmbBanana_Change()), чтобы отслеживать изменения в вашем банановом ComboBox.

FAB 27.05.2019 10:25
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
3
191
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Таким образом, вы всегда будете иметь общее значение:

Private Sub cmbApple_Change()

    Dim BananaItems As Byte
    Dim AppleItems As Byte

    On Error Resume Next
    AppleItems = cmbApple.Value
    BananaItems = cmbBanana.Value
    On Error GoTo 0

    TxtTotal.Text = AppleItems * 10 + BananaItems * 10

End Sub
Private Sub cmbBanana_Change()

    Dim BananaItems As Byte
    Dim AppleItems As Byte

    On Error Resume Next
    AppleItems = cmbApple.Value
    BananaItems = cmbBanana.Value
    On Error GoTo 0

    TxtTotal.Text = AppleItems * 10 + BananaItems * 10

End Sub
Private Sub UserForm_Initialize()

    Dim i As Byte

    With cmbApple
        For i = 0 To 5
            .AddItem (i)
        Next i
    End With
    With cmbBanana
        For i = 0 To 5
            .AddItem (i)
        Next i
    End With    

End Sub

Это просто, но работает для вашего примера. Если вам нужно часто менять цену, есть и другие способы.

Обновлено: проверьте отредактированный ответ, также изменили свой код для добавления элементов, вы можете изменить For i = 0 to 5 на любое число (максимум 256)

Я получил ошибку Ошибка 13: Несоответствие типов. Я даже меняю свойство txtTotal на значение вместо Text.

Bamboo Fox 27.05.2019 10:32

У вас не работало?? Один и тот же код, но для обоих предметов.

Damian 27.05.2019 10:36

Да, у меня это не работает .. У меня ошибка, о которой я упоминаю.

Bamboo Fox 27.05.2019 10:40

@BambooFox проверь мой ответ сейчас

Damian 27.05.2019 10:58

ты гений, Бадди.. Большое тебе спасибо.. Теперь я могу включить этот код в свой проект. Пожалуйста, проверьте мой предыдущий вопрос, у меня есть commandButton, который перемещает данные на лист excel.

Bamboo Fox 27.05.2019 11:04

Другие вопросы по теме