首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用UserForm从所选工作簿中选择工作表

UserForm 是 Visual Basic for Applications (VBA) 中的一个对象,用于创建自定义的用户界面。通过 UserForm,可以方便地从所选工作簿中选择工作表。下面是一个完善且全面的答案:

UserForm 是 VBA 中的一个对象,用于创建自定义的用户界面。通过 UserForm,可以方便地从所选工作簿中选择工作表。下面是一个示例代码,演示如何使用 UserForm 实现这个功能:

  1. 首先,在 VBA 编辑器中,通过按下 Alt + F11 快捷键打开 VBA 编辑器。
  2. 在 VBA 编辑器中,选择所需的工作簿,然后插入一个新的模块。
  3. 在新的模块中,编写以下代码:
代码语言:vba
复制
Sub SelectWorksheet()
    Dim ws As Worksheet
    Dim frm As UserForm
    
    ' 创建 UserForm
    Set frm = New UserForm
    
    ' 设置 UserForm 的属性
    With frm
        .Caption = "选择工作表"
        .Width = 300
        .Height = 200
    End With
    
    ' 添加一个列表框控件到 UserForm
    With frm.Controls.Add("Forms.ListBox.1")
        .Left = 10
        .Top = 10
        .Width = 280
        .Height = 150
        
        ' 填充列表框控件的选项
        For Each ws In ThisWorkbook.Worksheets
            .AddItem ws.Name
        Next ws
    End With
    
    ' 添加一个确定按钮到 UserForm
    With frm.Controls.Add("Forms.CommandButton.1")
        .Caption = "确定"
        .Left = 110
        .Top = 170
        .Width = 80
        .Height = 20
        
        ' 设置按钮的点击事件
        With frm.CodeModule
            .InsertLines .CountOfLines + 1, "Private Sub CommandButton1_Click()"
            .InsertLines .CountOfLines + 1, "    Dim selectedSheet As String"
            .InsertLines .CountOfLines + 1, "    selectedSheet = ListBox1.Value"
            .InsertLines .CountOfLines + 1, "    MsgBox ""您选择了 "" & selectedSheet & "" 工作表。"""
            .InsertLines .CountOfLines + 1, "    Unload Me"
            .InsertLines .CountOfLines + 1, "End Sub"
        End With
    End With
    
    ' 显示 UserForm
    frm.Show
End Sub
  1. 关闭 VBA 编辑器。
  2. 在 Excel 中,按下 Alt + F8 快捷键,打开宏对话框。
  3. 选择 "SelectWorksheet" 宏,并点击 "运行" 按钮。
  4. 弹出的 UserForm 中,可以看到一个列表框控件,其中列出了当前工作簿中的所有工作表。
  5. 选择所需的工作表,并点击 "确定" 按钮。
  6. 弹出一个消息框,显示您选择的工作表的名称。

通过以上步骤,您可以使用 UserForm 从所选工作簿中选择工作表。这种方法可以提高用户体验,并简化工作表的选择过程。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

自动合并工作簿工作数据

合并多表数据是工作中常见的情形。本文介绍一种在Excel及Power BI使用任何公式,快速合并一个工作簿多个工作的方法。...Excel如果使用2013版请确保装有Power Query插件,2016及以上版本自带无需安装,本文以2016演示。 下图是我们的数据源,某工作簿中有三张工作,分别是不同店铺的产品数量。...在以上动画中,标题是手敲的,还可以使用“将第一行用作标题”的功能提升标题。但这样会有隐患。...在Power BI操作思路雷同,只是路径略微不同: 以后工作内数据变更,甚至工作增加,所有数据都可以自动合并进来。...其他相关文章: 合并多个txt文件 https://zhuanlan.zhihu.com/p/58162155 合并多个工作簿文件 https://zhuanlan.zhihu.com/p/33242802

1.5K40

VBA代码:拆分工作簿示例——将工作簿的每个工作保存为单独的工作簿

标签:VBA 有时候,我们想将工作簿的每个工作都保存为一个单独的工作簿。 你可以使用下面的操作逐个保存工作: 1.在工作标签单击右键。 2.选取“移动或复制…”命令。...3.选择“(新工作簿)”。 4.保存该工作簿。 图1 这样,有多少工作,你就要操作上面的步骤多少次。 然而,如果存在很多个工作簿,这样的重复工作使用VBA是最合适的。...msoFileDialogFolderPicker) .InitialFileName =Application.DefaultFilePath & "\" .Title = "选择保存工作的位置...Next wks Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub 只需在要拆分的工作簿运行上述代码...,就可将该工作簿的所有工作全部保存为单独的工作簿

