精华内容
下载资源
问答
  • 数据如上图所示,点击RUN...得到该文件夹,文件夹内容如上图。 代码如下: Private Sub Command_OLIVER() Dim arr arr = Range("A1:C" & [a65536].End(3).Row) Dim i As Long, wName As String, wP...

     

    数据如上图所示,点击RUN后的运行结果如下:

     

    得到该文件夹,文件夹内容如上图。

    代码如下:

    Private Sub Command_OLIVER()
        Dim arr
        arr = Range("A1:C" & [a65536].End(3).Row)
    
        Dim i As Long, wName As String, wPath As String
        wName = "分类汇总" & Format(Now(), "hhmmss")
        Dim dc As Object, wb As Workbook, n As Long
        Set dc = CreateObject("Scripting.dictionary")
    
        wPath = ThisWorkbook.Path & "\" & wName
        MkDir wPath
        For i = 2 To UBound(arr)
            If Not dc.exists(arr(i, 1)) Then
                Set wb = Workbooks.Add
                wb.SaveAs wPath & "\" & arr(i, 1) & ".xls"   '001
                wb.Sheets(1).Name = arr(i, 1)
                '填写表头
                wb.Sheets(1).[a1] = arr(1, 1)
                wb.Sheets(1).[b1] = arr(1, 2)
                wb.Sheets(1).[c1] = arr(1, 3)
                dc.Add arr(i, 1), ""
            End If
            With Workbooks(arr(i, 1) & ".xls").Sheets(1)   '002
                n = .[a65536].End(3).Row + 1
                .Cells(n, 1) = arr(i, 1)
                .Cells(n, 2) = arr(i, 2)
                .Cells(n, 3) = arr(i, 3)
            End With
        Next
    
        Dim ar
        ar = dc.keys
        For i = 0 To UBound(ar)
            Workbooks(ar(i) & ".xls").Close True   '003
        Next
    End Sub

    调用该sub

    Sub 调用()
     Command_OLIVER
    End Sub
    

    注意:必须在同一模块中call该sub,因为上述sub为私有的,局部方法.

    附件下载

     

    转载于:https://www.cnblogs.com/OliverQin/p/7337482.html

    展开全文
  • 一、问题工作需要将多个小excel文件合并成为一个excel文件文件格式、内容一致,因为文件数目较多,不考虑手动粘贴复制,直接考虑使用VBA程序解决这个问题。 图1 同一个文件夹下多个excel文件二、代码Sub 打开...

    一、问题

    工作需要将多个小的excel文件合并成为一个excel文件,文件格式、内容一致,因为文件数目较多,不考虑手动粘贴复制,直接考虑使用VBA程序解决这个问题。


                                                                图1 同一个文件夹下的多个excel文件

    二、代码

    Sub 打开文件夹下所有文件并复制制定内容()

    Dim a$, n As Long, i As Long, Num As Long, Name$    '定义n为计算写入的起始行号,Num为文件计数,n最好设为长整型,不然容易溢出
    Dim h% 'h定义为除首行(字段名)的内容行数
    Dim mypath$
    t = Timer
    Application.ScreenUpdating = False
    mypath = ActiveWorkbook.Path '获取当前宏文件所在问价夹路径
    a = Dir(mypath & "\" & "*.xls") '获取当前文件夹下文件路径
    Workbooks.Open mypath & "\" & a '遍历文件
    Workbooks(a).Activate
    i = Sheets("Sheet0").Range("a65536").End(xlUp).Row '这里.xls最大行数只能是65536
    Workbooks(a).Sheets("Sheet0").Range("A2", "P" & i).Copy Workbooks("汇总").Sheets("汇总").Range("A2")
    Workbooks("汇总").Sheets("汇总").Range("Q2", "Q" & i) = a
    Workbooks(a).Close
    Num = 1
    Name = Left(a, Len(a) - 4)
    Do
    a = Dir
     If a <> "" And a <> "汇总.xlsm" Then
        Workbooks.Open mypath & "\" & a
        n = Workbooks("汇总").Sheets("汇总").Range("a1048576").End(xlUp).Row + 1
        Workbooks(a).Activate
        i = Workbooks(a).Sheets("Sheet0").Range("a65536").End(xlUp).Row
        Workbooks(a).Sheets("Sheet0").Range("A2", "P" & i).Copy Workbooks("汇总").Sheets("汇总").Range("A" & n)
        Workbooks("汇总").Sheets("汇总").Range("Q" & n, "Q" & n + i - 2) = a
        Workbooks(a).Close
        Num = Num + 1
        Name = Name & Left(a, Len(a) - 4)
    '    MsgBox "共合并:" & Num & "个文件!"
     Else
        MsgBox "共合并:" & Num & "个文件!" & "共用时:" & (Timer - t) & "s"
        Exit Sub
     End If
    Loop
    End Sub
    展开全文
  • 提取文本文件的内容到工作表中的方法,也给大家讲解了上述过程的逆过程,就是如何将工作表中数据读取出来写到文本中,这些是文件操作中最为基本的操作,对于大家理解VBA中循环,变量的利用,字符串的应用都是...

    f0dd05bc92d175b8a0b53fd22aaea13d.png

    2.1.13 对于应用程序对象的讲解中,第七套的教程我给大家讲解了如何利用OPEN语句打开一个文本文件,并提取文本文件中的内容到工作表中的方法,也给大家讲解了上述过程的逆过程,就是如何将工作表中数据读取出来写到文本中,这些是文件操作中最为基本的操作,对于大家理解VBA中循环,变量的利用,字符串的应用都是有益的一个单元。

    对于文件的有关操作,所有的教程中我一直在讲解,包括FSO对象以及脚本的利用,对于这单元的内容,我们只要简单的理解,跟着教程学习进度即可:

    75d1923519bbf9518236077432be00c1.png

    这里还有一个需要掌握的知识点,就是txt文件。对于txt文件,可以作为为准数据库的文件来对待,数据库是我的第二套教程,在后面我还有详细的讲解学习方案,但大家要注意这个提法,正是因为有这个思路的存在,我们在随后学习第一套教程中会很快的理解“准数据库”的概念。同时在我的第二套教程中的详细讲解中才会再次对照此处的理解并再次认识什么是“数据库”,理解到此处讲解的准数据和第二套教程《VBA数据库解决方案》中讲解的accdb数据库和EXCEL数据库有什么不同。数据结构化是数据处理的基础。此处利用的语句:open input write output 等在数据库处理时也是经常利用的。

    eaabf89a2994277f6038f22a557df826.png

    关于csv文件,如果您在学习这个单元前还没有了解,请大家先补一下自己的知识结构,csv文件,利用还是比较广泛的。下面给大家讲解一下csv文件:

    CSV 文件又称为逗号分隔文件(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据,而这些程序本身是在不兼容的格式上进行操作的(往往是私有的和/或无规范的格式)。因为大量程序都支持某种CSV变体,至少是作为一种可选择的输入/输出格式。我们可以将数据库导出数据为“CSV”,然后被导出的CSV文件可以被电子表格程序导入。一般情况下:

    1)csv文件开头是不留空,以行为单位。

    2)可含或不含列名,含列名则居文件第一行。

    3) 一行数据不跨行,无空行。

    4) 以半角逗号(即,)作分隔符,列为空也要表达其存在。

    5) 列内容如存在半角引号(即"),替换成半角双引号("")转义,即用半角引号(即"")将该字段值包含起来。

    6)文件读写时引号,逗号操作规则互逆。

    7)内码格式不限,可为 ASCII、Unicode 或者其他。不支持数字,不支持特殊字符

    • 如何学习VBA呢? 概括的说就是: 学习过程中要信、解、受、持,更要有回向的业力。无论您在学习的任何阶段,都要对照教程的知识点加持自己的实际工作,总会有丰厚的收获。
    展开全文
  • VBA-XML信息提取

    千次阅读 2018-07-02 17:09:52
    1,现有一个XML文件,里面是图书信息,图书信息由节点保存,内容如下2.将信息提取出来后效果如下图所示3.完整代码和解释如下Option ExplicitSub 读取XML节点()'后期绑定'Dim xdoc As Object'Set xdoc = ...

    1,现有一个XML文件,里面是图书信息,图书的信息由节点保存,内容如下

    2.将信息提取出来后的效果如下图所示

    3.完整代码和解释如下

    Option Explicit
    Sub 读取XML节点()
    '后期绑定
    'Dim xdoc As Object
    'Set xdoc = CreateObject("MSXML2.DOMDocument")
    '前期绑定
    Dim xdoc As New DOMDocument60 '声明的同时创建XML对象
    Dim b As Boolean, root As IXMLDOMElement
    b = xdoc.Load(ThisWorkbook.Path & "\BookStore1.xml")
    If b = True Then

    Set root = xdoc.DocumentElement '获取根节点
        Dim i As Integer, j As Integer
        '获取列标题
        With root.ChildNodes(0) '根节点的子节点
        For i = 0 To .ChildNodes.Length - 1 '子节点的子节点个数
        Cells(1, i + 1) = .ChildNodes(i).nodeName
        Next i
        End With
        '获取书籍信息
        For i = 0 To root.ChildNodes.Length - 1
        With root.ChildNodes(i)
        For j = 0 To .ChildNodes.Length - 1
        Cells(i + 2, j + 1).Value = .ChildNodes(j).Text
        Next j
        End With
        Next i
       
    Else
        MsgBox "加载失败,指定文件可能不存在"
    End If


    End Sub

    
    展开全文
  • VBA提取汉字字母混在字符串

    千次阅读 2013-12-23 15:28:23
     我有一个文本文件,里面的内容是以字节为长度分开的几个字段,现在想把每个字段读到EXCEL里面,结果发现EXCEL是以字符为单位处理字符串的。如下:  str1="张三 12345678" '第一行  str2="王老五 ...
  • 如何获取指定文件夹下文件的名称?很久以前(2年前?)我们分享过DOS的方法,操作动画如下:VBA可以通过Wscript.Shell调用DOS语句,以后我们可能会分享到这部分内容~所以这里先简单说下动画中DOS语句的意思DIR *.*/B&...
  • vba实践+提取word章节标题文本及其起止页码信息声明:需要先打开文档再执行代码。在执行操作前,请先备份文件。有一个扫描版pdf文档,进行文字识别后,得到一个与其对应word文档(每页内容都与pdf文档一一对应)...
  • 文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的...FSO 对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且可以检测是否存在指定的文件夹,如果存
  • 打开文件后,它会搜索工作簿并尝试查找我正在查找的内容 . 一旦它返回结果,它将关闭工作簿并循环遍历文件夹以查找下一个文件等等....问题是文件大小很大,打开文件需要很长时间,我想知道是否有办法在不打开实际...
  • 学习Excel技术,关注微信公众号:excelperfect文本...For Output指定该模式打开文本文件时,创建或修改文本文件,但无法从该文件提取内容。For Input指定该模式打开文本文件时,从该文件提取信息,但不能修改该...
  • 问题上次介绍了一个vba实例:Excel vba 实例(16) - 按指定字段分类批量提取内容这个例子是把总表里面数据根据单号批量提取相关内容后,分别保存成单独的文件。有「拆」表格,自然就有「合并」表格,也就是上面实例...
  • 学习Excel技术,关注微信公众号:excelperfect文本...For Output指定该模式打开文本文件时,创建或修改文本文件,但无法从该文件提取内容。For Input指定该模式打开文本文件时,从该文件提取信息,但不能修改该...
  • 工作中,有时需要从网页上复制到EXCEL的内容中,提取URL地址,用VBA对单元格的Hyperlink对象进行操作,即可实现。下面用视频进行演示:核心代码获取单元格的URL地址:Cells(intI, 1).Hyperlinks(1).Address如需视频...
  • vba实践+提取word章节标题文本及其起止页码信息声明:需要先打开文档再执行代码。在执行操作前,请先备份文件。有一个扫描版pdf文档,进行文字识别后,得到一个与其对应word文档(每页内容都与pdf文档一一对应)...
  • 1,VBA自动合并文件夹下EXCEL文件,保留同样多工作表,2,并生成目录,生成链接,主表到分表,分表返回主表,3,并且在主表中可以提取指定单元格信息。 3个VBA工具。 要求: 1,文件夹所在路径中不可以出现...
  • word文档内容格式:Excel表格格式:二、实现思路利用ExcelVBA和Word进行交互操作,根据段落进行初步的内容定位,再利用正则表达式提取段落中的有效信息。三、实现代码Public Sub ExcelVba正则提取...
  • 提取文本文件的内容到工作表中的方法,也给大家讲解了上述过程的逆过程,就是如何将工作表中数据读取出来写到文本中,这些是文件操作中最为基本的操作,对于大家理解VBA中循环,变量的利用,字符串的应用都是...
  • 今日的内容是“VBA之EXCEL应用”的第三章“工作簿(Workbook)和工作表(Worksheet)对象(Object)”中第四节“跨工作表计算器的实现”。“VBA之EXCEL应用”这套教程从简单的录制宏的讲解,一直到窗体的搭建,内容丰富,...
  • 有时,想对一个文件夹中的文件进行管理,比如想给这些文件建立一个目录,这时我们需要首先将这些文件名导入到Word文档或者是Excel中去,然后通过超链接来管理。一个个复制粘贴?这种勤奋精神我们还是不学为好。...
  • vba实践+按章节拆分扫描版pdf文档声明:在执行操作前...所以在前期通过OCR软件对pdf进行文字识别,导出word文档,再从文档中提取标题文本、章节内容的起始页码和结束页码等信息,并放到一个txt文档中。从word文档中...
  • 解决WPS中的VBA支持库安装问题

    万次阅读 2019-09-05 14:11:07
    在 WPS中宏需要VBA支持库 在网上看了好多基本都是垃圾文件 ,用不了 话不多说 ,自己亲身经历 直接用 链接: https://pan.baidu.com/s/1yLHaGBtMwBbXpCotZBtfbw 提取码: qhtk 复制这段内容后打开百度网盘手机...
  • VBA代码宝2.0》作者 :陈表达创作时间...工作中常用的VBA代码大全,内含代码注释,可直接复制执行调试,直观看到效果,包括窗体,控件,菜单,拆分工作表,遍历整个文件夹下所有文件,批量提取、修改文件内容,破...
  • 150.把第一列=某个值对应的第二列的内容连在一起,并用、隔开 151.取得系统使用模式 152.计算机注销/关机/重启 153.更改计算机名称 154.从n位开始取出字符串中的汉字、英文字母、数字 155.在指定列中寻找含有指定...
  • 本书的内容分为16章,另有一个附录,从各个方面向读者展示AutoCAD VBA开发的知识。 第1章深入分析了AutoCAD VBA开发中两个重要的知识点——宏和集合对象。宏是AutoCAD VBA开发中一个最基础但又非常重要的概念,而...
  • 从本地html文件提取内容,支持弹框显示选择HTML页面,获取对应标签,或者对应文本,修改下就可以用了
  • 中文版Excel.2007高级VBA编程宝典 1/2

    热门讨论 2012-04-06 16:00:16
     11.1.17 传递一维数组中的内容  11.1.18 将单元格区域传递给Variant类型的数组  11.1.19 按数值选择单元格  11.1.20 复制非连续的单元格区域  11.2 处理工作簿和工作表  11.2.1 保存所有工作簿  11.2.2 保存...

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

vba提取文件的内容