Как заставить VBA отменить скрипт? - PullRequest
0 голосов
/ 25 мая 2018

Как можно отменить код VBA, если нажата кнопка отмены.У меня есть ...

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim ws As Worksheet
Set ws = Sheets("EDITS")
Dim tbl As ListObject
Set tbl = ws.ListObjects("Table1")
Dim newrow As ListRow
Set newrow = tbl.ListRows.Add

SavePrompt.Show

With newrow
    .Range(1) = Now
    .Range(2) = SavePrompt.TextBox1.Text
End With

End Sub

и добавлено ...

Private Sub CommandButton1_Click()

SavePrompt.Hide

End Sub

И,

Private Sub CommandButton2_Click()

Cancel = True

End Sub

в раздел макроса проекта книги.

Но по какой-то причине я не уверен, как заставить код Отменить, поскольку пользователь понимает, что он не хочет сохранять изменения, которые он по какой-то причине внес в Рабочую книгу.Этот SavePrompt поможет диагностировать, что было изменено и когда.

Спасибо заранее!

1 Ответ

0 голосов
/ 25 мая 2018

Я понимаю, что когда пользователь нажимает кнопку отмены, вы хотите очистить список строк. Если это так, просто введите следующий простой код.

Private Sub ListObject_Delete()
    Dim List1 As Microsoft.Office.Tools.Excel.ListObject = _
        Me.Controls.AddListObject(Me.Range("A1", "D4"), "List1")

    If DialogResult.Yes = MessageBox.Show("Delete the ListObject?", _
        "Test", MessageBoxButtons.YesNo) Then
        List1.Delete()
    End If

End Sub
...