Excel 每次提交Microsoft表单时触发Get宏
我用MicrosoftForms制作了一个表单,在同一个Excel文件中,我有一个宏,每当在例如A2-A20中发生更改时都会触发 所以我的目标是在每次有人提交数据时触发宏。 但当有人提交表单并将数据添加到Excel文件时,宏似乎不会被触发。Excel 每次提交Microsoft表单时触发Get宏,excel,vba,microsoft-forms,Excel,Vba,Microsoft Forms,我用MicrosoftForms制作了一个表单,在同一个Excel文件中,我有一个宏,每当在例如A2-A20中发生更改时都会触发 所以我的目标是在每次有人提交数据时触发宏。 但当有人提交表单并将数据添加到Excel文件时,宏似乎不会被触发。 当我自己在其中一个单元格中写入内容时,宏工作正常 Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range ' The variable Ke
当我自己在其中一个单元格中写入内容时,宏工作正常
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("A2:A20")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
'Get name for new workbook
Dim WBnew As Variant
WBnew = Range("E" & Target.Row).Value
' Creates a reference to workbook object
Dim WB As Workbook
'Adding a New Workbook
Set WB = Workbooks.Add
'Set where to save the Workbook and name
ActiveWorkbook.SaveAs Filename:="C:\Users\" & WBnew & ".xls"
'Copy entire row
Workbooks("Test forms.xlsm").Worksheets("Form1").Range(Target.Row & ":" & Target.Row).Copy
'Paste to row 2 in the new workbook
Workbooks(WBnew & ".xls").Worksheets("Sheet1").Range("1:1").Insert
'Copy row 1 in old workbook and paste it to the new workbooks row 1
Workbooks("Test forms.xlsm").Worksheets("Form1").Range("1:1").Copy
Workbooks(WBnew & ".xls").Worksheets("Sheet1").Range("1:1").Insert
'Save the workbook
ActiveWorkbook.Save
End If
End Sub
当新数据从表单中输入时,您知道该怎么做才能触发宏吗
提前谢谢 什么“当我自己在牢房里写东西时效果很好”?我们应该推断出你有什么问题吗?然后,您是否使用
工作表\u Change
事件,并且还需要触发公式更新在单元格中产生的更改?如果是,则应使用工作表\u计算事件。如果这不是您的问题,请编辑您的问题并共享您使用的代码。对此表示抱歉。我也用一些代码更新了我的问题。Change
事件仅在单元格内容更改时触发。不清楚您想要触发代码的确切内容。您正在谈论的范围内是否有公式,并且您希望在其他工作表中修改这些单元格的值时触发事件?@SJR I当其中一个单元格中的内容发生更改时,将触发什么样的代码。当有人提交表单时,答案将自动添加到工作表的新行,这将触发代码(但不会)。如果我只是手动在单元格中写入内容,它将被触发。