【问题标题】:Change TextBox value when Selecting ComboBox Value选择组合框值时更改文本框值
【发布时间】:2021-08-17 08:40:22
【问题描述】:

我希望你一切都好。我已经搜索了 VBA 代码以找到我的答案,但我找不到我正在寻找的确切内容。

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

在 ComboBox 中,我有三个值(Guest、Members 和 Members+),这些信息取自名为“Data”的工作表(A 列,单元格 2、3 和 4)。

此外,在“数据”表上,我在单元格 2、3 和 4 中有一个名为 DonationAmount 的列,其中包含 0、1 和 2(这意味着 0、1 和 2 美元的捐款)。

我正在寻找的(如果有人愿意用代码帮助我的话)是当我从组合框“cboDonations”中选择时,它会将所选值放入 TBDonationAmt 文本框中。

现在这是一个棘手的问题,必须从工作表数据和列 DonationAmount 中获取所选值。

换句话说

从组合框中选择值

从数据表列 DonationAmount 获取信息。

在文本框中显示结果


如果我从 cboDonations 中选择 Guest,那么在 TBDonationAmt 中它将显示 $0

如果我从 cboDonations 中选择 Member,那么在 TBDonationAmt 中它将显示 $1

如果我从 cboDonations 中选择 Member+,那么在 TBDonationAmt 中它将显示 $2


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

【问题讨论】:

  • 请不要在您的问题标题中编辑 [已解决]。人们可以看到这个问题有答案,这就足够了。此外,您可能需要考虑接受对您有帮助的答案。
  • @RJPhoto 除了以上评论:见Someone answers

标签: excel vba combobox textbox userform


【解决方案1】:

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

Private Sub cboDonation_AfterUpdate()
    If (cboDonation.Value = "Guest") Then TBDonationAmt.Value = "$0"
    ElseIf (cboDonation.Value = "Member") Then TBDonationAmt.Value = "$1"
    ElseIf (cboDonation.Value = "Member+") Then TBDonationAmt.Value = "$2"
    End If
End Sub

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多