精华内容
下载资源
问答
  • 具体操作方法如下:1、把需要合并的excel表格文档放到同一...3、打开“合并数据.xlsm“文件,在”Sheet1“工作表处右键→查看代码(快捷键:“Alt+F11”,或者打开“开发工具”-选择“Visual Basic”)进入到Mi...
    具体操作方法如下:0224e06d00de1c08ba91bb4a359bb358.png1、把需要合并的excel表格文档放到同一个文件夹里 (注意,文件夹中不要有其他的Excel文件)0224e06d00de1c08ba91bb4a359bb358.png2、新建一个“合并数据.xlsm“文档(文件名称自定义即可,xlsm为启用宏的Excel文件格式)0224e06d00de1c08ba91bb4a359bb358.png3、打开“合并数据.xlsm“文件,在”Sheet1“工作表处右键→查看代码(快捷键:“Alt+F11”,或者打开“开发工具”-选择“Visual Basic”)进入到Microsoft Visual Basic for Applications 的窗口。

    dce13fdf354d2f24d8dd43801d1a749e.png

    369013cf07bc2f59c0c90c7b31c6027c.png

    0224e06d00de1c08ba91bb4a359bb358.png4、双击工程资源管理器里面的sheet1或者ThisWorkbook,在右侧的代码区粘贴如下代码(当然处理的VBA代码不止一种,以下仅为举例)
    Sub 合并工作簿()
    Dim MyPath, MyName, AWbName
    Dim Wb As Workbook, WbN As String
    Dim G As Long
    Dim Num As Long
    Dim BOX As String
    Application.ScreenUpdating = False
    MyPath = ActiveWorkbook.Path
    MyName = Dir(MyPath & "\" & "*.xls")
    AWbName = ActiveWorkbook.Name
    Num = 0
    Do While MyName <> ""
    If MyName <> AWbName Then
    Set Wb = Workbooks.Open(MyPath & "\" & MyName)
    Num = Num + 1
    With Workbooks(1).ActiveSheet
    .Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
    For G = 1 To Sheets.Count
    Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
    Next
    WbN = WbN & Chr(13) & Wb.Name
    Wb.Close False
    End With
    End If
    MyName = Dir
    Loop
    Range("A1").Select
    Application.ScreenUpdating = True
    MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
    End Sub
    0224e06d00de1c08ba91bb4a359bb358.png5、运行→运行子过程/用户窗体(或者直接点击运行按钮,快捷键:F5),即可合并所有Excel表格到”数据合并.xlsm“文档的Sheet1工作表里面。

    2326f708082b38c2827f0bcc5e9ef20b.png

    0224e06d00de1c08ba91bb4a359bb358.png6、稍微处理一下合并后的数据,就完成了Excel表格的合并。

    PS : 如果处理的是多个.csv文件呢?只需将代码中的第9行改为:MyName = Dir(MyPath & "\" & "*.csv") ,即可完成数据合并。

    展开全文
  • VBA-选择文件对话框

    2015-09-17 13:57:29
    '打开选择路径对话框 '@strTitle 对话框标题名 '@strTypesDec 选择文件类型名...'@strExten 选择文件类型(一个文件名有多个读取类型时用";"连接,多个文件名用|连接) "*.gif; *.jpg; *.jpeg|*.*" '@boolAllowMultiSele
    '打开选择路径对话框
    '@strTitle	对话框标题名
    '@strTypesDec	选择文件类型名(多文件名时用"|"连接)    								 "Images|All files"
    '@strExten	    选择文件类型(一个文件名有多个读取类型时用";"连接,多个文件名用|连接)      "*.gif; *.jpg; *.jpeg|*.*"
    '@boolAllowMultiSelect   是否可以多选  true:多选  false:单选
    'return 返回选择文件的路径  多选的场合用"|"分割    点取消时返回空
    Function DialogsOpenSelectFile( _
                                Optional strTitle As String = "Please choose the required documents", _
                                Optional strTypesDec As String = "All", _
                                Optional strExten As String = "*.*", _	
                                Optional boolAllowMultiSelect As Boolean = False _
                                ) As String
        Dim dlgOpen   As FileDialog
        Dim arrTypesDec As Variant
        Dim arrExten As Variant
        Set dlgOpen = Application.FileDialog(msoFileDialogFilePicker)
        
        dlgOpen.Title = strTitle
        dlgOpen.Filters.Clear
        
        arrTypesDec = Split(strTypesDec, "|")
        arrExten = Split(strExten, "|")
        For arr_i = 0 To UBound(arrTypesDec)
            dlgOpen.Filters.Add arrTypesDec(arr_i), arrExten(arr_i)
        Next arr_i
        dlgOpen.AllowMultiSelect = boolAllowMultiSelect
        
        If dlgOpen.Show = -1 Then
            If dlgOpen.AllowMultiSelect = True Then
                Dim strTemp As String
                For i = 1 To dlgOpen.SelectedItems.Count
                    strTemp = strTemp & dlgOpen.SelectedItems(i)
                    If i <> dlgOpen.SelectedItems.Count Then
                        strTemp = strTemp & "|"
                    End If
                Next i
                DialogsOpenSelectFile = strTemp
            Else
                DialogsOpenSelectFile = dlgOpen.SelectedItems(1)
            End If
        Else
            DialogsOpenSelectFile = ""
        End If
        
        Set dlgOpen = Nothing
    End Function

    展开全文
  • 同时保存的总是整个工作表,而对于有多个工作表的文件特别是还有许多不需要保存到CSV文件中的内容,这样的处理方式就会显得很麻烦,因此采用VBA实现保存Excel多个工作表中的选择区域为CSV文件。首先在Excel选择需要...
    经常需要将Excel工作表转换成CSV文件,而使用另存为的功能只能对一个工作表进行操作,同时保存的总是整个工作表,而对于有多个工作表的文件特别是还有许多不需要保存到CSV文件中的内容,这样的处理方式就会显得很麻烦,因此采用VBA实现保存Excel多个工作表中的选择区域为CSV文件。首先在Excel选择需要导出的工作表(选择的方法是:点击选择第一个工作表,然后按下ctrl同时再点击其它工作表),选择之后,运行下面的VBA宏,宏代码如下: 
    
    view sourceprint?01.Option Explicit 
    02.Sub ExportSelectionToCSV() 
    03.    
    Dim wks As Worksheet 
    04.    
    Dim newWks As Worksheet 
    05.    
    For Each wks In ActiveWindow.SelectedSheets 
    06.        
    wks.Copy 'to a new workbook 
    07.        
    Set newWks = ActiveSheet 
    08.        
    With newWks 
    09.            
    Application.DisplayAlerts = False
    10.            
    .Parent.SaveAs Filename:="C:/TEMP/" & .Name, _ 
    11.                
    FileFormat:=xlCSV 
    12.            
    Application.DisplayAlerts = True
    13.            
    .Parent.Close savechanges:=False
    14.        
    End With
    15.    
    Next wks 
    16.End Sub
    上面的VBA函数将把Excel工作表中的保存到文件夹C:/temp (必须已经存在此文件夹)下,并且使用工作表的名称作为文件名,同时会覆盖同名文件(如果有同名文件的存在)。
    
    CSV即Comma Separate Value,这种文件格式经常用来作为不同程序之间的数据交互的格式。
    
    
    
    原创文章如转载,请注明:
    转载自水文工具集 [ http://www.cnhup.com ] 
    
    展开全文
  • 2、excel表格保留一行标题行,并把第一列数据填写为拆分项(文件拆分时将按第一列的内容进行归类合并为一个文件),整个表格不要合并单元格; 3、在打开的EXCEL工作表名称上点右键选择查看代码; 4、选择菜单栏:...
  • 想从一EXCEL里导入对应数据到另一EXCELEXCEL里导入对应数另一EXCEL方法:1、如下是一Excel工作薄两张表,分别为Sheet1和Sheet...选择“插入—函数”命令3、在“或选择类别”中选择“查找与引用”4、在对应的...

    想从一个EXCEL里导入对应数据到另一个EXCEL

    EXCEL里导入对应数另一个EXCEL方法:

    1、如下是一个Excel工作薄两张表,分别为Sheet1和Sheet2,分别以表12来代替。要把表2中的语文成绩导入到表1中,但是从图中可以看出表1和表2名字并不一一对应

    2、选中表1,选中C2单元格,即语文项目中第一个要录入的成绩。选择“插入—函数”命令

    3、在“或选择类别”中选择“查找与引用”

    4、在对应的“选择函数”中选择“VLOOKUP”,点击确定

    5、在出现的“函数参数”面板点击第一个选项箭头处的按钮

    6、点击“张三”名字,即“A2”单元格,表示我们要查找“张三”的成绩,点击上面的按钮回到面板上

    7、点击第二个选项箭头处的按钮

    8、选中表2,同时选择A列和B列,然后点击上面的按钮

    9、因为在表2中语文成绩在第二列,所以第三项填入数字“2”

    10、第四项我们直接填入“0”即可,点击确定

    11、看到表1中张三的语文成绩出现了数值,该数值与表2相同

    12、选中C2单元格,用填充柄下拉,所有的语文成绩就从表2填入表1中去了

    Excel中如何把一个表中的数据按条件导入另一个表中

    在表二中B1,输入以下公式,下拉填充

    =vlookup(a1,表一!a:b,2,0)

    表一为第一个工作表名称

    如何将一张EXCEL表格中符合条件的数据导入另一张表中的指定位置

    VLOOKUP是一个函数,一个查找的目标,它就能从指定的查找区域中查找返回想要查找到的值的基本语法为:

    VLOOKUP(查找目标,查找范围,返回值的列数,精确OR模糊查找)

    下面以一个实例来介绍一下这四个参数的使用

    例1:如下图所示,要求根据表二中的姓名,查找姓名所对应的年龄。

    公式:B13 =VLOOKUP(A13,$B$2:$D$8,3,0)

    参数说明:

    1 查找目标:就是你指定的查内容或单元格引用。本例中表二A列的姓名就是查找目标。我们要根据表二的“姓名”在表一中A列进行查找。

    公式:B13 =VLOOKUP(A13,$B$2:$D$8,3,0)

    2 查找范围(VLOOKUP(A13,$B$2:$D$8,3,0) ):指定了查找目标,如果没有说从哪里查找,EXCEL肯定会很为难。所以下一步我们就要指定从哪个范围中进行查找。VLOOKUP的这第二个参数可以从一个单元格区域中查找,也可以从一个常量数组或内存数组中查找。本例中要从表一中进行查找,那么范围我们要怎么指定呢?这里也是极易出错的地方。大家一定要注意,给定的第二个参数查找范围要符合以下条件才不会出错:

    A 查找目标一定要在该区域的第一列。本例中查找表二的姓名,那么姓名所对应的表一的姓名列,那么表一的姓名列(列)一定要是查找区域的第一列。象本例中,给定的区域要从第二列开始,即$B$2:$D$8,而不能是$A$2:$D$8。因为查找的“姓名”不在$A$2:$D$8区域的第一列。

    B 该区域中一定要包含要返回值所在的列,本例中要返回的值是年龄。年龄列(表一的D列)一定要包括在这个范围内,即:$B$2:$D$8,如果写成$B$2:$C$8就是错的。

    3 返回值的列数(B13 =VLOOKUP(A13,$B$2:$D$8,3,0))。这是VLOOKUP第3个参数。它是一个整数值。它怎么得来的呢。它是“返回值”在第二个参数给定的区域中的列数。本例中我们要返回的是“年龄”,它是第二个参数查找范围$B$2:$D$8的第3列。这里一定要注意,列数不是在工作表中的列数(不是第4列),而是在查找范围区域的第几列。如果本例中要是查找姓名所对应的性别,第3个参数的值应该设置为多少呢。答案是2。因为性别在$B$2:$D$8的第2列中。

    如何将多个excel文件中数据自动导入另外一个excel文档?

    可用SQL语句多表汇总生成表

    一、针对列名称都一样表

    如下:打开文件点数据 现有连接 浏览 找到要做汇总的工作簿打开  在弹出的框中选一个表(注意:数据首行包含列标题的勾一定要打上)点确定后弹出如下图所示

    选择生成表

    然后点属性  定义选项卡下命令文本中输入

    select * from [工作簿1所在路径].[数据表1名称$] union all select * from [工作簿2所在路径].[数据表2名称$] union all select * from [工作簿3所在路径].[数据表3名称$] 再点确定

    二、针对不同列名称的多表合并

    前面的步骤一致,在命令文本中输入

    select 所需名称1,所需名称2,* from [工作簿1所在路径].[数据表1名称$] union all select 所需名称3,所需名称4,* from [工作簿2所在路径].[数据表2名称$] union all select 所需名称5,* from [工作簿3所在路径].[数据表3名称$] (根据实际情况输入字段名称,没有的字段用null)

    如何把两个文件表格用VBA从另一个EXCEL表格导入数据到这个表格中?

    问题可能不算难题,可是理解你的这句话挺难的

    展开全文
  • 工作原因,需要统计所有单位的帐号信息,但是每个单位的帐号都分散在各自的excel表格里,因此需要把多个execel表格的相同的某个sheet页做合并。 大致步骤拆分,分别搜了下VBA,拼凑了三天搞定,还是有点成就感的 ...
  • 前景提要今天我们接着上次的分享来...很的人会说可以选择Y,没错这样操作的话,程序是可以继续执行的,但是如果不巧这个文件你刚刚修改了某些数据,如果你这个时候选择了Y,那么不好意思,你之前的所有改动都没...
  • EXCEL VBA 跨表合并多个文件

    千次阅读 2013-11-15 16:37:59
    '这些EXCEL文件最好格式能一样,这里是每个文件是同一个格式   Sub 批量() Dim FD, str$, arr Set FD = Application.FileDialog(msoFileDialogFolderPicker) If FD.Show = -1 Then t = FD.SelectedItems(1) Else
  • Excel VBA工作薄 5.3多个工作薄数据汇总2判断文件是否打开前景提要今天我们接着上次的分享来继续,上次我们分享了在合并多个工作薄的过程中,文件夹批量打开的操作,今天我们继续完善昨天的代码,在上节我们留下了一...
  • 文章导读:本文主要讲解如何将一个或者多个TXT文件通过VBA编码一键导入excel中并分列,完成数据数据整合。VBA程序共有3段代码,文章按照逻辑顺序依次讲解。1.自定义函数判断TXT文件编码ByVal:按值传递,把一个值...
  • 有时候办公室同事从系统上导出表,当数据量过大的时候,系统都会拆分成多个sheet来导出,每个sheet的表结构一致。他们需要将sheet合并,这样以便做筛选,做透视表。 这里帮他们搞了个xlsm小工具,直接将一个工作簿中...
  • 使用VBA代码,自定义页面数拆分大Word文件多个小文档并指定名称保存 alt+F11打开开发选项-->选择【插入】-->【模块】-->弹出代码编辑窗口,插入下面代码,按照需要修改页数和要重命名的每个文档按顺序的...
  • 文章导读:本文主要讲解如何将一个或者多个TXT文件通过VBA编码一键导入excel中并分列,完成数据数据整合。VBA程序共有3段代码,文章按照逻辑顺序依次讲解。1.自定义函数判断TXT文件编码ByVal:按值传递,把一个值...
  • 工作中,我们有时会需要将多个工作表Sheet的名称提取出来,制作成一个目录 如果一个一个去复制粘贴,效率肯定是很低的,如果Sheet数量很多,会严重影响我们的工作进度,那该如何处理呢?我们可以用VBA的方法快速处理...
  • 本文介绍在 CorelDRAW VBA中使用官方原生工具 CorelScriptTools 调用文件对话框,选择文件并获得文件路径的VBA代码。其提供的 GetFileBox 方法可用来打开文件对话框(或者另存为对话框)。 CorelScriptTools ...
  • 点击上方“懒人办公”,选择“置顶公众号”高效办公技巧,第一时间送达对大多数表亲来说,对分公司发来...像上面这种情况,多个格式相同,内容不同的工作表汇总,你会怎么做呢?是不是一个一个的相加,然后填充?如...
  • 大家好,今天继续讲解《VBA数据库解决方案》,今日讲解的是第37讲,利用ADO,实现同一文件夹下多个EXCEL工作表的数据汇总。最近的内容实用性比较强,如今日的内容,只把需要汇总的EXCEL文件放在同一个文件夹下,而且...
  • 这部分还是很实用的,曾经使用这些方法帮助客户实现过一个小工具,很大程度提升了工作效率。Option Explicit '一 FileDialog 对象简介 '提供文件对话框,功能与 ...'“打开”对话框:让用户选择一个或多个可以...
  • Excel VBA工作薄 5.3多个工作薄数据汇总2判断文件是否打开前景提要今天我们接着上次的分享来继续,上次我们分享了在合并多个工作薄的过程中,文件夹批量打开的操作,今天我们继续完善昨天的代码,在上节我们留下了一...
  • 这种方法对合并到同一个文件中还是可行的。 但你说的汇总到一张表里就不行了,可以试试用“=”建立链接(要用相对地址),但这种方法对表结构相同或类似的才可以,而且文件名和表名称要有规律。这样会很快汇总到...
  • VBA在Excel中的应用用VBA将同一...有一个银行询证函的excel文件,里面包含了数十家公司总计一百多个的银行账户,每个银行账户都需要建立一份银行询证函,因此这份文件(即一个工作簿)中实际有近两百份的工作表,一...
  • 或者,我们每年做一数据文件,最后把各年的数据文件汇总到一张表。此类问题,原来都用VBA或者SQL语句来解决,复杂的编程语句总是让大家看着吃力又难记。现在好啦,我们只需要点击鼠标即可完成,这就是Power BI系列...
  • 方法/步骤 1、新建一个文件夹,将需要合并的excel文档复制到该文档目录下。 2、新建一个EXCEL空白文档,鼠标移动到在sheet工作表上单击右键,选择“查看代码”选项,... 1 '功能:把多个excel工作簿的第一个sh...
  • 我想要excel另存为xlsx格式的文件,这个文件所有的东西选择性粘贴、去掉个人信息、取消隐藏、以显示精度为准,而不改变原来的excel文件,下面代码当excel sheet少的时候没问题,但当表格的时候就卡死,一直转圈 求...
  • 选择文件窗口,获取选择文件地址

    千次阅读 2019-03-02 20:12:11
    我们在做信息处理的时候,可能会涉及到多个其它文件,有的时候需要根据需求选择所需文件进行处理 今天我们就讲讲如何使用VBA实现打开文件的界面,并且获取到客户所选文件的绝对地址信息 效果动图 Part 1:代码 ...
  • 选择文件和指定合并Sheet页的代码请加上中文注释 求大神指点!!!求大神指点!!!求大神指点!!!求大神指点!!!求大神指点!...
  • 一、文件合并到同一个文件多Sheet下: 1、在想要合并的excel文件目录中新建一个excel文件。 2、右键新建excel中的sheet1选择“查看代码”,或者Alt+F11直接调出VBA操作界面。 3、运行以下代码(蓝色加粗倾斜字体为...
  • 通过excel VBA代码中的application.getopenfilename打开选择文件窗口,通过MultiSelect:=True参数允许同时选择多个文件,通过定义变量X,将选择的文件名(含路径赋值给X,后指定每个X1在变更集X中,)如何实现通过VBA...
  • 其实合并同一目录下的多个Excel文件,理论上用VBA是最好的,因为可以在复制粘贴的时候连格式一起,用python不好的地方就在于要把格式一起复制过去是很困难的。 当然如果对格式没什么太高的要求,那么使用xlwings合并...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 265
精华内容 106
关键字:

vba选择多个文件