如何更改 VBA Excel 中显示用户窗体的值
How to change the values that shows a UserForm in VBA Excel
我对如何更改用户表单显示的内容有疑问。基本上我有一个宏,其中一个用户表单让用户选择要用于该过程的单元格范围。然后如果我在其他工作中使用宏 sheet 之前使用的范围仍然存在。例如,如果在 sheet1 中我 selected "A20:A30" 然后我在 sheet2 中使用相同的宏,范围值仍然具有 selected 值sheet 的 "A20:A30" 1. 我知道只 select 我想要的范围很容易,但是我帮助的人希望每次你 运行宏,这样他就不用再移动到活动sheet到select的范围了。
这是一个图片示例。在sheet"CurvasTC"(按钮"Interpola"只显示用户表单)我select一个范围和运行单击按钮"Ejecutar"的过程.然后,如果我转到 sheet "Volatilidad" 和 运行 过程
用户表单出现了对 sheet TC 的引用 我希望它显示空白值或至少对活动 sheet.
的引用
这是用户表单的代码:
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
您 select 范围内的用户表单称为 "ventana"。
您只是将表格隐藏在您的子句末尾。这将使它 invisible
但仍然存在(及其所有内容)。如果您希望下次初始化表单时它是空白的,那么您应该 unload
表单: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
我对如何更改用户表单显示的内容有疑问。基本上我有一个宏,其中一个用户表单让用户选择要用于该过程的单元格范围。然后如果我在其他工作中使用宏 sheet 之前使用的范围仍然存在。例如,如果在 sheet1 中我 selected "A20:A30" 然后我在 sheet2 中使用相同的宏,范围值仍然具有 selected 值sheet 的 "A20:A30" 1. 我知道只 select 我想要的范围很容易,但是我帮助的人希望每次你 运行宏,这样他就不用再移动到活动sheet到select的范围了。
这是一个图片示例。在sheet"CurvasTC"(按钮"Interpola"只显示用户表单)我select一个范围和运行单击按钮"Ejecutar"的过程.然后,如果我转到 sheet "Volatilidad" 和 运行 过程 用户表单出现了对 sheet TC 的引用 我希望它显示空白值或至少对活动 sheet.
的引用这是用户表单的代码:
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
您 select 范围内的用户表单称为 "ventana"。
您只是将表格隐藏在您的子句末尾。这将使它 invisible
但仍然存在(及其所有内容)。如果您希望下次初始化表单时它是空白的,那么您应该 unload
表单: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