3.8K10

快速汇总多个工作簿工作的数据(Excel工具推荐)

有时候我们会遇到这种问题: 很多数据散落在很多工作或者工作簿,由于某项工作我们需要将这些数据做个汇总。...然后有一天我在ExcelHome论坛发现了版主写的一个神器,可以自动生成SQL语句,实现跨工作簿/工作进行数据汇总透视。(点击阅读原文可以找到工具下载链接)下面介绍下该工具的使用方式。...可以看到 1.所有工作簿的所有工作都显示在了左侧的列表里。这个时候我们可以选择部分工作簿/工作进行汇总,也可以全选,看需求而定。此处我们全选。...2.右侧列出了涉及工作的所有字段,你可以只选你需要的字段进行显示。...3.可以看到有“插入工作簿名”,“插入工作名”按钮,这两个按钮的意思是是否需要将工作簿/工作的名称作为数据透视的字段,此处我们假设想看各月的汇总情况,因此需要点击“插入工作簿名”。

10.6K10

VBA: 将多个工作簿的第一张工作合并到一个工作簿

文章背景: 在工作,有时需要将多个工作簿进行合并,比如将多份原始数据附在报告之后。...一般的操作方法是打开两个工作簿(目标工作簿和待转移的工作簿),然后选中需要移动的工作,右键单击以后选择“移动或复制”。接下来在新的对话框里面进行设置。 这种方法适合在移动少量工作的时候使用。...在目标工作簿内,插入一个模块,然后导入如下的代码: Option Explicit Sub MergeWorkbook() '将多个工作簿的第一张工作合并到目标工作簿...End Sub (1) 将目标工作簿和待转移的工作簿放在同一个文件夹内; (2)上述代码要实现的功能是,将同一个文件夹内所有工作簿(目标工作簿除外)的第一张工作拷贝到目标工作簿内,并将名设置为拷贝前所属的工作簿名称...转移前: 转移后: 参考资料: [1] 如何使用Excel VBA将多个工作簿的全部工作合并到一个工作簿(https://zhuanlan.zhihu.com/p/76786888)

5.4K11

Excel应用实践21:实现工作簿所有工作的多值替换

学习Excel技术,关注微信公众号: excelperfect 有两个工作簿,一个工作簿存放着要查找并替换成的文本,如下图1所示,列A是要查找的文本,将列A查找到的文本替换成列B相应的文本,例如...图1 另一个工作簿是我们要替换其文本的工作簿,我们要在该工作簿所有工作查找上图1列A的值并将找到的文本替成列B的文本,如图2所示。 ? 图2 要实现的结果如下图3所示。 ?...图3 使用下面的VBA代码来完成上述任务。...For Each wks In ReplaceInWB.Worksheets '使用替换文本来替换工作的数据 With ReplaceList...选择工作簿文件后,将根据上图1工作的文本自动对该工作簿的文本进行查找和替换操作。 ? 图4 代码的图片版如下: ?

2.9K10

yhd-VBA从一个工作簿的某工作查找符合条件的数据插入到另一个工作簿的某工作

