Note: The other languages of the website are Google-translated. Back to English

Sut i anfon e-bost os yw cell benodol yn cael ei haddasu yn Excel?

Mae'r erthygl hon yn sôn am anfon e-bost trwy Outlook pan fydd cell mewn ystod benodol yn cael ei haddasu yn Excel.

Anfon e-bost os yw cell mewn ystod benodol wedi'i haddasu gyda chod VBA


Anfon e-bost os yw cell mewn ystod benodol wedi'i haddasu gyda chod VBA


Os oes angen i chi greu e-bost newydd yn awtomatig gyda llyfr gwaith gweithredol ynghlwm pan fydd cell yn ystod A2: E11 yn cael ei haddasu mewn taflen waith benodol, gall y cod VBA canlynol eich helpu chi.

1. Yn y daflen waith y mae angen i chi anfon e-bost yn seiliedig ar ei gell wedi'i haddasu mewn ystod benodol, de-gliciwch y tab dalen ac yna cliciwch ar y Gweld y Cod o'r ddewislen cyd-destun. Gweler y screenshot:

2. Yn y popping up Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, copïwch a gludwch islaw'r cod VBA i mewn i ffenestr y Cod.

Cod VBA: Anfon e-bost os yw cell mewn ystod benodol wedi'i haddasu yn Excel

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

Nodiadau:

1). Yn y cod, A2: E11 yw'r ystod y byddwch chi'n anfon e-bost yn seiliedig arni.
2). Newidiwch y corff e-bost yn ôl yr angen xMailCorff llinell yn y cod.
3). Amnewid y e-bost Cyfeiriad gyda'r cyfeiriad e-bost derbynnydd yn unol .To = "Cyfeiriad E-bost".
4). Newid y pwnc e-bost yn unol .Subject = "Taflen waith wedi'i haddasu yn" & ThisWorkbook.FullName.

3. Gwasgwch y Alt + Q allweddi ar yr un pryd i gau'r Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.

O hyn ymlaen, mae unrhyw gell yn ystod A2: E11 yn cael ei haddasu, bydd e-bost newydd yn cael ei greu gyda'r llyfr gwaith wedi'i ddiweddaru ynghlwm. A bydd yr holl feysydd penodol fel pwnc, derbynnydd a chorff e-bost yn cael eu rhestru yn yr e-bost. Anfonwch yr e-bost.

Nodyn: Mae'r cod VBA yn gweithio dim ond os ydych chi'n defnyddio Outlook fel eich rhaglen e-bost.


Erthyglau cysylltiedig:


Yr Offer Cynhyrchedd Swyddfa Gorau

Mae Kutools for Excel yn Datrys y rhan fwyaf o'ch Problemau, ac yn Cynyddu Eich Cynhyrchedd 80%

  • Ailddefnyddio: Mewnosod yn gyflym fformwlâu cymhleth, siartiau ac unrhyw beth rydych chi wedi'i ddefnyddio o'r blaen; Amgryptio Celloedd gyda chyfrinair; Creu Rhestr Bostio ac anfon e-byst ...
  • Bar Fformiwla Gwych (golygu llinellau lluosog o destun a fformiwla yn hawdd); Cynllun Darllen (darllen a golygu nifer fawr o gelloedd yn hawdd); Gludo i'r Ystod Hidlo...
  • Uno Celloedd / Rhesi / Colofnau heb golli Data; Cynnwys Celloedd Hollt; Cyfuno Rhesi / Colofnau Dyblyg... Atal Celloedd Dyblyg; Cymharwch y Meysydd...
  • Dewiswch Dyblyg neu Unigryw Rhesi; Dewiswch Blank Rows (mae pob cell yn wag); Darganfyddiad Gwych a Darganfyddiad Niwlog mewn Llawer o Lyfrau Gwaith; Dewis ar Hap ...
  • Copi Union Celloedd Lluosog heb newid cyfeirnod fformiwla; Auto Creu Cyfeiriadau i Daflenni Lluosog; Mewnosod Bwledi, Blychau Gwirio a mwy ...
  • Testun Detholiad, Ychwanegu Testun, Tynnu yn ôl Swydd, Tynnwch y Gofod; Creu ac Argraffu Subtotals Paging; Trosi rhwng Cynnwys a Sylwadau Celloedd...
  • Hidlo Super (arbed a chymhwyso cynlluniau hidlo i ddalenni eraill); Trefnu Uwch yn ôl mis / wythnos / dydd, amlder a mwy; Hidlo Arbennig gan feiddgar, italig ...
  • Cyfuno Llyfrau Gwaith a Thaflenni Gwaith; Uno Tablau yn seiliedig ar golofnau allweddol; Rhannwch Ddata yn Daflenni Lluosog; Trosi Swp xls, xlsx a PDF...
  • Mwy na 300 o nodweddion pwerus. Yn cefnogi Swyddfa / Excel 2007-2019 a 365. Yn cefnogi pob iaith. Defnydd hawdd yn eich menter neu sefydliad. Nodweddion llawn treial am ddim 30 diwrnod. Gwarant arian yn ôl 60 diwrnod.
