gpt4 book ai didi

excel - 在 VBA 中访问 Microsoft Forms 2.0 框架控件

转载 作者:行者123 更新时间:2023-12-04 20:32:00 28 4
gpt4 key购买 nike

我发现让控件在 Excel 中的 Frame 中可见的唯一方法是使用鼠标右键单击 Edit 来添加它们。但是当我这样做时,控件没有在 VBA 中列出。

这些是工作表上的控件:

Controls

第一个选项按钮是 optToday,第一个文本框 txtToday,第二个选项按钮 optDate,第二个文本框 txtDate。框架是groupDate,按钮是cmdGetWeek,第三个文本框是txtWeekofMonth。

但这就是 VBA 中出现的全部内容:

Controls Missing

当用户单击按钮时,我希望调用一个函数来计算月份中的星期几。如果用户选择今天,这是将发送到函数的日期。如果用户选择了将被发送的不同日期。

我到目前为止的代码是这样的:

Private Sub cmdGetWeek_Click()
Dim selectedDate As Date
Dim calcWeekNum

If (optToday.Value = True) Then
selectedDate = txtToday.Value
Else:
selectedDate = txtDate.Value
End If
MsgBox ("Selected: " & selectedDate)
calcWeekNum = WeekOfMonth(selectedDate) End Sub

我收到“If (optToday.Value = True) Then”的运行时错误“424”。

访问框架控件的正确方法是什么?

最佳答案

不清楚您添加的是表单框架还是 ActiveX 框架。

默认情况下,可以从“插入”菜单插入表单框架:

Insert Menu

为了能够在 VBA 中处理控件事件,您需要使用 Frame 控件的 ActiveX 形式...但默认情况下,Frame ActiveX 控件在“插入”菜单上不可见。您需要按更多控件按钮:

enter image description here

然后从控件列表中选择 Microsoft Forms 2.0 Frame Control:

enter image description here

然后,您需要确保添加选项按钮和其他控件的 ActiveX 表单...然后,所有控件(及其事件),包括框架和选项按钮都将出现在工作表的事件下拉列表中.

关于excel - 在 VBA 中访问 Microsoft Forms 2.0 框架控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48797701/

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