用于在其他工作表中打开userform的快捷方式按钮

时间:2018-03-04 06:26:41

标签: excel-vba vba excel

我有一本包含各种工作表的工作簿。每个工作表都有一个按钮,用于打开用户表单,用于在相应的工作表中输入数据。例如。按钮1在" sheet1"打开userform1以在sheet1中输入数据。按钮2在" sheet2"打开userform2以在sheet2中输入数据,依此类推。

我想为主页中的每个按钮1,2创建快捷按钮,以直接打开我想要的相应用户形式。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为按钮是表单控件,你重命名他们的标题" Form1"," Form2"等等 .. 第一个工作表名称是" Main" >>所以请尝试将您的按钮复制到主页

的代码
Sub Test()
Dim ws          As Worksheet
Dim sh          As Worksheet
Dim shp         As Shape
Dim rw          As Long

Set ws = ThisWorkbook.Worksheets("Main")
rw = 5

Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> ws.Name Then
            sh.Activate
            For Each shp In ActiveSheet.Shapes
                If shp.Type = msoOLEControlObject Or shp.Type = msoFormControl Then
                    If Left(shp.AlternativeText, 4) = "Form" Then
                        shp.Copy
                        Application.Goto Sheets("Main").Range("G" & rw)
                        ActiveSheet.Paste
                        rw = rw + 2
                    End If
                End If
            Next shp
        End If
    Next sh
Application.ScreenUpdating = True
End Sub