tab kte 201905

Mae Tab Office yn Dod â rhyngwyneb Tabbed i'r Swyddfa, a Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
gwaelod officetab
sylwadau (30)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Yr wyf yn sownd mewn isod cod VB. Rwy'n ceisio cael hysbysiad e-bost i'r defnyddiwr lle mae'r data wedi'i newid. Mae e-bost yn gweithio ond pan fyddaf yn gwneud unrhyw newid, dechreuir e-bost ar unwaith ond rydw i eisiau e-bost pan fydd dalen excel yn cael ei chadw a'i chau ar ôl gwneud yr holl newidiadau i'r holl ddefnyddwyr a gafodd effaith. Hefyd dylai hyn fod yn gweithio ar gyfer unrhyw un o'r dalennau yn llyfr gwaith excel cyfan.

Helpwch os gwelwch yn dda...

Is Gweithlyfr Preifat_Cyn Arbed(ByVal SaveAsUI Fel Boole, Canslo Fel Boole)

'****Datganiad o wrthrychau a newidynnau******

Dim xRgSel Fel Ystod Dim xOutApp Fel Gwrthrych Dim xMailItem Fel Gwrthrych Dim xMailCorff Fel Llinyn Dim mailTo Fel Llinynnol

Ar Ail-ddechrau Gwall Nesaf

Taflenni("TargedTalen").Range("TargetRange").Dewis

Application.ScreenUpdating =Gau Application.DisplayAlerts = Ffug

'Gosod xRg = Amrediad("A" & Rows.Count).Diwedd(xlUp). Row

Gosod xRg = Ystod ("A2: DA1000")
Gosod xRgSel = Croestorri(Targed, xRg)


ActiveWorkbook.Save
'********** Cais Outlook yn agor ***************

Os Nid yw xRgSel Yn Dim Yna

Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xMailItem = xOutApp.CreateItem(0)

xMailBody = "Cell(iau)" & xRgSel.Address(Gau, Gau) & _
" yn y daflen waith '" Addaswyd &Me.Name&"' ar " &_
Fformat$(Nawr, "mm/dd/bbbb") & " yn " & Fformat$(Nawr, "hh:mm:ss") & _
" gan " &Environ$("enw defnyddiwr") & "."
'************* Rhestr Darganfod Derbynwyr************

If Cells(xRgSel.Row, "A").Value = "Pankaj" Yna

mailTo = "pank12 ***@gmail.com"

Gorffennwch Os

If Cells(xRgSel.Row, "A").Value = "Nitin" Yna

mailTo = "panc****@gmail.com"

Gorffennwch Os

If Cells(xRgSel.Row, "A").Value = "Chandan" Yna

mailTo = "pakxro**@gmail.com"

Gorffennwch Os
'*************E-bost yn cyfansoddi****************

Gyda xMailItem

.To = mailTo
.Subject = "Taflen waith wedi'i haddasu yn" & ThisWorkbook.FullName
.Corff = xMailBody
' .Attachments.Add (ThisWorkbook.FullName)
.Arddangos

Diwedd Gyda

Gosod xRgSel = Dim byd
Gosod xOutApp = Dim byd
Gosod xMailItem = Dim byd

