根据我的问题Excel merge all columns with VBA
我尝试使用宏将超过255列和2072行移动到1列中,以及Excel无法处理此操作并停止宏。由于缺乏资源,http://support.microsoft.com/kb/2655178进一步解释。这必定是一个错误,因为当我在某个列之后运行我的宏时,它会随机复制所选列的空单元格。让我没有任何删除行或撤消的方法,我被迫关闭XLSM工作表。
我试图通过将MSLS 2010中的XLSM工作表导入MS Access 2010来找到解决方法。不幸的是,MS Access也有一个限制,不会导入超过255列!由于相同的255限制限制,我也无法将XLSM表与MS Access表链接。
注意:我的工作表不包含任何标题
现在我想将电子表格中的每个列保存或导出到文本文档(参见示例),以便以后通过拖放到MS Access或PHP DB或Excel中来更轻松地导入它。
导出示例
column A ; column B ; column C; column D (etc. until column WC)
另存为
export0001.txt
export0002.txt
export0003.txt
export0004.txx
(etc.........)
export0999.txt
据我所知,没有内置的Excel命令或功能可以做我想要的事情。有一个我可以使用的VBA代码
Set NewBook = Workbooks.Add
Do
fName = Application.GetSaveAsFilename
Loop Until fName <> False
NewBook.SaveAs Filename:=fName
https://msdn.microsoft.com/en-us/library/office/ff841185.aspx
答案 0 :(得分:0)
参考:https://superuser.com/questions/541460/export-office-excel-table-to-csv-using-a-macro
Sub ExportTable()
Dim wb As Workbook, wbNew As Workbook
Dim ws As Worksheet, wsNew As Worksheet
Dim wbNewName As String
Set wb = ThisWorkbook
Set ws = ActiveSheet
Set wbNew = Workbooks.Add
With wbNew
Set wsNew = wbNew.Sheets("Sheet1")
wbNewName = ws.ListObjects(1).Name
ws.ListObjects(1).Range.Copy
wsNew.Range("A1").PasteSpecial Paste:=xlPasteAll
.SaveAs Filename:=wb.Path & "\" & wbNewName & ".csv", _
FileFormat:=xlCSVMSDOS, CreateBackup:=False
End With
End Sub