gpt4 book ai didi

vba - 在将事件用户数据输入工作表之前,如何使用其他人的更改来更新共享工作簿?

转载 作者:行者123 更新时间:2023-12-02 15:45:04 24 4
gpt4 key购买 nike

我有一个共享的启用宏的工作簿,用于进行测验。我可以选择配置可以借助计算机名称访问测验的用户。一切正常。不过,我想介绍一个功能来记录工作簿中完成的主要事情。用户无需在单元格中手动输入任何内容。所有条目均使用用户表单进行。

我制作了一个子程序,每次用户执行我需要捕获的操作时都会运行该子程序。当单个用户处于事件状态时,该代码就像魅力一样。当多个用户同时访问该文件时会出现此问题。

问题是,系统会提示用户选择在关闭工作表时胜出的更改。我不希望这种事发生。无论如何,是否可以删除提示并保存所有更改。

有没有解决这个问题的方法。下面是我现在拥有的代码。

Sub Actions()
QA_Quiz_Master.Save
Application.ScreenUpdating = False
UN = Evaluate("=UserNameWindows()")
QuizN = Sheet4.Range("F2").Value
totlog = Log.Range("A1048576").End(xlUp).Row + 1
Select Case Action
Case "Open"
Log.Range("C" & totlog).Value = "Accessed"
Case "Start"
Log.Range("C" & totlog).Value = "Started Quiz"
Case "Submit"
Log.Range("C" & totlog).Value = "Submitted Quiz"
Case "AdminContact"
Log.Range("C" & totlog).Value = "Contacted Admin"
Case "AccessRequest"
Log.Range("C" & totlog).Value = "Sent Access Request"
Case "Publish"
Log.Range("C" & totlog).Value = "Published Quiz"
Case "Republish"
Log.Range("C" & totlog).Value = "Republished Quiz"
Case "Withdraw"
Log.Range("C" & totlog).Value = "Withdrew Quiz"
Case "AnsPublish"
Log.Range("C" & totlog).Value = "Published Answers"
End Select
Log.Range("A" & totlog).Value = UN
Log.Range("B" & totlog).Value = QuizN
Log.Range("D" & totlog).Value = Now()
Log.Columns("A:D").EntireColumn.AutoFit
Application.DisplayAlerts = False
QA_Quiz_Master.Save
Application.ScreenUpdating = True
End Sub

最佳答案

经过一番研究,我自己解决了这个问题。我只需要在子的开头添加以下代码

If ActiveWorkbook.MultiUserEditing Then
QA_Quiz_Master.AcceptAllChanges
QA_Quiz_Master.Save
End If

关于vba - 在将事件用户数据输入工作表之前,如何使用其他人的更改来更新共享工作簿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com