选择 ComboBox 值时更改 TextBox 值

Change TextBox value when Selecting ComboBox Value

希望你一切都好。我已经搜索了 VBA 代码来找到我的答案,但我找不到我要找的东西。

我在 excel 中有一个用户窗体,我放置了一个名为 'cboDonations' 的组合框和一个名为 'TBDonationAmt' 的文本框。

在 ComboBox 中,我有三个值(Guest、Members 和 Members+),此信息取自名为 'Data' 的 Sheet(A 列,单元格 2、3 和 4)。

同样在 'Data' sheet 上,我有一个名为 DonationAmount 的列,在单元格 2、3 和 4 中有 0、1 和 2(这意味着 $0、$1 和 $2 捐赠)。

我正在寻找的(如果有人愿意帮助我提供代码)是当我从组合框 select 'cboDonations' 中放置 selected 值时进入 TBDonationAmt 文本框。

现在这是棘手的一点,selected 值必须取自 sheet 数据和 DonationAmount 列。

换句话说

Select 来自组合框的值

从数据 Sheet 列 DonationAmount 获取信息。

在文本框中显示结果


如果我 select 来自 cboDonations 的访客,那么在 TBDonationAmt 中它将显示 $0

如果我 select 来自 cboDonations 的成员,那么在 TBDonationAmt 中它将显示 $1

如果我 select 来自 cboDonations 的成员+,那么在 TBDonationAmt 中它将显示 $2


我希望这是有道理的,如果有人好心解决我的小问题,我将不胜感激。提前谢谢你。

您可以使用组合框的 AfterUpdate 事件。当事件触发时,您检查当前(新)值并根据它设置文本框,例如:

Private Sub cboDonation_AfterUpdate()
    If (cboDonation.Value = "Guest") Then TBDonationAmt.Value = "[=10=]"
    ElseIf (cboDonation.Value = "Member") Then TBDonationAmt.Value = ""
    ElseIf (cboDonation.Value = "Member+") Then TBDonationAmt.Value = ""
    End If
End Sub

您在表单的代码 sheet 中定义此函数。