gpt4 book ai didi

vba - 从 MS Excel 自定义对话框中的控件获取值

转载 作者:行者123 更新时间:2023-12-04 21:03:03 26 4
gpt4 key购买 nike

这里的第一个问题。我整个早上都在绞尽脑汁想在 Excel 的 VBA 中做的最简单的事情:获取用户在自定义对话框中输入文本框(列表框等)的值,然后通过宏复制它,进入一个单元格。不知道为什么它必须如此艰难。我已经尝试了 .Value 属性、.Text 属性等所有内容,但都显示为空白。

我会发布我的对话框的图像,但我还没有这样做的声誉。无论如何,假设它是一个带有 Amount 文本框和两个按钮的银行对话框:Ok 和 Cancel。

这是我的代码,减少到必要的部分:

Sub AddTransaction()
frmAddTransaction.Show
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = frmAddTransaction.txtAmount.Value
End Sub

Private Sub cmdCancel_Click()
Unload frmAddTransaction
End Sub

Private Sub cmdOk_Click()
Unload frmAddTransaction
End Sub

正如我所说,我已经尝试了 .Value 和 .Text 属性以及想到的所有其他属性。我试过把它扔进一个 MsgBox 或者只是把它粘到一个单元格中,在这一点上,我绞尽脑汁不仅要找到答案,还要弄清楚为什么微软制造如此艰难只是为了获得一个值(value)从一件事开始并将其放入一个单元格中。

按钮也一样:我想知道如何告诉宏按下了哪个按钮。我已经尝试使用任何看起来很有希望的属性,以及调整 .Top 属性,以便我可以比较该数字。一切。没有任何工作。

任何帮助都会很棒。我整个早上都被困在这个问题上。

最佳答案

您想将按钮添加到表单,而不是工作表。
因此,您在工作表上有 1 个按钮,上面写着“输入金额”,它运行以下内容:

Private Sub CommandButton1_Click()
frmAddTransaction.Show
End Sub

用户表单有 3 个元素:一个输入框(txtAmount)和两个按钮。
Private Sub Cancel_Click()
Me.Unload
End Sub

Private Sub OK_Click()
'modify this to add it to the correct cell
ActiveCell.Offset(0, 0).Value = txtAmount.Value
Me.Unload
End Sub

关于vba - 从 MS Excel 自定义对话框中的控件获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32337991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com