Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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
Vba 多台计算机向一个文档添加数据_Vba_Excel_Multi User - Fatal编程技术网

Vba 多台计算机向一个文档添加数据

Vba 多台计算机向一个文档添加数据,vba,excel,multi-user,Vba,Excel,Multi User,我创建了一个库存跟踪软件,它有一个客户端文档,可以使用VBA宏更改位于服务器上的主列表中的数据 这个单独的程序将提示用户输入信息,然后打开主列表文档并将数据添加到下一个未填充行 我目前遇到了一个问题,因为客户端程序将在多台计算机上同时使用,所有这些计算机将同时更改主控文档。是否有任何方法允许多个用户同时操作主控文档并绕过excel的多用户限制 Sub Button1_Click() Name = InputBox("Enter your name") Workbooks.

我创建了一个库存跟踪软件,它有一个客户端文档,可以使用VBA宏更改位于服务器上的主列表中的数据

这个单独的程序将提示用户输入信息,然后打开主列表文档并将数据添加到下一个未填充行

我目前遇到了一个问题,因为客户端程序将在多台计算机上同时使用,所有这些计算机将同时更改主控文档。是否有任何方法允许多个用户同时操作主控文档并绕过excel的多用户限制

    Sub Button1_Click()
    Name = InputBox("Enter your name")
    Workbooks.Open ("Master List.xlsm") 'Needs the file location path'
    Last_Row = Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1
    Range("A" & Last_Row) = Name
    Workbooks("Master List.xlsm").Save
    Workbooks("Master List.xlsm").Close
End Sub

这是客户端代码的一个非常简化的版本。

您最好使用一个数据库来实现这一点。Excel实际上不适合多个用户使用。如果无法使用数据库,请查看Excel中的
ADO
——使用SQL插入和更新记录。它们非常短,因此如果用户数或写入/更新量很小,它们可以在Excel上模拟数据库行为。您是否建议使用特定的数据库软件?宏还会自动填充一个表单,该表单需要在每次将新项目添加到主控表时打印出来。您有Microsoft Office,这通常意味着您已经有Microsoft Access。多个用户可以同时将项目添加到Access数据库吗?