Gorffennwch Os

Application.DisplayAlerts = Gwir
Application.ScreenUpdating = Gwir
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Pankaj Shukla,
Postiwch eich cwestiwn Excel i'n fforwm: https://www.extendoffice.com/forum.html i gael mwy o gefnogaeth am Excel gan ein gweithiwr Excel proffesiynol.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Roeddwn i'n gallu creu'r macro, fodd bynnag rwy'n cael problem. Hoffwn anfon e-bost yn awtomatig pan fydd cell yn cyrraedd trothwy penodol. Mae'r gell yn fformiwla. Pan fydd swm y cyfrifiad yn mynd o dan y trothwy dywededig nid yw'n gwneud dim; fodd bynnag, os byddaf yn teipio'n uniongyrchol i'r gell bydd yn prosesu'r macro fel y cynlluniwyd. Ydy'r fformiwla'n gwneud llanast o'r macro?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Sissy Jones,
Y dull yn yr erthygl hon: Sut i anfon e-bost yn awtomatig yn seiliedig ar werth cell yn Excel?
https://www.extendoffice.com/documents/excel/4656-excel-send-email-based-on-cell-value.html gall eich helpu i ddatrys y broblem.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Weinyddiaeth,


Dwi angen eich help,



Mae gen i excel i fonitro manylion gwaith dyddiol a wneir gan ein gweithiwr o'r maes, felly a yw hyn yn bosibl i sbarduno post o ddalen excel pe bai'r dyn hwnnw'n methu â diweddaru'r data yn y daflen excel honno ar amser penodol.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,
Methu helpu gyda hyn.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Os ydw i eisiau anfon gwerth y gell yn lle'r cyfeiriad... yna beth ddylwn i ei newid yn y cod?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,
Gallwch chi roi cynnig ar y cod VBA isod.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xRgSel Fel Ystod
Dim xOutApp Fel Gwrthrych
Dim xMailItem Fel Gwrthrych
Dim xMailBody Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Application.ScreenUpdating = Anghywir
Application.DisplayAlerts = Gau
Gosod xRg = Ystod ("A2: E11")
Gosod xRgSel = Croestorri(Targed, xRg)
ActiveWorkbook.Save
Os Nid yw xRgSel Yn Dim Yna
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xMailItem = xOutApp.CreateItem(0)
xMailBody = "Cell(iau)" & xRgSel.Address(Gau, Gau) & _
xRgSel.Gwerth&_
" yn y daflen waith '" Addaswyd &Me.Name&"' ar " &_
Fformat$(Nawr, "mm/dd/bbbb") & " yn " & Fformat$(Nawr, "hh:mm:ss") & _
" gan " &Environ$("enw defnyddiwr") & "."

Gyda xMailItem
.To = "Cyfeiriad E-bost"
.Subject = "Taflen waith wedi'i haddasu yn" & ThisWorkbook.FullName
.Corff = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Arddangos
Diwedd Gyda
Gosod xRgSel = Dim byd
Gosod xOutApp = Dim byd
Gosod xMailItem = Dim byd
Gorffennwch Os
Application.DisplayAlerts = Gwir
Application.ScreenUpdating = Gwir
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Beth os mai dim ond y sylwadau diweddaraf yn y gell honno yr ydym am eu cael ac nid gwerth cyfan y gell Dylai ddangos y sylwadau diweddaraf a ychwanegwyd yn y gell yn unig
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Wnaethoch chi ddarganfod hyn?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Gwybodaeth wych.
Cwestiwn ynglŷn â'r wybodaeth y gellir ei hychwanegu at yr e-bost.
Gan ddefnyddio eich enghraifft uchod....

