Я новичок здесь на форуме, а также новичок в коде VBA!
У меня есть таблица Excel, где мне нужно сделать несколько выборов в выпадающем списке в Excel, и я сделал это с помощью следующего кода .
Private Sub Worksheet_Change(ByVal Target As Range)
' To make mutliple selections in a Drop Down List in Excel
Dim Oldvalue As String
Dim Newvalue As String
On Error GoTo Exitsub
If Target.Column = 3 Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
Target.Value = Oldvalue & ", " & Newvalue
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub
Затем мне нужно отправить электронное письмо, когда файл будет сохранен. Что мне нужно сделать, это следующее:
Sub Workbook_AfterSave(ByVal Success As Boolean)
Dim xOutApp As Object
Dim xMailItem As Object
Dim xName As String
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xName = ActiveWorkbook.FullName
With xMailItem
.To = "Email Address"
.CC = ""
.Subject = "The workbook has been saved"
.Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
.Attachments.Add xName
.Display
End With
Set xMailItem = Nothing
Set xOutApp = Nothing
End Sub
Если я запускаю их отдельно (запуск одного, удаление другого), оба работают. Если я соберу их вместе, сработает только первое.
Может кто-нибудь мне помочь?