精华内容
下载资源
问答
  • 获取工作簿中所有表的名称和地址

    ####一、目的
    一个工作簿中有很多的表,想提取所有表的名称和地址,方便后期公式的使用
    ####二、方法
    1、 使用VBA代码

    Sub 提取所有工作表的名称()
    	For Each x In Sheets
    	    k = k + 1  'k可以不用定义,因为VBA中可以默认变量类型为variant
    	    'Cells(k, 1) = x.Name   '表的名称纵向排列
    	    Cells(1, k) = x.Name   '表的名称横向排列
    	    If k = ThisWorkbook.Sheets.Count - 1 Then Exit For 
    	     '可以控制显示的表的名称的数量
    	Next
    End Sub
    
    

    2、excel公式
    a. 在A1单元格输入=CELL("filename")获得路径和表名;
    b1.在A2单元格输入=MID(A1,FIND("]",A1)+1,99)摘出表名
      b2.或者用“数据”—“分列”–“]”分出表名

    3、定义名称(如定义名称为“你好”)
    a. 定义名称“你好”=index(get.workbook(1),row(A1)&T(NOW())
    b. 在A1单元格输入=IFERROR(HYPERLINK(你好&"!A1",MID(你好,FIND("]",你好)+1,99)),"")
    有表的名称,并且有链接;

    4、定义名称2(如定义名称为“不好”)
    a. 定义名称“不好=get.workbook(1)
    b1. 在A1单元格输入=transpose(不好)必须选中多个单元格然后按ctrl+shift+enter三键进行数组运算;
    b2. 在A1单元格输入=INDEX(不好,ROW(A1)&T(NOW()))
    c. 用“数据”—“分列”–“]”分出表名

    Application.ActiveWorkbook.Path 只返回路径
    Application.ActiveWorkbook.FullName 返回路径及工作簿文件名
    Application.ActiveWorkbook.Name 返回工作簿文件名

    展开全文
  • VBA批量查找工作簿数据
  • VBA获取当前工作表的表名

    千次阅读 2020-03-08 19:49:29
    Excel VBA代码怎么样获取或修改当前工作表的表名 获取: Sub get_sheetname() sheetname = ActiveWindow.ActiveSheet.Name Debug.Print sheetname(即时窗口打印,使用Ctrl + G能调出即时窗口,MsgBox消息盒子) End Sub ...

    Excel VBA代码怎么样获取或修改当前工作表的表名
    获取:
    Sub get_sheetname()
    sheetname = ActiveWindow.ActiveSheet.Name
    Debug.Print sheetname(即时窗口打印,使用Ctrl + G能调出即时窗口,MsgBox消息盒子)
    End Sub

    展开全文
  • 利用工作簿名引用工作簿,如已经打开了"Book1.xlsm"工作簿,那么Workbooks("Book1.xlsm")就代表这个工作簿对象。 2.访问对象的属性,获得工作簿文件的信息 通过代码获得指定工作簿的名称、保存的路径等文件信息,...

    Workbooks是所有工作簿对象组成的集合,而Wrokbook对象是Workbooks集合的一个成员。

    1.引用集合中的工作簿

    利用工作簿名引用工作簿,如已经打开了"Book1.xlsm"工作簿,那么Workbooks("Book1.xlsm")就代表这个工作簿对象。

    2.访问对象的属性,获得工作簿文件的信息

    通过代码获得指定工作簿的名称、保存的路径等文件信息,示例代码如下。

    Sub WbMsg()
        Range("B2") = ThisWorkbook.Name '获得工作簿的名称
        Range("B3") = ThisWorkbook.Path '获得工作簿文件所在的路径
        Range("B4") = ThisWorkbook.FullName '获得带路径的工作簿名称
    End Sub
    

    代码中的ThisWorkbook代表代码所在的工作簿对象。

    注:后缀为.xlsx的工作簿无法保存VBA代码。如果工作簿中编写了宏代码,则将工作簿保存成后缀为.xls或者.xlsm的文件。

    3.用Add方法创建工作簿

    Workbooks.Add '创建空白工作簿
    
    Workbooks.Add "D:\模板.xlsm" '指定用来创建工作簿的模板
    

    4.用Open方法打开工作簿

    打开一个Excel工作簿文件,最简单的方法是使用Workbooks对象的Open方法,示例代码入戏。

    Workbooks.Open Filename:="D:\模板.xlsm"
    

    方法Open和参数Filename之间用空格分隔,参数及参数数值之间用":="连接。

    在实际使用时,代码中的参数名称Filename可以省略不写,将代码写为:

    Workbooks.Open "D:\模板.xlsm"
    

    更改代码中的路径及文件名称,即可打开其他的工作簿文件。

    5.用Activate方法激活工作簿

    虽然可以同时打开多个工作簿,但同一时间只能有一个工作簿是活动的。如果想让不活动的工作簿变为活动工作簿,可以用Wrokbooks对象的Activate方法激活它。例如:

    Workbooks("模板.xlsm").Activate
    

    6.保存工作簿文件

    用Save方法保存已经存在的文件,例如:

    ThisWorkbook.Save '保存代码所在的工作簿
    

    用SaveAs方法将工作簿另存为新文件。如果是第1次保存一个新建的工作簿,或需要将工作簿另存为一个新文件时,应该使用SaveAs方法,例如:

    ThisWorkbook.SaveAs Filename:="D:\Test.xlsm"
    

    另存新文件后不关闭原文件。使用SaveAs方法将工作簿另存为新文件后,Excel将关闭原文件并自动打开另存为得到的新文件,如果希望继续保留原文件不打开新文件,应该使用SaveCopyAs方法。例如:

    ThisWorkbook.SaveCopyAs Filename:="D:\Test.xlsm"
    

    7.用Close方法关闭工作簿

    调用工作簿对象的Close方法,可以关闭打开的工作簿。例如:

    Workbooks.Close '关闭当前打开的所有工作簿
    

    可以通过索引号、名称等指定要打开的工作簿,例如:

    Workbooks("Test.xlsm").Close '关闭名称为Test的工作簿
    
    Workbooks("Test.xlsm").Close savechange:=True '关闭并保存对工作簿的修改
    

    8. ThisWorkbook与ActiveWorkbook

    两者都返回Workbook对象。不同之处在于,ThisWorkbook是对代码所在工作簿的引用,ActiveWorkbook是对活动工作簿的引用。


    微信公众号:VBA168

    淘宝店铺地址:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-21233576391.4.1af0683dzrx3oU&id=584940166162

    关注微信公众号,每天及时接收Excel VBA经典示例讲解。

    淘宝店铺提供Excel定制服务。

    祝你工作和学习更轻松!


    展开全文
  • VBA-工作簿的引用方法

    千次阅读 2020-02-26 11:19:28
    工作簿的引用方法 引用不同的工作簿有如下的方法: 1、 使用工作簿名称 工作簿名称是指 Excel 文件的文件名,可以使用 Workbooks 集合引用方式来引用工作簿。 Sub test() MsgBox "名称为:" & Workbooks("1....

    工作簿的引用方法

    引用不同的工作簿有如下的方法:

    1、 使用工作簿名称

    工作簿名称是指 Excel 文件的文件名,可以使用 Workbooks 集合引用方式来引用工作簿。

    Sub test()
        MsgBox "名称为:" & Workbooks("1.xlsx").Path '显示路径,但是目前打开的名称为1.xlsx
    End Sub
    

    2、使用工作簿的索引号

    工作簿索引号是指工作簿打开的顺序,Excel 根据工作簿打开的顺序以1开始进行编号。

    Sub test1()
       ' MsgBox "第一个打开的工作簿名称是:" & Workbooks(1).Name ‘显示工作簿名称
         MsgBox "第一个打开的工作簿名称是:" & Workbooks(1).FullName '显示完整的工作簿路径和名称
    End Sub
    

    3、使用 ThisWorkbook

    使用 ThisWorkbook 代表当前宏代码运行的工作簿。

    Sub test2()
        ThisWorkbook.Close asvechages:=False '不保存对工作簿的任何更改
    End Sub
    

    4、使用 ActiveWorkbook

    使用 ActiveWorkbook 代表活动窗口(最上面的窗口)的工作簿

    Sub WbActive()
    	MsgBox "当前活动工作簿名字为:" & ActiveWorkbook.Name
    End Sub
    
    展开全文
  • 利用VBA,自动生成工作簿内工作表清单,清单生成在sheet1.range("B3")单元格。
  • 第1种:不管工作簿是否已经打开,直接打开 现在新版的office已经修改为,允许重新打开已经打开的EXCEL文件 如果文件已经打开,且未被修改,直接重新再打开1次 如果文件已经打开,但是已经被修改,会弹提示,确认...
  • 列出目录下所有工作簿工作表名,方便多个工作表之间的切换
  • Excel VBA工作簿与工作表的操作

    千次阅读 2017-05-13 00:46:53
    1.保存当前工作簿Public Sub保存当前工作簿() Dim wb As Workbook Set wb = ThisWorkbook '可指定任意工作簿 wb.Save Set wb = Nothing End Sub如果是第一次保存工作簿,请使用SaveAs方法为该文件指定文件名...
  • VBA-保存指定工作表为工作簿文件

    千次阅读 2020-02-26 16:53:39
    保存指定工作表为工作簿文件 1、指定的单一工作表 如果需要将工作簿中的工作表单独保存为一个工作簿文件,可以使用 Worksheet 对象的 Copy 方法,将指定的工作表复制到一个新建的工作簿。 Sub test() On Error GoTo...
  • 如图所示,在“数据库.xlsx”工作簿中存有“销售数据”,在相同目录下的工作簿 希望能够将该工作簿中该工作表中的数据读入以便进行下一步操作。该如何用VBA完成? 销售经理 区域 销售数量 张万斌 崇州...
  • 在Excel的使用过程中,经常需要引用其他工作簿的数据,而用户往往希望能在不打开工作簿或看似不打开工作簿的情况下取得其他工作簿中的数据,有以下几种方法可以实现。 1、使用公式 如果需要引用的数据不是太多,...
  • '======================================================= '1、循环单元格取数,效率最低...'————以上4种都需要打开外部工作簿 '5、宏表函数取数(不打开工作簿) '=======================================...
  • VBA-合并多个工作簿

    万次阅读 多人点赞 2019-06-14 15:54:28
    1.首先我们理清思路,我们将所有要合并到一起的Excel工作簿放到一个文件夹里,该文件夹里面有一个启用宏的工作表,启动该工作表的宏,就可以将该文件夹里面的所有Excel文件的内容合并到一张表里面,后面可以将合并...
  • Excelvba从另一个工作簿取值

    千次阅读 2019-01-20 12:56:00
    Private Sub getValue_Click() ...Set MyWorkbook = Application.Workbooks.Open("C:\Users\jiangwenwen\Desktop\VBAテスト\テスト2.xlsx") ThisWorkbook.Sheets("Sheet1").Range("A1").value =...
  • excel打开提示:此工作簿已丢失其VBA项目,ActiveX控件
  • VBA-不打开工作簿提取数据

    千次阅读 2020-02-26 17:48:43
    不打开工作簿提取数据 实现该功能的代码方式有很多种,这里介绍一种较为容易理解的方式:通过设置屏幕不更新达到模拟不打开工作簿的效果,并且将有工作簿中的数据信息复制到目前的工作表中。 Sub test() ...
  • 工作簿操作 一、概述 一个 excel 文件对应一个 workbook,打开后对应一个文件窗口 Windows(1).Visible = True 二、基本操作 workbook操作:open、add、save、saveas、close 1、判断文件是否存在和打开 是否存在:...
  • 在一些操作中,往往会需要将多个工作簿进行合并。一般的操作方法都是打开两个工作簿,然后选中需要移动的工作表,右键单击以后选择“移动或复制”。接下来在新的窗口里面进行设置就可以了。这种方法适合在移动数量较...
  • excel自动获取当前工作簿下所有工作表名称并提取该表最后一行数据
  • VBA EXCEL 工作簿之间相互操作

    千次阅读 2015-07-22 14:00:29
    各个班级花名册excel工作簿,一个余额汇总工作簿,在余额汇总工作簿中有多个表,每个表代表一个班级中每个学生基本信息和余额情况;为了检测班级花名册中的所有学生在余额统计表中是否都有对应的基本信息和余额统计...
  • 从未打开的工作簿中取值方法汇总 1.创建子程度调用 2.以只读方法打开源工作簿 3.JOHN WALKENBACH函数及调用 4.使用GetObject函数  5.隐藏Application对象  6.使用ExecuteExcel4Macro方法  7.使用SQL连接
  • VBA研究】统计Excel 工作表数量

    千次阅读 2015-02-26 09:23:05
    作者:iamlaosong VBA编程中如果对每一个工作表循环处理,就...这当前工作簿就是VBA程序所在的工作簿,那么其它工作簿中工作表的数量如何统计呢? 2、活动工作簿中工作表数量 Windows(datfile).Activate num = A
  • VBA示例之 求人不如自已动手 移除Excel工作表中的外部数据连接,供初学者参考,大牛勿进~~~~~~~
  • Sheets("已恢复_Sheet1").Move After:=Workbooks("新建 Microsoft Excel 工作表.xlsm").Sheets(ThisWorkbook.Worksheets.Count) '需要移动到最后一个。这里的Sheet名称全部都是“ 已恢复_Sheet1 ” Sheets("已...
  • 存在多个工作簿,且需要转移第一个sheet中的数据(一般为辅导员数据收集的时候)。 多个工作簿的sheet均在相同的位置有数据,如图所示 打开给定工作簿,选择按钮,输入你需要在多个表格中复制的数据位置...
  • 先讲工作簿和工作表的相关操作。 一、工作簿和工作表的相关操作 1、保存工作簿 Sub SaveWorkBooks() Dim book As Workbook For Each book In Workbooks 'path等于空说明是新文件,就不保存 If book.path <...
  • 如图所示,如何利用VBA将该工作簿中的各个工作表分别保存至单独的工作簿中,并将工作簿名称以工作表标签命名? 部门 市场部 员工编号 姓名 0215 林革壮 0233 李卫卿 0247 申玲 ...
  • 上一篇文,我们初步了解了VBA,现在我们进入Excel应用篇。我们都知道,我们日常工作中...这些函数能够在不同的工作表之间处理数据,甚至在不同的工作簿之间处理数据而在VBA层面使用的是Workbooks和Workbook对象专门...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,916
精华内容 766
关键字:

vba获取工作簿