Запускать макрос каждый раз при отправке формы Microsoft

Я создал форму с помощью 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

Есть идеи, что делать, чтобы макрос запускался при поступлении новых данных из формы?

Заранее спасибо!

0 ответов

Другие вопросы по тегам