填报功能

一个excel有20个sheet,但是表结构是一样的,有什么办法能批量导入帆软,前提帆软的填报页面没预制20个sheet,仅有一个sheet

FineReport h879 发布于 2025-3-20 11:08
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-3-20 11:15(编辑于 2025-3-20 11:18)

自己把多个sheet页汇总到一张sheet里面再导入了。。wps,或者excel现在都有类似的批量导入功能

excel可以写vba代码,,wps的话会员就有内置功能,如果不会vba直接AI问一下很简单了。。

-----------------------alt+f11复制一下代码进去后,按f5就会合并了-------------------

Sub 合并所有Sheet到汇总()

    Dim ws As Worksheet

    Dim destWs As Worksheet

    Dim lastRow As Long

    Dim nextRow As Long

    

    ' 设置目标汇总表,默认为第一个sheet

    Set destWs = ThisWorkbook.Sheets(1)

    

    ' 清除汇总表中的原有数据,保留标题行

    destWs.Rows("2:" & destWs.Rows.Count).ClearContents

    ' 初始化下一行的位置,在汇总表标题行之后开始

    nextRow = 2

    

    ' 循环遍历每个工作表

    For Each ws In ThisWorkbook.Sheets

        ' 跳过汇总表本身

        If ws.Name <> destWs.Name Then

            ' 查找当前工作表最后的数据行号

            lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

            

            ' 如果该表有数据,则复制(跳过第一行标题)

            If lastRow > 1 Then

                ws.Range("A2:A" & lastRow).EntireRow.Copy _

                    Destination:=destWs.Cells(nextRow, 1)

                

                ' 更新下一个粘贴位置

                nextRow = destWs.Cells(destWs.Rows.Count, "A").End(xlUp).Row + 1

            End If

        End If

    Next ws

    

    MsgBox "数据合并完成!", vbInformation

End Sub

image.png

最佳回答
0
CovidLv3高级互助
发布于2025-3-20 11:08(编辑于 2025-3-20 11:09)

不支持

---------

你得先做够20个sheet

最佳回答
0
用户k6280494Lv6资深互助
发布于2025-3-20 11:09
  • 3关注人数
  • 27浏览人数
  • 最后回答于:2025-3-20 11:18
    请选择关闭问题的原因
    确定 取消
    返回顶部