Pe bai gennych werth yn F4, sut fyddech chi'n cynnwys y Gwerth F4 yn yr e-bost a gynhyrchwyd pan addaswyd D4??
Lleihawyd y sylw hwn gan y safonwr ar y wefan
os oes rhaid i mi anfon y rhes gyfan yna?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwyf wedi ceisio uchod cod VBA: Anfonwch e-bost os yw cell mewn ystod benodol wedi'i haddasu yn Excel. Mae'r VBA hwn yn gweithio i mi ac eithrio anfon e-bost. Pan fydd y data'n cael ei addasu yn yr ystod a roddir, caiff e-bost ei gynhyrchu'n awtomatig gyda manylion cell wedi'u haddasu. Fodd bynnag, nid yw'r e-bost yn cael ei anfon yn awtomatig at y derbynnydd ac mae'n rhaid i'r defnyddiwr glicio botwm anfon yn yr e-bost. Yr hyn yr wyf yn edrych yma yw, mae'n rhaid i'r e-bost anfon yn awtomatig at y derbynwyr pan gaiff ei gynhyrchu. Helpwch fi i ddarparu cod ar gyfer hyn. Diolch yn fawr
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Jimmy Joseph,
Os gwelwch yn dda disodli'r llinell ".Display" gyda ".Send". Gobeithio y gallaf helpu. Diolch am roi sylwadau.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
helo; a oes ffordd i newid testun a ddangosir gan ddefnyddio gwybodaeth o gelloedd eraill (o'r rhes gyntaf a'r golofn gyntaf)? er enghraifft, os byddaf yn newid cell K15, rwyf am gynnwys yn y neges wybodaeth ar gelloedd A15 a K1? beth ddylwn i ei newid yn y cod? Diolch yn fawr iawn
Lleihawyd y sylw hwn gan y safonwr ar y wefan
helo Laona. ydych chi'n darganfod sut y gallwch wneud hyn?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo. Sut ydw i'n addasu'r cod fel bod e-bost yn cael ei anfon i gyfeiriad e-bost arall os yw ystod arall o gelloedd yn cael eu golygu?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Unrhyw help ar y cais hwn? Yr un mater sydd gennyf. Rwyf am ychwanegu cyfeiriad e-bost lluosog fesul rhes, ond pan fyddaf yn newid un rhes, mae'r daflen waith gyfan yn newid. Sut alla i gyfyngu'r newidiadau i un rhes yn unig?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Golygu llinell:
1). Yn y cod, A2: E11 yw'r ystod y byddwch chi'n anfon e-bost yn seiliedig arno.
ac
3). Disodli'r Cyfeiriad E-bost gyda chyfeiriad e-bost y derbynnydd yn llinell .To = "Cyfeiriad E-bost".

Yn gweithio'n iawn.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
A allwch chi egluro hyn ymhellach. Sut ydych chi'n ailadrodd y cod i'w anfon i e-bost gwahanol yn seiliedig ar addasu ystod arall. Rwyf wedi ceisio copïo a gludo'r cod isod a newid yn unol â'ch sylw, ond yn dal i fod dim ond yr ystod gyntaf sy'n ymddangos i weithredu'r gorchymyn ac ysgrifennu'r e-bost.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
A oes gan unrhyw un ateb i hyn?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, roeddwn i'n ceisio anfon e-byst ar fy nhaflen gan ddefnyddio un gwerth wedi'i newid ar y ddalen. Os ar golofn H bydd y statws yn cael ei newid i = "4" dylai'r ID Archeb yn y chwith gael ei anfon at un defnyddiwr. Mae'r ddalen yn gweithio'n ddeinamig felly mae gen i Ystod o D9:D140 lle mae IDau archeb yn cael eu storio a newidiadau statws yn cael eu gwneud yn yr un ystod ar H9:H140. Sut alla i gyrraedd y nod i wneud hynny ac anfon yr ID Archeb at fy nghwsmer pan fydd statws wedi'i newid i = "4"?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
A fyddai'n bosibl dangos cell gyfeirio wahanol yn y xMailBody yn yr un golofn yn lle'r cyfeiriadau cell addasedig??
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Sam, Ydych chi'n bwriadu dewis cell gyfeirio ar hap yn yr un golofn o'r cyfeiriad cell addasedig? Neu deipio cell gyfeirio â llaw yn llinell xMailBody y cod? Mae'n hawdd teipio cell gyfeirio yn y cod â llaw, amgaewch y gell gyfeirio gyda dyfyniadau dwbl fel y dangosir isod: xMailBody = "Cell(iau)" & "D3" &", " & "D8" & _

