Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Excel工作表链接到access表(并打开)时编辑Excel工作表_Excel_Vba - Fatal编程技术网

在Excel工作表链接到access表(并打开)时编辑Excel工作表

在Excel工作表链接到access表(并打开)时编辑Excel工作表,excel,vba,Excel,Vba,我有两本excel工作簿,主要和备份 每隔一段时间就会有一个宏从Main运行,它会将一行数据传输到备份。这两个工作簿包含完全相同的表 我有一个直接链接到备份表的access数据库,因此我可以查看access数据库中的数据 但是,如果我的access数据库处于打开状态(或因意外而保持打开状态),则“从主工作簿到备份excel工作簿”的宏无法工作,因为它只能以“只读”方式打开它 有办法解决这个问题吗?主excel工作簿是由用户24/7打开的,这就是为什么我作为“中间人”提出了第二个excel工作簿,

我有两本excel工作簿,主要和备份

每隔一段时间就会有一个宏从Main运行,它会将一行数据传输到备份。这两个工作簿包含完全相同的表

我有一个直接链接到备份表的access数据库,因此我可以查看access数据库中的数据

但是,如果我的access数据库处于打开状态(或因意外而保持打开状态),则“从主工作簿到备份excel工作簿”的宏无法工作,因为它只能以“只读”方式打开它

有办法解决这个问题吗?主excel工作簿是由用户24/7打开的,这就是为什么我作为“中间人”提出了第二个excel工作簿,它只是短暂打开以插入数据。但是,如果同时有数据试图传输,这当然会导致问题。主工作簿受保护,但备份工作簿不受保护

我已经在备份工作簿上尝试了“允许多用户更改”。我开始认为这是我在主excel工作簿的代码中“打开”工作簿的方式

下面是我的代码,它基本上打开了备份excel工作簿,并将一行数据插入单元格A3-BL3

Sub TransferData()


Application.ScreenUpdating = False
Dim wb As Workbook
Dim Reportwb As Workbook


Set Reportwb = Workbooks("Main.xlsm")


Set wb = Workbooks.Open(Filename:="C:\Users\yilmadu001\Desktop\Backup.xlsx")


Reportwb.Sheets("Data1").Range("A4:BL4").Copy
wb.Sheets("DATA").Range("A3:BL3").Insert Shift:=xlDown
Reportwb.Save
wb.Close True


Application.ScreenUpdating = True
End Sub

非常感谢您的帮助。

您应该以只读方式在Access中打开Excel电子表格。如果可以,甚至可以尝试修改文件权限以允许只读权限。@SunnyPatel我已将excel数据表链接到access中的一个表,是否有方法将其链接为“只读”?@SunnyPatel我从未计划直接从access编辑excel表单元格,我只想能够查看该表,如果这有助于我不使用access,但我知道的足够多,您应该能够将它们链接为只读。这样,在写入.xls文件时不会发生冲突。为什么要使用备份工作簿?为什么不直接将主工作簿插入Access表?