将excel中数据保存至另一个excel中用vba

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将excel中数据保存至另一个excel中用vba相关的知识,希望对你有一定的参考价值。

点击当前excel中按钮,
将此中的数据保存至另一路径下的一个指定文件名的excel,
依次向下保存。
请各位高手帮帮忙!!!

将excel中数据保存至另一个excel中用vba,可以这样:
1、插入一个ActiveX控件中的按钮,双击添加如下代码:
Private Sub CommandButton1_Click()
ThisWorkbook.SaveAs Filename:="C:\Users\Administrator\Desktop\Book1.xlsx"
End Sub
"C:\Users\Administrator\Desktop\“是要存的路径,我放的是桌面
book1.xlsx是另存的文件名
2、把指定单元格的内容,放到一个新的Sheet中,并把这个Sheet设置为当前活动的Sheet, 然后使用下面的代码
Sub SaveAsCSV()
ActiveSheet.SaveAs "c:\aaaaa.csv", xlCSV
End Sub
比如原来有3个Sheet 那可以再创建一个新的Sheet 然后通过VBA把这个Sheet切换到当前活动的状态 然后把原来的某个Sheet中的那一行内容,复制到新的这个Sheet中,然后用上面的命令,保存掉,然后再把这个新添加的Sheet删除掉,在把焦点切换回原来你停留的Sheet ,就可以了。
参考技术A 插入一个ActiveX控件中的按钮,双击添加如下代码:
Private Sub CommandButton1_Click()
ThisWorkbook.SaveAs Filename:="C:\Users\Administrator\Desktop\Book1.xlsx"
End Sub

"C:\Users\Administrator\Desktop\“是要存的路径,我放的是桌面
book1.xlsx是另存的文件名本回答被提问者采纳
参考技术B qq113448742有偿解决

Excel VBA,排序,保存,关闭,然后打开

我有两个Excel文件,file1.xlsm和file2.xlsm;我有一个数据表,另一个是其他的数据表。在第二个文件中,我还有一个打开第一个文件的按钮。

在第一个文件中,我有一个按钮,它使用A列作为键对所有数据进行排序,第二个按钮进行保存和退出。

我的排序代码:

Private Sub CommandButton2_Click()
    Dim lRow As Long
    lRow = Cells(Rows.Count, 1).End(xlUp).Row
    With ActiveSheet.Sort
       .SortFields.Add Key:=Range("A3"), Order:=xlAscending
       .SetRange Range("A3:AF" & lRow)
       .Header = xlNo
       .Apply
    End With
End Sub

问题是,在排序,保存并退出后,我无法通过VBA重新打开同一个工作簿(按钮什么都不做);我可以点击该文件,然后打开但是给我一个错误,即存在问题,但Excel可以恢复。错误日志中的错误:

在文件'C: file1.xlsm'中检测到错误 删除记录:从中排序 /xl/worksheets/sheet1.xml部分

要保存的按钮就是用SaveChanges:=True关闭工作簿。

为什么会发生这种情况?如何纠正?

答案

这个错误

在文件中检测到错误

表示您的文件已损坏。

在许多情况下,将文件转换为二进制.xlsb格式会修复该文件。之后,您可以再次以XML格式.xlsm保存。

然而,我经常遇到XML格式和文件损坏的问题。因此,对于大数据,我建议使用二进制格式(它更有效,并且产生更小的文件)。

以上是关于将excel中数据保存至另一个excel中用vba的主要内容,如果未能解决你的问题,请参考以下文章

在excel中用vba实现与sql数据库的数据比较

excel表VBA中用代码如何建立多级combobox下拉菜单

EXCEL中用VBA复制整行

在EXCEL中用VBA操作WORD表格:怎样选择一个表格中除第一行以外的任意连续行(比如第2到4行)?

Excel VBA 将图片保存到本地文件夹

VBA 将 Excel 文件从 Access 保存为 .xls