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

问题描述 投票:-4回答:1

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

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

感谢您的帮助。

excel-vba vba excel
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.