EXCEL的多个工作表如何导出单个EXCEL工作表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL的多个工作表如何导出单个EXCEL工作表相关的知识,希望对你有一定的参考价值。

1、打开excel表格,可以看到该表格中有两个工作表。

2、选择其中一个工作表,点击鼠标右键,在弹出的选项中点击“移动或复制工作表”。

3、之后弹出对话框,将“工作簿”下的选项选为“新工作簿”。

4、选好后点击确认按钮。

5、即可新生成一个新的只有工作表1在内的excel表格,同样操作另一个工作表即可。

参考技术A 打开EXCEL工作簿,小编的EXCEL工作簿中包含4个工作表,需要将这4个工作表单独保存起来。
选中表1,不要移动鼠标,单击右键,选择“移动或复制”。
在弹出的移动或建立工作表中对话框中,在工作簿对话框中选择“新工作簿”。
你可以根据需求确认是否建立副本,如果建立,将下方建立副本前的复选框勾选。如果不建立副本,则在原工作簿中表1就会对应删除。
确认之后,便会弹出一个工作表,表1单独保存了,直接选择保存就可以了。
同样的方法保存表2,表3和表4,这样4个工作表就单独保存了。使用起来就比较法方便了。
参考技术B 在你需要导出的那个工作表上单击右键----选劝移动或复制工作表”-----“工作簿”选劝新工作簿”------确定 这样你就导出了一个单一的,与原版一模一样的新文件啦!EXCEL的多个工作表如何导出单个EXCEL工作表本回答被提问者采纳 参考技术C 1、打开excel表格,可以看到该表格中有两个工作表。
2、选择其中一个工作表,点击鼠标右键,在弹出的选项中点击“移动或复制工作表”。
3、之后弹出对话框,将“工作簿”下的选项选为“新工作簿”。
4、选好后点击确认按钮。
5、即可新生成一个新的只有工作表1在内的excel表格,同样操作另一个工作表即可。

将带有结果的多个查询导出到 Excel 到一个工作表中

【中文标题】将带有结果的多个查询导出到 Excel 到一个工作表中【英文标题】:Export multiple queries with results to Excel into one worksheet 【发布时间】:2019-04-04 13:36:40 【问题描述】:

我想将我的数据库中所有以“WWEI”开头的有记录的查询导出到一个 Excel 工作表中,并在彼此下方列出。

strFullPath = "C:\Users\test.xlsx"
Set wb = xl.Workbooks.Add
Set wb = xl.Workbooks.Open(strFullPath)   
Set ws = wb.Worksheets(1)      
Set r = ws.Range("a1")         
r = "Possible Mistakes"

Set r = r.Offset(2, 1)

For Each qdf In CurrentDb.QueryDefs
    If Mid(qdf.Name, 1, 4) = "WWEI" Then
        querybezeichnung = qdf.Name
        If DCount("*", querybezeichnung) > 0 Then

            Set rs = CurrentDb.OpenRecordset(querybezeichnung)
            With rs
                For i = 1 To .Fields.Count
                    r.Cells(1, i) = .Fields(i - 1).Name
                    r.Cells(1, i).Font.Bold = True
                    'r.Cells(1, i).AutoFilter
                Next i
            End With
            Set r = r.Offset(1, 0)

            r.CopyFromRecordset rs
            rs.Close
            Set r = r.End(xlDown).Offset(2, 0)

        End If
    End If
Next qdf

我在线出现运行时错误“1004”:

Set r = r.End(xlDown).Offset(2, 0)

【问题讨论】:

querybezeichnung 是我之前声明的字符串 Set r = r.End(xlDown).Offset(2, 0) 因此你应该避免使用xlDown。假设r[a1],然后在单元格A1 之后什么都没有。当你说r.End(xlDown)。您指的是最后一个单元格(在 Excel 2007+ 的情况下为 A1048576,在 Excel 2003 的情况下为 A65536),然后最重要的是,您告诉 Excel 超过 2 行......显然 excel 会给你错误。使用xlUp 找到最后一行,然后做你想做的事。请参阅This 了解如何找到最后一行。 感谢您的提示,我解决了这个问题:Dim lngLastRow As Long With r.Worksheet lngLastRow = .Cells(.Rows.Count, r.Column).End(xlUp).Row .Range (.Cells(lngLastRow + 1, 1), .Cells(.Rows.Count, 1)).EntireRow.Delete End With Set r = r.Offset(lngLastRow, 0) 【参考方案1】:
Set r = r.End(xlDown).Offset(2, 0)
 instead of dis can't you use
Set r = r.Offset( recordcountofrs + 2, 0)
'________________________________________________________
strFullPath = "C:\Users\test.xlsx"
Set wb = xl.Workbooks.Add
Set wb = xl.Workbooks.Open(strFullPath)   
Set ws = wb.Worksheets(1)      
Set r = ws.Range("a1")         
r = "Possible Mistakes"

Set r = r.Offset(2, 1)

For Each qdf In CurrentDb.QueryDefs
    If Mid(qdf.Name, 1, 4) = "WWEI" Then
        querybezeichnung = qdf.Name
        If DCount("*", querybezeichnung) > 0 Then

            Set rs = CurrentDb.OpenRecordset(querybezeichnung)
            With rs
                For i = 1 To .Fields.Count
                    r.Cells(1, i) = .Fields(i - 1).Name
                    r.Cells(1, i).Font.Bold = True
                    'r.Cells(1, i).AutoFilter
                Next i
            End With
            Set r = r.Offset(1, 0)

            r.CopyFromRecordset rs
        LstRow = rs.RecordCount '<== this line added 
            rs.Close
            Set r = r.Offset(LstRow+2, 0) '<== this line changed 

        End If
    End If
Next qdf

【讨论】:

以上是关于EXCEL的多个工作表如何导出单个EXCEL工作表的主要内容,如果未能解决你的问题,请参考以下文章

使用 VBA 将 MS Access 记录集导出到 Excel 中的多个工作表/选项卡会生成只读文件

Reporting Services 使用多个工作表导出到 Excel

有没有办法将 excel 工作簿中的单个工作表导出到使用 pandas 分隔 csv 文件?

如何将单个工作表中的多行(在 excel 中)转换为多个 CSV 文件

使用 Pandas 将多个日志文件数据导出到单个 Excel

如何将 SQL 结果生成到 Excel 工作表 (Oracle)