今天把学习的源文件共享了出来,供大家学习使用 上次想到要学习这个 结合网友也提出意见,做一个,如果有用,请下载或复制代码使用 【问题】我们在工作中有时要在某个文件(工作簿查找一些数据,提取出来...想要做好了以后同样的工作就方便了 【想法】 在一个程序主控文件 设定:数据源文件(要在那里查找的工作簿) 设定:目标文件(要保存起来的那个文件) 输入你要查找的数据:如:含有:杨过,郭靖的数据。...要复制整行出来 主控文件设定如图 数据源文件有两个工作 查找到"郭靖"的数据保存到目标文件的【射雕英雄传】工作 查找到"杨过"的数据保存到目标文件的【第一个】工作 【代码】 Sub...从一个工作簿的某工作查找符合条件的数据插入到另一个工作簿的某工作() Dim outFile As String, inFile As String Dim outWb As...则没有找到匹配的 MsgBox ("一个也没找到") End If '==end=工作内部

5.1K22

Excel实战技巧64: 工作簿获取数据(不使用VBA)

这是在研读《Escape From Excel Hell》时学到的技术,工作簿或者其他工作簿获取所需要的数据,以便于作进一步的分析或者绘制Excel图表。 下图1所示是用于获取数据的工作。...用于输入的有4个单元格(背景色为橙色),其中单元格A6输入源数据(即要从哪里获取数据)所在的工作簿名称;单元格A7为源数据所在的工作名称;单元格A8为源数据起始单元格的名称;单元格C5为数据所在列号...单元格C6开始的列C的公式为: =OFFSET(INDIRECT(SourceDataLocation,A1Status),ROW()-ROW(C$5)-1,C$5-1) 获取相应的数据。...其中,SourceDataLocation为源数据工作数据所在区域的起始单元格名称。在本示例工作簿,该单元格位置如下图2所示。 ?...如果在图1所示的工作表单元格A6没有输入任何工作簿名(即留空),那么将获取当前工作簿源数据工作(如图2)的数据,如下图3所示。 ?

3K10

如何在前端应用合并多个 Excel 工作簿

在某些情况下,您可能需要将来自多个工作簿的数据(例如,来自不同部门的月度销售报告)合并到一个工作簿,实现此目的的一种方法是使用多个隐藏的 SpreadJS 实例来加载所有工作簿,然后将它们合并到一个电子表格...此文将向您展示如何合并多个 Excel 工作簿并将它们作为单个电子表格显示在您的前端浏览器应用。 设置项目 要加载 SpreadJS,我们需要添加主要的 JavaScript 库和 CSS 文件。...Excel 文件 当用户准备好最终将所有工作簿合并为一个时,他们可以单击“合并工作簿”按钮,将每个工作簿的每个工作复制到页面上可见的 SpreadJS 实例: function MergeWorkbooks...,则需要将此样式添加到可见的 SpreadJS实例,否则它将无法正确显示,因为我们正在复制单个工作。...这显示在上面的函数,可以添加到“spread.addNamedStyle()”。 添加该代码后,您现在可以加载多个 Excel 工作簿使用 SpreadJS 将它们合并为一个。

21020

Power Query-汇总文件夹工作簿工作到一个文件

Power Query-汇总文件夹工作簿工作到一个文件 我们在常感叹“不懂office Excel的是电子表格,懂的就是Excel”!! 为什么呢!...如果当excel为电子表格的人,做了一辈子的工作也是重重复复的“复制—粘贴”的工作,因为Excel中有VBA编程的功能,能使用很多重复的工作一个小程序是搞掂,所以就是“Excel”了。...当我们在学习VBA编程汇总多工作簿工作到一个文件时,微软在新的Office版本中有开发出个神器Power BI, 这个组件在office2013和office2016是整合在一起的,office2010...→文件夹 第二步:选择文件路径 第三步:编辑 第四步:选中Content 和Name两列,删除其他列 第五步,点击双箭头的地方出现合并文件窗口,选中Sheet1,(这是说每个文件有三个工作...第八步,删除行---删除重复行 最后关闭并上载---就可以啦,再整理一下 有一个好处就是当文件的内容修改、添加、减小等操作后只要刷新一下就可啦期。 ======今天就学习到此=====

2K50

VBA实用小程序61: 在文件夹内所有文件运行宏在工作簿所有工作运行宏

" End Sub 这段代码完成下列操作: 1.在当前工作簿路径打开“选择文件”对话框,要求选择一个用于存储所有文件的文件夹。...3.使用要在每个打开的工作簿上运行的代码替换“在这里放置你的代码”部分。 4.每个打开的工作簿在关闭时不会保存所作的修改。..." End Sub 在工作簿所有工作运行宏 代码如下: '本程序来自于analystcave.com Sub RunOnAllWorksheets() Dim folderName As String..." End Sub 代码: 1.打开ActiveWorkbook的每个工作而不是ActiveSheet,可以根据需要删除If语句。...2.使用要在每个打开的工作上运行的任何代码替换“在这里放置你的代码”部分。

4.6K11

EXCEL VBA语句集300

‘保存工作簿 (11) ThisWorkbook.close ‘关闭当前工作簿 (12) ActiveWorkbook.Sheets.Count ‘获取活动工作工作数 (13) ActiveWorkbook.name...=xlMaximized ‘将当前工作簿最大化  工作 (18) ActiveSheet.UsedRange.Rows.Count ‘当前工作使用的行数 (19) Rows.Count...) ‘将当前工作移至工作的最后 (23) Worksheets(Array(“sheet1”,”sheet2”)).Select ‘同时选择工作1和工作2 (24) Sheets(“sheet1...=XX ‘将值XX输入到所选单元格区域中 (40) ActiveWindow.RangeSelection.Count ‘活动窗口中选择的单元格数 (41) Selection.Count ‘当前选中区域的单元格数...注意必须使用R1C1样式的表达式  图表 (70) ActiveSheet.ChartObjects.Count ‘获取当前工作图表的个数 (71) ActiveSheet.ChartObjects

1.7K40

Excel技术:如何在一个工作筛选并获取另一工作的数据

为简化起见,我们使用少量的数据来进行演示,示例数据如下图1所示。 图1 示例数据位于名为“1”的,我们想获取“产地”列为“宜昌”的数据。...方法1:使用Power Query 在新工作簿,单击功能区“数据”选项卡的“获取数据——来自文件——工作簿”命令,找到“1”所在的工作簿,单击“导入”,在弹出的导航器中选择工作簿文件的“1”...单击功能区新出现的“查询”选项卡的“编辑”命令,打开Power Query编辑器,在“产地”列,选取“宜昌”,如下图2所示。 图2 单击“确定”。...图3 方法2:使用FILTER函数 新建一个工作,在合适的位置输入公式: =FILTER(1,1[产地]="宜昌") 结果如下图4所示。...下面插入标题行,在最上方插入一行,输入公式: =1[#标题] 结果如下图5所示。

10.2K40

Python操控Excel:使用Python在主文件添加其他工作簿的数据

标签:Python与Excel,合并工作簿 本文介绍使用Python向Excel主文件添加新数据的最佳方法。该方法可以保存主数据格式和文件的所有内容。...要获取工作名称,只需调用.name属性。 图3 接下来,要解决如何将新数据放置在想要的位置。 这里,要将新数据放置在紧邻工作最后一行的下一行,例如上图2的第5行。...那么,我们在Excel如何找到最后一个数据行的呢?可以先选择单元格A1,然后按下Ctrl+向下箭头键,则会移至最后一行(对于图2所示的工作来说是第4行)。...图4 打开并读取新数据文件 打开新数据文件,从中获取所有非空的行和列的数据。使用.expand()方法扩展单元格区域选择。注意,单元格A2开始扩展,因为第1列为标题行。...图6 将数据转到主文件 下面的代码将新数据工作簿的数据转移到主文件工作簿: 图7 上述代码运行后,主文件如下图8所示。 图8 可以看到,添加了新数据,但格式不一致。

7.8K20

如何插入或 Visio 粘贴的 Excel 工作

嵌入或链接现有的 Excel 工作 loadTOCNode(3, 'summary'); 启动 Visio,然后打开绘图。 单击 插入 菜单上的 对象 ,然后单击 文件的创建 。...嵌入或链接 Excel 工作在 Visio 绘图,在编辑菜单上使用选择性粘贴命令 loadTOCNode(2, 'summary'); 使用 编辑 菜单上的 选择性粘贴 命令粘贴到您的 Visio...选择所需的单元格。 若要选择工作的所有单元格,单击 全选 按钮。 在 编辑 菜单中上, 单击 复制 。 启动 Visio,然后打开绘图。 在 编辑 菜单上单击 选择性粘贴 。...请注意,如果您双击嵌入的 Excel 工作,水平并在 Excel 工作显示的垂直滚动条。 您可以使用滚动条查看嵌入工作的所有列和行。...因此,您可能需要通过测试工作,您要在 Visio 绘图中显示工作使用此方法之前尝试此方法。 要调整工作的列的大小,请按下列步骤操作: 启动 Excel,然后打开所需的工作

10K71

工作如何优雅的使用 Git

但是,在我们的日常工作使用 Git 时常会遇到的各种突发状况,那么我们应该怎么合理的应对这些状况呢?俗话说,无规矩不成方圆,在团队协作如何规范 Git Commit 呢?...本文将针对以上问题展开讨论,探讨一下在日常工作,我们应该如何优雅的使用 Git? 你可能会忽略的 Git 提交规范 无规矩不成方圆,编程也一样。...恢复工作进度到工作区,此命令的 stash@{num} 是可选项,在多个工作进度可以选择恢复,不带此项则默认恢复最近的一次进度相当于 git stash pop stash@{0} $ git stash...需要将新提交合并到你的 feature 分支,你可以有两个选择:merge 或者 rebase。 ?...】会放入 Working Tree 工作目录

58930
领券