问题描述
我用Microsoft Forms制作了一个表单,并且在同一个Excel文件中,我有一个宏,每次例如发生更改时都会触发。 A2-A20。
所以我的目标是在每次有人提交数据时触发宏。
但是,当有人提交表单并将数据添加到Excel文件时,似乎不会触发该宏。
当我自己在其中一个单元格中写一些东西时,宏可以正常工作。
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
有什么想法,当表单中有新数据输入时,宏就会被触发?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)