Lleihawyd y sylw hwn gan y safonwr ar y wefan
A yw'n bosibl newid hyn fel ei fod ond yn dangos yr e-bost os yw cell mewn ystod wedi'i newid i ddweud "Ie". Byddai'n hoffi iddo wneud dim os yw'n werth arall.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch am y cod, mae'r cod hwn yn gweithio pan fyddaf yn nodi'r gwerth a phwyso enter. Ond yn fy achos i mae'r gell yn llenwi'n awtomatig â fformiwla, a phan gyrhaeddir y gwerth nid yw'n agor yr e-bost felly nid yw'r cod yn gweithio yn yr achos hwn. Diolch ymlaen llaw!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Hakana,
Gall y cod VBA canlynol eich helpu i ddatrys y broblem. Rhowch gynnig arni. Diolch i chi am eich adborth.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
'Diweddarwyd gan Extendoffice 2022/04/15
Dim xRgSel Fel Ystod
Dim xOutApp Fel Gwrthrych
Dim xMailItem Fel Gwrthrych
Dim xMailBody Fel Llinyn
Dim xBoolean Fel Boole
Dim xItsRG Fel Ystod
Dim xDDs Fel Ystod
Dim xDs Fel Ystod
Ar Ail-ddechrau Gwall Nesaf
Application.ScreenUpdating = Anghywir
Application.DisplayAlerts = Gau
xBoolean = Gau
Gosod xRg = Ystod ("E2: E13")

Gosod xItsRG = Croestorri(Targed, xRg)
Gosod xDDs = Croestorri(Target.DirectDependents, xRg)
Gosod xDs = Croestorri(Targed.Dibynyddion, xRg)
Os Na (xItsRG Ydy Dim) Yna
Gosod xRgSel = xItsRG
xBoolean = Gwir
ArallOs Ddim (xDDs Ydy Dim) Yna
Gosod xRgSel = xDDs
xBoolean = Gwir
ArallOs Ddim (xDs Ydy Dim) Yna
Gosod xRgSel = xDs
xBoolean = Gwir
Gorffennwch Os


ActiveWorkbook.Save
Os xBoolean Yna
Debug.Print xRgSel.Address


Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xMailItem = xOutApp.CreateItem(0)
xMailBody = "Cell(iau)" & xRgSel.Address(Gau, Gau) & _
" yn y daflen waith '" Addaswyd &Me.Name&"' ar " &_
Fformat$(Nawr, "mm/dd/bbbb") & " yn " & Fformat$(Nawr, "hh:mm:ss") & _
" gan " &Environ$("enw defnyddiwr") & "."

Gyda xMailItem
.To = "Cyfeiriad E-bost"
.Subject = "Taflen waith wedi'i haddasu yn" & ThisWorkbook.FullName
.Corff = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Arddangos
Diwedd Gyda
Gosod xRgSel = Dim byd
Gosod xOutApp = Dim byd
Gosod xMailItem = Dim byd
Gorffennwch Os
Application.DisplayAlerts = Gwir
Application.ScreenUpdating = Gwir
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, rwyf wedi creu cod tebyg ond hoffwn *** amod lle os yw gwerth cell yn cael ei ddileu na fydd yn anfon e-bost pan fydd yn cael ei gadw / cau. Dim ond pan fydd gwerth cell wedi'i nodi y bydd yn anfon e-bost. Ydych chi'n gwybod sut i wneud hyn? Dyma fy nghod:

CÔD AR GYFER E-BOST AWTOMATIG I RYWUN WRTH DDIWEDDARU LLYFR GWAITH EXCEL

COD DALEN:

Opsiwn Eglur 'Amrediad digwyddiad newid taflen waith Excel
Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Os Ddim yn Croestorri (Targed, Ystod ("C3: D62")) Yn Dim Yna
' Target.EntireRow.Interior.ColorIndex = 15
Ystod ("XFD1048576").Gwerth = 15
Gorffennwch Os
Os Ddim yn Croestorri (Targed, Ystod ("I3:J21")) Yn Dim Yna
' Target.EntireRow.Interior.ColorIndex = 15
Ystod ("XFD1048576").Gwerth = 15
Gorffennwch Os
Is-End


