精华内容
下载资源
问答
  • VBA-打开指定工作簿

    千次阅读 2020-02-26 12:37:05
    打开指定工作簿 打来看指定工作需要已知其文件路径,并且用opne方法打开,其格式为:expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, ...

    打开指定工作簿

    打来看指定工作需要已知其文件路径,并且用opne方法打开,其格式为:expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)下面是一些比较重要的参数:

    • filename:要打开的工作簿的文件名
    • updatelinks:指定文件中的链接是否更新。0代表不更新;1代表更新外部引用;2代表更新远程引用;3代表都更新。
    • readonly:逻辑值,是否打开只读模式。
    • format:当打开文本文件时会用到,用于指定分隔字符。
    • password:该字符串指定打开一个受保护工作簿的密码。
    • WriteResPassword:该字符串为一个写保护工作簿的写入权密码。
    Sub openworkbook()
        Workbooks.Open Filename:="D:\data\1.xlsx"
    End Sub
    
    展开全文
  • 通过excel VBA代码中的application.getopenfilename打开选择文件窗口,通过MultiSelect:=True参数允许同时选择多个文件,通过定义变量X,将选择的文件名(含路径赋值给X,后指定每个X1在变更集X中,)如何实现通过VBA...
  • VBA 批量打印多工作簿的指定工作表

    千次阅读 2020-10-10 20:11:57
    要解决的问题: 同一个文件夹有多个工作簿,工作簿中有相同格式的多个sheet表,其中有两个固定的SHEET需要...2、使用dir在文件夹中遍历文件,然后打开工作簿,再打印指定工作表,然后关闭文件。 EXCELVBA代码如.

    要解决的问题:

    同一个文件夹有多个工作簿,工作簿中有相同格式的多个sheet表,其中有两个固定的SHEET需要打印(所有EXCEL工作簿表格中两个固定SHEET的名字相同)。每次打开这么多文档,再将表格一个个打印很繁琐,有什么快捷的方法可以直接打印这个文件夹下所有EXCEL表中这两个固定的SHEET表内容?

    解决思路:

    1、将要打印的工作簿放在同一个文件夹内,如:D:\mywbooks\

    2、使用dir在文件夹中遍历文件,然后打开工作簿,再打印指定的工作表,然后关闭文件。


    EXCEL VBA代码如下:

     

    1. Sub myprint()
    2.     Dim file$, folder$, wb As Workbook
    3.     folder = "D:\mywbooks\"
    4.     file = Dir(folder & "*.xlsx") ’如有其他后辍,可以使用Dir(folder & "*.xls*")
    5.     Do While file <> ""
    6.         Set wb = GetObject(folder & file)
    7.         wb.Worksheets("sheet1name").PrintOut
    8.         wb.Worksheets("sheet2name").PrintOut
    9.         wb.Close
    10.         set wb=nothing
    11.         file = Dir
    12.     Loop
    13. End Sub

    或者使用如下方法:

     

     

    1. Sub myprint()        
    2.     Dim file$, folder$, wb As Workbook, sht As Worksheet        
    3.     folder = "D:\mywbooks\"        
    4.     file = Dir(folder & "*.xlsx") '如有其他后辍,可以使用Dir(folder & "*.xls*")        
    5.     Do While file <> ""        
    6.        With Workbooks.Open(folder & file)        
    7.             For Each sht In .Sheets                    
    8.                    If sht.Name = "sheet1name" Or sht.Name = "sheet2name" Then sht.PrintOut            
    9.             Next sht                    
    10.             .Close                
    11.         End With        
    12.         file = Dir
    13.     Loop
    14. End Sub
       

     

     

     

    展开全文
  • 判断工作表是否打开 通过遍历当前应用程序所有已打开的工作簿文件(Workbooks 集合),判断指定名称的工作簿是否打开。 Sub test() Dim wb As Workbook For Each wb In Workbooks If wb.Name = "1.xlsx" Then ...

    判断工作表是否打开

    通过遍历当前应用程序所有已打开的工作簿文件(Workbooks 集合),判断指定名称的工作簿是否打开。

    Sub test()
        Dim wb As Workbook
        For Each wb In Workbooks
            If wb.Name = "1.xlsx" Then
                MsgBox "1文件已经打开"
                Exit Sub
            End If
        Next
        MsgBox "1文件已经没有打开"
    End Sub
    
    展开全文
  • Excel VBA合并工作簿

    2021-01-10 21:34:34
    利用VBA合并工作簿,将需要合并的多个工作簿放到解压后的文件夹中,运行后输入文件夹的地址即可。
  • 工作表的基础操作 上一章我们学习了工作表的一些操作,这一章就来学习一下对工作簿的操作 工作表和工作簿有什么区别呢? 一个excel文件就是一个excel工作簿例如abc.xls,一个工作簿中包含1个到若干个工作表...

     

                                               工作表的基础操作

    上一章我们学习了工作表的一些操作,这一章就来学习一下对工作簿的操作

    • 工作表和工作簿有什么区别呢?

    一个excel文件就是一个excel工作簿例如abc.xls,一个工作簿中包含1个到若干个工作表例如sheet1,也就是说工作簿是由工作表组成的。

    下面我们就来了解一下工作簿的操作

    • 打开工作簿

    Application.displayAlerts=false   //点击保存会有弹框出现,所以要先关闭弹框

    Application.screenUpdating =false   //操作工作簿桌面会出现闪动。也先关闭掉

    Workbooks.open filename:=”d:\data\1.xlsx”  //打开D盘data文件下的1.xlsx工作簿

    Activeworkbook.sheets(1).range(“a1”)=”到此一游”  // Activeworkbook表示当前活动的工作簿。Activeworkbook.sheets(1).range(“a1”)指当前活动的工作簿的第一个工作表的A1单元格填写”到此一游”。证明我们真的打开过。

    Activeworkbook.Save  //保存一下刚刚做的修改

    Activeworkbook.close //关闭工作簿

    Application.displayAlerts=true   //开启

    Application.screenUpdating =true  //开启

     

    • 新建工作簿

    Application.displayAlerts=false

    Application.screenUpdating =false

    Workbooks.add  //新建一个工作簿

    Activeworkbook.sheets(1).range(“a1”)=”到此一游haha” //新建工作簿会自动打开,默认有一个sheet1工作表,我们在新建工作簿的第一个工作表的A1单元格填写”到此一游”。证明我们的操作成功了。

    Activeworkbook.Save   //保存一下,新建文档默认会保存到文档目录下面,你可以手动新建一个工作簿直接点保存看一下默认地址。

    Activeworkbook.close  //关闭

    Application.displayAlerts=true

    Application.screenUpdating =true

     

    • 保存工作簿

    Activeworkbook.SaveAsfilename:=”d\data\2.xlsx”

     

    • 关闭工作簿

    Activeworkbook.close

     

    • Foreach 的用法

    前几章我们一张掌握了for的用法,今天来介绍for的另一种写法。。

    有点像php语言的写法,下面我们通过两段代码来更直观的了解for each

     需求1:将单元格A1 到A10 都赋值1

    For的写法:

    Dim i as integer For i=1 to 10    Range(“a” & i)=iNext

    For each的写法:

    Dim ra as range  For each ra in range(“a1:a10”)   ra=1  //上面我们定义了ra as range,ra是单元格类型,表示a1到a10单元格  Next

     

    需求2:将单元格A1 到A10 赋值为他们各自的下标

    For的写法:

    Dim i as integer For i=1 to 10    Range(“a” & i)=i  Next

     

    For each的写法:

    Dim ra as range     For eachra in range(“a1:a10”)       i=i+1    //  每次循环i+1,i初始值默认是0       Ra=i   //等价于range(“a”& i)= i    Next
    

    学会了for each 我们来实战一下

    案例1

    题目:

        除了叫“绝不能删”的表不删除外,批量删除工作簿中的其他表。

    分析:

       1. 要判断每一张表的名字,不等于“绝不能删”,执行删除操作

       2.要定义一个变量类型为工作表dim sht as worksheet

       3.执行删除操作会有提示弹框要事先关闭

    代码:

    sub del()Dim sht as worksheetApplication.displayAlerts=false  //执行删除操作会有弹框出现,所以要先关闭弹框  For each sht in sheets    If sht.name <>”决不能删” then      sht.delete    End if  NextApplication.displayAlerts=trueend sub
    

    案例2

    题目:

    将工作簿中的所有工作表另存为一个个excel文件,另存地址为d:\data

     

    代码:

    sub chaifen()
    
    For each sht in sheetsSht.copy    // copy不指定位置默认新建一个工作簿Activeworkbook.SaveAs filename:=”d\data\”& sht.name & ”.xlsx” //文件路径Activeworkbook.close//关闭Nextend sub
    

     结果如下图:

    对数据分析或者vba有兴趣的朋友可以关注我的公众号,我会在公众号里面发学习笔记,全是干货。一起学习一起成长!

     

     

     

     

    展开全文
  • VBA单元格、工作表、工作簿

    千次阅读 2019-04-30 23:08:35
    详解VBA单元格、工作表、工作簿各种表示、方法,注意事项。
  • VBA 批量打开workbook工作簿,汇总到同一workbook工作簿中 ** 前言:此VBA程序用于,对母婴玩具行业的各一级维度的数据进行汇总。 Sub 收集文件夹中文件路径() Dim f '1.批量打开文件,将文件路径记录到数组f...
  • 复制指定目录下excel工作簿中同名工作表,该代码将在相同目录下创建汇总工作簿,各工作簿中同名工作表将被分别复制到汇总工作簿的不同表中(汇总工作簿中各工作表以分工作簿名命名)。 所有要汇总的工作簿在同一个...
  • 代码1 workbook.open() 会直接先打开其他,在前台蹦出来比较傻 Workbooks.Open(path) 这里得是 绝对路径 Sub williamding21() '测试跨操作的问题,在A中操作B Dim wb1 path1 = "C:\Users\Administrator...
  • 最近同事需要如标题描述的这样一个excel功能,有两种实现方式,针对于这一种方式,鄙人进行简单的介绍: 首先要在excel的工具栏中插入开发者工具,笔者使用的是office...既可以针对于相应的sheet进行相应的VBA自定
  • 一个 excel 文件对应一个 workbook,打开后对应一个文件窗口 Windows(1).Visible = True 二、基本操作 1、判断文件是否存在和打开 是否存在:输出为 0 就是不存在 Debug.Print Len(Dir("d:\test.xlsx")) 是否...
  • VBA 工作表 worksheet常用事件

    千次阅读 2020-01-31 10:36:01
    1 工作表 sheet的添加 worksheets.add 或 sheets.add 1.1 基本语法 Sheets.Add 方法 新建工作表、图表或宏表。新建的工作表将成为活动工作表。 语法 表达式.Add(Before, After, Count, Type) 表达式 一个代表 ...
  • Excel VBA工作簿与工作表的操作

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

    2019-11-02 20:46:47
    打开一个excel文件前需要验证时可用先隐藏该文件,然后通过验证后再设置为可见 代码: Private Sub Workbook_Open() Windows("****.xlsm").Visible = False '将当前workbook 设置为不可见 Login.Show '验证窗口 ...
  • 写了一个VBA宏程序,用来自动将EXCEL一列转换为不同的工作表。例如: 姓名 性别 张三 男 李四 女 通过该程序可以自动分离出“男”工作表和“女”工作表。先上代码,注释写的很清楚。 '时间:2/6/2015 '版本:1.0 ...
  • 今天项目上有个应用,获取指定Excel文件下的所有sheet的名称以及当前sheet中指定单元格的值,并把他们写到固定的sheet中去,看了下,文件比较多,而且每个文件sheet的个数比较多,也不一样,所以打算写个程序来帮...
  • 批量合并excel工作簿中同名工作表,适用条件: 1、所有要汇总的工作簿在同一个文件夹中,这里以后缀为.xlsx为例; 2、需要合并的工作表名称相同(如: “sheet1”),且数据字段一样(如:A列表示序号,B列表示姓名,...
  • 如图所示,如何利用VBA将该工作簿中的各个工作表分别保存至单独的工作簿中,并将工作簿名称以工作表标签命名? 部门 市场部 员工编号 姓名 0215 林革壮 0233 李卫卿 0247 申玲 ...
  • VBA在Excel中的应用用VBA将同一工作簿中不同工作表拆成独立文件问题描述1.在“开发工具”选项卡中选择”Visual Basic”2.插入模块运行结果可能存在的问题 用VBA将同一工作簿中不同工作表拆成独立文件 问题描述 有一...
  • 当工作簿中有多个工作表时,往往会在第一个工作表中设置目录并加入超链接,但是由于工作表经常会改变,这里使用VBA代码进行实现。 '引用工作表名 Private Sub Worksheet_Activate() Dim sht As Worksheet Dim a As...
  • 在Excel的使用过程中,经常需要引用其他工作簿的数据...如果需要引用的数据不是太多,可以使用公式取得引用工作簿中的工作表数据,如下面的代码所示。 Sub CopyData_1() Dim Temp As String Temp = "'" & T...
  • 3.通过在工作表<式样.xlsx>中点击按钮来选择CSV文件并读取其中的数据,并把相应的数据填入到当前工作表指定位置。 **举例说明**: 如果选择读取的是110.csv文件,则需要将数据填入<式样.xlsx>中的B~F列中,...
  • VBA研究】统计Excel 工作表数量

    千次阅读 2015-02-26 09:23:05
    VBA编程中如果对每一个工作表循环处理,就需要知道工作表的数量,常见的方法如下: 1、当前工作簿中工作表数量 num = ThisWorkbook.Sheets.Count 这当前工作簿就是VBA程序所在的工作簿,那么其它工作簿中工作表...
  • 合并多个工作簿的相同区域,同时每个工作簿里面又有不同工作表。我们因此需要将所有工作簿放在同一个路径下(excel文件)然后,就开始写我们的代码了。1.声明变量2.合并工作簿代码 & 每个工作簿中合并每个工作表的...
  • Sub copygrid() '复制表格  Dim i&, t&  t = ActiveSheet.[a65536].End(xlUp).Row  For i = 1 To t  If ActiveSheet.Range("b" & i).MergeCells = True And ActiveSheet.Range("a" & i)  Sheets(6).Ra
  • 最近使用VBA自动处理EXCEL的数据,用着用着觉得很方便,于是写了一些小脚本,不过水平有限,代码很冗余。 个人使用的脚本一般都是符合个人使用的特定场景,不像高手写的有很强的复用性。 不过既然写了,方便了个人的...
  • 实现excel单个工作表的批量转存,单个工作表由于不是文件级别的对象,因此不能直接使用saveas方法,而是利用了sh.copy,在使用.copy方法时相当于重新生成了一个workbook,再通过saveas另存为,实际上这段代码也可以...
  • 使用情景:如题,将一个包含多工作表的工作簿拆分为单工作表工作簿文件 原始文件描述:【旺旺大礼包.xlsx】中有三个工作表,分别是旺仔牛奶、旺旺仙贝、旺旺小小酥 操作流程: 打开旺旺大礼包.xlsx——在菜单栏...
  • 使用列表框,拖放用户指定工作表到另一个列表框中,移动工作表

空空如也

空空如也

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

vba打开指定工作表