excel - 如何更改 VBA Excel 中显示用户窗体的值

标签 excel userform vba

我对如何更改用户表单显示的内容有疑问。基本上我有一个宏,其中用户表单让用户选择用于该过程的单元格范围。然后,如果我在其他工作表中使用宏,之前使用的范围仍然存在。例如,如果在sheet1中我选择了“A20:A30”,然后在sheet2中使用相同的宏,则范围值仍然选择了sheet 1的“A20:A30”的值。我知道选择范围非常容易我想要,但我帮助的人希望每次运行宏时范围为空白,这样他就不必再次移动到事件工作表来选择范围。

这是一个带有图像的示例。在“CurvasTC”工作表(“Interpola”按钮仅显示用户表单)中,我选择一个范围并单击“Ejecutar”按钮运行该过程。然后,如果我转到“Volatilidad”工作表并运行该过程 用户表单出现时带有对工作表 TC 的引用,我希望它显示空白值或至少显示对事件工作表的引用。

Run 1

Run 2

这是用户表单的代码:

Public Sub CommandButton1_Click()

Dim rangoa As Range
Dim rangob As Range
Dim rangoc As Range

Set rangoa = Range(rangox.Value)
Set rangob = Range(rangoy.Value)
Set rangoc = Range(rangoxout.Value)

ventana.Hide
Run (I_Lineal(rangoa, rangob, rangoc))

End Sub

Private Sub Label1_Click()

End Sub

Private Sub Label3_Click()

End Sub

Private Sub rangox_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)

End Sub

Private Sub rangoxout_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)

End Sub

Private Sub UserForm_Click()

End Sub

Interpola 按钮的代码非常简单:

Sub corrermacro()
   ventana.Show
End Sub

您选择范围的用户表单称为“ventana”。

最佳答案

您只是隐藏了子末尾的表单。这将使其不可见但仍然存在(及其所有内容)。如果您希望下次初始化表单时它为空,那么您应该卸载表单:Unload ventana

因此,您应该将其添加到子项的末尾。只需知道表单上的所有数据在该命令之后不再可用。因此,该命令应该是子命令中的最后一个命令:

Public Sub CommandButton1_Click()

Dim rangoa As Range
Dim rangob As Range
Dim rangoc As Range

Set rangoa = Range(rangox.Value)
Set rangob = Range(rangoy.Value)
Set rangoc = Range(rangoxout.Value)

ventana.Hide
Run (I_Lineal(rangoa, rangob, rangoc))
Unload ventana

End Sub

关于excel - 如何更改 VBA Excel 中显示用户窗体的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37121215/

相关文章:

excel - 如何限制用户仅在 Excel 用户表单中具有相同名称模式的所有文本框/文本框中输入数字

excel - 如何加速我的 VBA 脚本

c# - 如何在 MVC 中使用 EPPlus 从服务器下载 .xlsx 文件

c# - 重命名 Excel 工作表时遇到问题

java - 尝试使用 Apache POI-HSSF 读取 MS Excel 文件时出现 IndexOutOfBoundsException

Excel VBA 用户窗体上下文菜单类代码

image - 使用 VBA 在文件中插入和保留图像 - Excel 2013

使用未显式实例化的 VBA 用户表单

Excel自带函数: Compile error: Sub or Function not defined

excel - 如果列和行是变量,则选择一个范围