CÔD LLYFR GWAITH:

Is-lyfr gwaith preifat_BeforeClose(Canslo Fel Boole)
If Me.Saved = Gau Yna Me.Save

Dim xOutApp Fel Gwrthrych
Dim xMailItem Fel Gwrthrych
Dim xName Fel Llinyn

Os Ystod ("XFD1048576").Gwerth = 15 Yna
Ar Ail-ddechrau Gwall Nesaf
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xMailItem = xOutApp.CreateItem(0)
xName = ActiveWorkbook.FullName
Gyda xMailItem
.To = "e-bost"
.CC = ""
.Subject = "neges"
.Body = "neges!"
.Atodiadau.*** xName
.Arddangos
'.anfon
Diwedd Gyda
Gorffennwch Os
Gosod xMailItem = Dim byd
Gosod xOutApp = Dim byd



Is-End

Is-lyfr gwaith preifat_Agored()
Ystod ("XFD1048576"). Clir
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo bawb,

der Code würde gut für mein Vorhaben passen, aber gibt es die Möglichkeit, dass er eine E-Mail beim speichern schreibt mit allen Zellen die geändert wurden? Felly wie es jetzt ist ,würde er jede geänderte Zelle einzeln senten. Dies ist dann problematisch wenn zB 10 Zellen angepasst werden oedd 10 E-bost bedeuten würde. Und gibt es die Möglichkeit, die gesamte geänderte Zelle bei mir von A bis Y in einer E-Mail zu senten? Bisher haut der ja die Zellnummer in die E-Mail, wenn aber jemand anders Filtert wird er die Änderung nicht mehr finden.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Esser123,
Gall y codau VBA canlynol helpu. Ar ôl addasu'r celloedd yn yr ystod benodol ac arbed y llyfr gwaith, bydd e-bost yn ymddangos i restru'r holl gelloedd wedi'u haddasu yn y corff e-bost, a bydd y llyfr gwaith yn cael ei fewnosod fel atodiad yn yr e-bost hefyd. Dilynwch y camau canlynol os gwelwch yn dda:
1. Agorwch y daflen waith sy'n cynnwys y celloedd yr ydych am anfon e-byst yn seiliedig arnynt, cliciwch ar y dde ar y tab taflen a chliciwch Gweld y Cod o'r ddewislen de-gliciwch. Yna copïwch y cod canlynol i ffenestr y ddalen (cod).
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220921
Dim xAddress As String
Dim xDRg, xRgSel, xRg As Range

xAddress = "A1:A8"
Set xDRg = Range(xAddress)
Set xRgSel = Intersect(Target, xDRg)
On Error GoTo Err1
If Not xRgSel Is Nothing Then
If ThisWorkbook.gChangeRange = "" Then
ThisWorkbook.gChangeRange = xRgSel.AddressLocal(False, False, xlA1, True, False)
Else
Set xRg = Range(ThisWorkbook.gChangeRange)
Set xRg = Application.Union(xRg, xRgSel)
ThisWorkbook.gChangeRange = xRg.AddressLocal(False, False, xlA1, True, False)
End If
End If
Exit Sub
Err1:
      ThisWorkbook.gChangeRange = xRgSel.AddressLocal(False, False, xlA1, True, False)
End Sub

2. Yn y golygydd Visual Basic, cliciwch ddwywaith Llyfr Gwaith hwn yn y cwarel chwith, yna copïwch y cod VBA canlynol i'r Y Llyfr Gwaith hwn (Cod) ffenestr.
Option Explicit
Public gChangeRange As String
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220921
Dim xRgSel, xRg As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
'On Error Resume Next
On Error GoTo Err1
Set xRg = Range(gChangeRange)
If Not xRg Is Nothing Then
   Set xOutApp = CreateObject("Outlook.Application")
        Set xMailItem = xOutApp.CreateItem(0)
        xMailBody = "Email Body: " & vbCrLf & "The following cells were modified:" & xRg.Address(False, False)
        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
Err1:
gChangeRange = ""
End Sub
Nid oes unrhyw sylwadau wedi'u postio yma eto
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir