İpucu: Digər dillər Google-tərcümə olunur. Sizi ziyarət edə bilərsiniz English bu linkin versiyası.
Daxil ol
x
or
x
x
Qeydiyyatdan
x

or

Müəyyən bir hüceyrə Exceldə dəyişdirildikdə e-poçtu necə göndərmək olar?

Bu yazı, müəyyən bir sıra hər hansı bir hüceyrədə Excel-də dəyişdirildiyi təqdirdə, Outlook vasitəsilə e-poçt göndərməkdən bəhs edir.

Belirli bir sıra hüceyrə VBA kodu ilə dəyişdirildikdə e-poçt göndər


Belirli bir sıra hüceyrə VBA kodu ilə dəyişdirildikdə e-poçt göndər


A2 aralığındaki hüceyrələr müəyyən bir iş kitabçasında dəyişdirildikdə, aktiv iş kitabını avtomatik olaraq yeni bir e-poçt yaratmaq istəyirsinizsə, aşağıdakı VBA kodu sizə kömək edə bilər.

1. Belirlenen bir aralıktaki modifiye edilmiş hücresine dayalı olaraq e-məktub göndərmək üçün lazım olan iş yerində, hesabatı sekmesini sağ tıklatın və sonra Kodları baxın kontekst menyusundan. Ekran görüntüsünə baxın:

2. Popping up Proqramlar üçün Microsoft Visual Basic Pəncərədən, VBA kodu aşağıda Kod pencerəsinə kopyalayıb yapışdırın.

VBA kodu: müəyyən bir sıra hüceyrə Exceldə dəyişdirildikdə e-poçt göndər

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2017/9/12
    Dim xRgSel As Range
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xMailBody As String
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set xRg = Range("A2:E11")
    Set xRgSel = Intersect(Target, xRg)
    ActiveWorkbook.Save
    If Not xRgSel Is Nothing Then
        Set xOutApp = CreateObject("Outlook.Application")
        Set xMailItem = xOutApp.CreateItem(0)
        xMailBody = "Cell(s) " & xRgSel.Address(False, False) & _
            " in the worksheet '" & Me.Name & "' were modified on " & _
            Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
            " by " & Environ$("username") & "."

        With xMailItem
            .To = "Email Address"
            .Subject = "Worksheet modified in " & ThisWorkbook.FullName
            .Body = xMailBody
            .Attachments.Add (ThisWorkbook.FullName)
            .Display
        End With
        Set xRgSel = Nothing
        Set xOutApp = Nothing
        Set xMailItem = Nothing
    End If
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

Qeydlər:

1). Kodda, A2: E11 e-poçt göndərmək üçündür üçündür.

2). Xahiş edirik e-poçt bədənini lazım olduğunda dəyişdirin xMailBody kodu daxil edin.

3). Dəyişdirin E-poçt ünvanı Alıcının e-poçt ünvanı ilə uyğun olaraq . = "E-poçt ünvanı".

4). E-poçt mövzunu satırla dəyişdirin .Subject = "İşdə dəyişmiş iş" & ThisWorkbook.FullName.

3. Basın Dayandırmaq + Q düymələri eyni vaxtda bağlamaq üçün Proqramlar üçün Microsoft Visual Basic pəncərə.

Artıq A2 aralığında hər hansı bir hüceyrə: E11 yenilənmişdir, yenilənmiş iş kitabçası ilə yeni bir e-poçt yaradılacaq. Mövzu, alıcı və e-poçt orqanı kimi bütün müəyyən sahələr e-poçtda veriləcəkdir. E-poçt göndərin.

Qeyd: VBA kodu yalnız Outlook proqramını e-poçt proqramı olaraq istifadə edərkən işləyir.


Related articles:



Təklif olunan Məhsuldarlıq Vasitələri

Office Tab

qızıl star1 Chrome, Firefox və yeni Internet Explorer kimi Excel və digər Office proqramlarına lazımlı sekmeleri gətirin.

Excel üçün Kutools

qızıl star1 Amazing! 5 dəqiqədə məhsuldarlığınızı artırın. Heç bir xüsusi bacarıqa ehtiyac yoxdur, hər gün iki saat saxlaya bilərsiniz!

qızıl star1 300 Excel üçün yeni funksiyalar, Excel çox asan və güclü olun:

  • Veriyi ləğv etmədən Cell / Satır / Sütunları birləşdirin.
  • Bir neçə Çarşaf və İş Kitabını birləşdirin və birləşdirin.
  • Çaprazları müqayisə edin, birdən çox aralığa kopyalayın, mətni tarixə, vahidə və valyuta çevrilməsinə çevirin.
  • Rənglər, Paging Subtotals, Advanced Sort və Super Filter tərəfindən sayılan,
  • Daha çox seçin / Insert / Sil / Mətn / Biçim / Bağlantı / Yorum / Çalışma kitabları / Çalışma Qurğuları Tools ...

Excel üçün Kutools-un ekranı

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ioana · 1 months ago
    hi; is there a way to change text displayed using information from other cells (from first row and first column)? for example, if I change cell K15, I want to include in the message info on cells A15 and K1? what should I change in the code? thank you very much
  • To post as a guest, your comment is unpublished.
    Jimmy Joseph · 1 months ago
    I have tried above VBA code: Send email if cell in a specified range is modified in Excel. This VBA works for me except sending email. When the data is modified in the given range an email is automatically generated with modified cell details. However, the email is not automatically sending to the recipient and the user has to click send button in the email. What I am looking here is, the email has to send to the recipients automatically when it is generated. Please help me to provide a code for this. Many thanks
    • To post as a guest, your comment is unpublished.
      crystal · 1 months ago
      Hi Jimmy Joseph,
      Please replace the line ".Display" with ".Send". Hope I can help. Thanks for commenting.
  • To post as a guest, your comment is unpublished.
    sagar · 3 months ago
    if i have to send that entire row then?
  • To post as a guest, your comment is unpublished.
    Brad · 4 months ago
    Great information.
    Question regarding the information that can be added to the email.
    Using your example above....

    If you had a value in F4, how would you include the F4 Value in the email that was generated when D4 was modified??
  • To post as a guest, your comment is unpublished.
    Sonu · 5 months ago
    If i want to send the cell value instead of the address..then what shall I change in the code?
    • To post as a guest, your comment is unpublished.
      crystal · 2 months ago
      Hi,
      You can try the below VBA code.

      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim xRgSel As Range
      Dim xOutApp As Object
      Dim xMailItem As Object
      Dim xMailBody As String
      On Error Resume Next
      Application.ScreenUpdating = False
      Application.DisplayAlerts = False
      Set xRg = Range("A2:E11")
      Set xRgSel = Intersect(Target, xRg)
      ActiveWorkbook.Save
      If Not xRgSel Is Nothing Then
      Set xOutApp = CreateObject("Outlook.Application")
      Set xMailItem = xOutApp.CreateItem(0)
      xMailBody = "Cell(s) " & xRgSel.Address(False, False) & _
      xRgSel.Value & _
      " in the worksheet '" & Me.Name & "' were modified on " & _
      Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
      " by " & Environ$("username") & "."

      With xMailItem
      .To = "Email Address"
      .Subject = "Worksheet modified in " & ThisWorkbook.FullName
      .Body = xMailBody
      .Attachments.Add (ThisWorkbook.FullName)
      .Display
      End With
      Set xRgSel = Nothing
      Set xOutApp = Nothing
      Set xMailItem = Nothing
      End If
      Application.DisplayAlerts = True
      Application.ScreenUpdating = True
      End Sub