导出到 excel 两张不同名称的工作表
Posted
技术标签:
【中文标题】导出到 excel 两张不同名称的工作表【英文标题】:export to excel two sheets with different names 【发布时间】:2015-12-15 18:08:34 【问题描述】:我有一个包含两个表的容器:CH10001 和 CH10002
使用以下代码我可以导出 CH10001
sub xport2xl()
iRow = 1
set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
set xlWB = xlApp.Workbooks.Add
set xlSheet = xlWB.Worksheets(1)
set obj = ActiveDocument.getsheetobject(ChartName)
xlSheet.Activate
xlSheet.Cells.Clear
while not (isempty(xlSheet.Cells(iRow,1)))
iRow = iRow+2
wend
set txt1 = ActiveDocument.GetSheetObject("CH10001")
txt1.CopytableToClipboard TRUE
xlSheet.Cells(iRow,1).Select
xlSheet.Paste
end sub
如何在同一个工作簿中导出 CH10001 和 CH10002,但使用动态工作表名称?例如在工作表名称中添加getdate?
【问题讨论】:
xlWb
是一个新工作簿,那么为什么要使用iRow
循环来检查内容呢?你在哪里运行这段代码?可能有助于添加更多上下文。
更重要的是,您希望它们在单独的工作表中导出还是在同一张表中的另一个表中导出?
【参考方案1】:
如果您想以单独的表格导出这些表格,这应该对您有所帮助:
Sub xport2xl()
iRow = 1
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlWB = xlApp.Workbooks.Add
Set xlSheet = xlWB.Worksheets(1)
Set obj = ActiveDocument.GetSheetObject(ChartName)
xlSheet.Activate
xlSheet.Cells.Clear
While Not (IsEmpty(xlSheet.Cells(iRow, 1)))
iRow = iRow + 2
Wend
Set txt1 = ActiveDocument.GetSheetObject("CH10001")
txt1.CopytableToClipboard True
'xlSheet.Activate '---You might need to activate sheet
xlSheet.Cells(iRow, 1).Paste
'-----Set the name of the sheet here----
xlSheet.Name = "Your name here for CH10001"
'----------------------------------------------------
'------------ Code for the second table -------------
'----------------------------------------------------
On Error Resume Next
'---Try to set the second sheet
Set xlSheet = xlWB.Worksheets(2)
If Err.Number <> 0 Then
'---If there is an error, add a new sheet
Set xlSheet = xlWB.Worksheets.Add
Else
'---Already assigned, nothing else to do
End If
On Error GoTo 0
Set txt1 = ActiveDocument.GetSheetObject("CH10002")
txt1.CopytableToClipboard True
'xlSheet.Activate '---You might need to activate sheet
xlSheet.Cells(iRow, 1).Paste
'-----Set the name of the sheet here----
xlSheet.Name = "Your name here for CH10002"
End Sub
【讨论】:
以上是关于导出到 excel 两张不同名称的工作表的主要内容,如果未能解决你的问题,请参考以下文章
将 Access 表导出到 Excel,但每个名称都有不同的工作表
将我的 Access 表导出到 Excel,但将列中的不同值拆分到不同的工作表中