问答1 问答5 问答50 问答500 问答1000

excel文件横向合并问题,求高手解答

提问网友 发布时间:2024-03-06 18:31
声明声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:1656858193@qq.com
2个回答
热心网友 回答时间:2024-03-28 21:03

1 、上百个CSV文件名,如是《文件001.cvs》、《文件002.cvs》、……,可以一次导入;

2、如果文件名没有共性字符,则一个一个文件导入(需要修改代码)

3、开两个工作表,一个为“文件目录”,一个为“合并文件”

3、程序如下:

Sub 合并文件()
    Application.ScreenUpdating = False  '关闭屏幕更新
'---------------------------------------------
'请空表格
    Sheets("合并文件").Select
    Cells.EntireRow.Delete
    Sheets("目录文件").Select
    Cells.EntireRow.Delete
'---------------------------------------------
'读取文件名称,提取共性字符,并判断是否为CSV文件
    读入文件 = Application.GetOpenFilename(Filefilter:="*.file ,*.*")
    If 读入文件 = False Then Exit Sub
    长度 = Len(读入文件)
    For I = 长度 - 1 To 1 Step -1
        If Mid$(读入文件, I, 1) = "\" Then
            文件夹 = Left$(读入文件, I)
            文件名 = Mid$(读入文件, I + 1, 长度 - I + 1)
            Exit For
        End If
    Next
    文件后缀 = LCase(Right$(文件名, 3))
    If 文件后缀 <> "csv" Then
        MsgBox "数据文件名称不正确!只能读取【CSV】文件!!":   Exit Sub
    End If
'---------------------------------------------

文件名 = Left$(文件名, 3) + "*"    '前3个字符为共性字符

'文件名 =  "*" & ".csv"   '后缀为共性字符,没有其它的csv文件

'---------------------------------------------
'导入文件名称,形成文件目录
    H = 1: L = 1
    文件 = Dir(文件夹 & 文件名)
    Do While Len(文件) > 0
        Cells(H, L) = H
        Cells(H, L + 1) = 文件
        文件 = Dir()
        H = H + 1
    Loop
'---------------------------------------------
'导入文件,合并文件
    H1 = 1:   L1 = 1
    HH1 = 2:
    Sheets("合并文件").Select
    For HH = 1 To H
        序号 = Sheets("目录文件").Cells(H, 1)
        文件名 = Sheets("目录文件").Cells(H, 2)
        Workbooks.OpenText Filename:=文件夹 + 文件名  '打开文件
        H2 = Cells(65536, L1).End(xlUp).Row
        L2 = Cells(H1, 256).End(xlToLeft).Column
        范围 = Range(Cells(H1, L1), Cells(H2, L2))
        ActiveWindow.Close '关闭打开的文件
        '--------------------------------------
        LL1 = Cells(HH1, 256).End(xlToLeft).Column
        If LL1 > 1 Then LL1 = LL1 + 1
        LL2 = LL1 + L2 - L1
        HH2 = HH1 + H2 - H1
        Range(Cells(HH1, LL1), Cells(HH2, LL2)) = 范围
        Cells(HH1 - 1, LL1) = 序号
        '03版Excel有256列,如果每个文件有3列以上数据,那么上百个文件,合并后就有300列以上数据,就装不下了
        '07版Excel有16384,自己计算一下
    Next
End Sub

追问高手,我有74个文件,每个是3列,要怎么改,而且我读不进去,提示是应用程序定义或对象定义错误

追答

上传了一个附件,打开运行

    热心网友 回答时间:2024-03-28 21:04
    一个csv文件只有一列数据吗?追问有3列呢

    本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

    网易云一万播放量有收益吗? EXCEL表格如何转置安放,就是横的变成竖列,竖列变成横的6 excel 表格横数列的变成竖数列,除了选择性粘贴-转置外,...1 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 下列化学用语中,数字“2”的说法正确的是( )①2H ②2NH3 ③SO2 ④... 薄台子村地址在哪 相册薄什么地方有卖 在淘宝买件衣服太薄了就太小太皱了,申请退货退款了,地址也给我了,也... 电饭煲是冷水还是热水煮饭电饭煲煮饭是冷水还是热水 支付宝收款,对方一直不同意怎么办 在大学里除了学好专业课,还要学哪些?社会交际能力怎么培养啊!_百度... ...我想争强我的社会交际能力(注:以前从没看过有关资料,求指点)_百度... ...其实很撑了。胃都痛了。可是还是会感觉到饿。 没有吃饱的感觉怎么回事 肚子硬硬的。 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... e3 1231 v3配h81puls主板可以吗 太原玛格丽特DIY蛋糕店 玛格丽特蛋糕为什么叫玛格丽特? 玛格丽特蛋糕是什么? excel表格中将原每4个为一组竖排排列的数据转换到另一个e... Excel表格把多列横向数据按照顺序改为纵向排列,如把图一改... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... excel怎么横着复制竖着粘贴24 excel怎么把竖着的变成横着1002 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 辞旧迎新展望未来句子 辞旧迎新,展望未来的短句? 07版excel如何实现行列转置3 刚申请的怎么不能发零钱 刚申请的怎么不能发零钱? 苹果手机为什么有些灯开不了? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 饭店里面厨师烧菜为什么有种特殊的香味 ? 16岁女孩子怎样快速瘦身呢 企业信用修复也需要学习吗? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 16岁女生如何有效减肥最快19 半小时最最有效减肥方法(女生,16岁)1