我有一个数据输入用户表单,用户将数据保存到工作表时。我想保存Excel文件-为此,我使用ThisWorkbook.Save,它在我的计算机上就像一个超级按钮。
该文件已创建并保存为Excel 2016(Windows 64位)中的.XLSM文件。
现在,当我将其分发给办公室的同事时,某些机器可以正常工作。
某些机器抛出工作表类的运行时1004错误保存方法。
Application.DisplayAlerts = False
Dim xWs As Worksheet
Dim xName As String
xName = "data"
For Each xWs In Application.ActiveWorkbook.Worksheets
If xWs.Name <> xName Then
xWs.Visible = False
End If
Next
ThisWorkbook.Save '<<<< Runtime 1004 Error on this line
Unload Me
Application.Quit
在检查文件时,数据已保存到工作表中,但会引发错误。
这可能是什么原因?
基于我的想法 “ https://www.rondebruin.nl/win/s5/win001.htm” 用户可以在任何版本的excel excel 2007 / excel 2003中打开我的文件(.xlsm类型)吗?那是根本原因吗?如果可以,我该怎么办?
答案 0 :(得分:3)
我相信问题在于您如何分发文件。
我的猜测是您通过电子邮件将其发送给他们,然后他们从电子邮件中打开它?
发生的情况是文件处于无法保存的位置。
请您的同事将其另存为桌面或文档文件夹中的文件,以确保他们具有完整的读写功能。
然后打开文件。
这也困扰了我几次。 很容易忘记。
答案 1 :(得分:1)
您要避免使用ActiveWorkbook
。创建一个变量来存储您的工作簿并使用该变量。您的问题可能是由于您的ActiveWorkbook
指向的工作簿与您想要的工作簿不同。