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

Sut i anfon e-bost yn awtomatig yn seiliedig ar werth celloedd yn Excel?

Gan dybio eich bod am anfon e-bost trwy Outlook at dderbynnydd penodol yn seiliedig ar werth celloedd penodol yn Excel. Er enghraifft, pan fydd gwerth cell D7 mewn taflen waith yn fwy na 200, yna crëir e-bost yn awtomatig. Mae'r erthygl hon yn cyflwyno dull VBA i chi ddatrys y mater hwn yn gyflym.

Anfon e-bost yn awtomatig yn seiliedig ar werth celloedd gyda chod VBA


Anfon e-bost yn awtomatig yn seiliedig ar werth celloedd gyda chod VBA

Gwnewch fel a ganlyn i anfon e-bost yn seiliedig ar werth celloedd yn Excel.

1. Yn y daflen waith mae angen i chi anfon e-bost yn seiliedig ar ei werth cell (yma dywed y gell D7), de-gliciwch y tab dalen, a dewis 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 y cod VBA isod i mewn i'r ffenestr cod dalen.

Cod VBA: Anfon e-bost trwy Outlook yn seiliedig ar werth celloedd yn Excel

Dim xRg As Range
'Update by Extendoffice 2018/3/7
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Cells.Count > 1 Then Exit Sub
  Set xRg = Intersect(Range("D7"), Target)
    If xRg Is Nothing Then Exit Sub
    If IsNumeric(Target.Value) And Target.Value > 200 Then
        Call Mail_small_Text_Outlook
    End If
End Sub
Sub Mail_small_Text_Outlook()
    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xMailBody As String
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xMailBody = "Hi there" & vbNewLine & vbNewLine & _
              "This is line 1" & vbNewLine & _
              "This is line 2"
    On Error Resume Next
    With xOutMail
        .To = "Email Address"
        .CC = ""
        .BCC = ""
        .Subject = "send by cell value test"
        .Body = xMailBody
        .Display   'or use .Send
    End With
    On Error GoTo 0
    Set xOutMail = Nothing
    Set xOutApp = Nothing
End Sub

Nodiadau:

1). Yn y cod VBA, D7 ac gwerth> 200 yw'r gwerth celloedd a chell y byddwch yn anfon e-bost yn seiliedig arno.
2). Newidiwch y corff e-bost yn ôl yr angen xMailCorff llinell yn y cod.
3). Amnewid y Cyfeiriad E-bost gyda chyfeiriad e-bost y derbynnydd yn unol .To = "Cyfeiriad E-bost".
4). A nodwch y derbynwyr Cc a Bcc yn ôl yr angen .CC = “” ac Bcc = “” adran.
5). Yn olaf newid y pwnc e-bost yn unol .Subject = "anfon trwy brawf gwerth celloedd".

3. Gwasgwch y Alt + Q allweddi gyda'i gilydd i gau'r Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.

O hyn ymlaen, pan fydd y gwerth rydych chi'n ei nodi yng nghell D7 yn fwy na 200, bydd e-bost gyda derbynwyr a chorff penodol yn cael ei greu yn awtomatig yn Outlook. Gallwch glicio ar y anfon botwm i anfon yr e-bost hwn. Gweler y screenshot:

Nodiadau:

1. Dim ond pan fyddwch chi'n defnyddio Outlook fel eich rhaglen e-bost y mae'r cod VBA yn gweithio.

2. Os yw'r data a gofnodwyd yng nghell D7 yn werth testun, bydd y ffenestr e-bost yn cael ei popio allan hefyd.


Yn hawdd anfon e-bost trwy Outlook yn seiliedig ar feysydd rhestr bostio a grëwyd yn Excel:

Mae Anfon E-byst cyfleustodau Kutools ar gyfer Excel yn helpu defnyddwyr i anfon e-bost trwy Outlook yn seiliedig ar restr bostio wedi'i chreu yn Excel.
Dadlwythwch a rhowch gynnig arni nawr! (llwybr 30 diwrnod am ddim)


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 (290)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut y dylid addasu'r cod, i'w gymhwyso i ystod gyfan o gelloedd?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Debbie,
Ceisiwch isod y cod VBA i ddatrys y broblem.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Os Targed.Cells.Cyfrif > 1 Yna Gadael Is
Os (Ddim yn Croestorri (Targed, Ystod ("A1:D4"))) Ddim yn Ddim) A (Targed.Gwerth > 200) Yna
Ffoniwch Mail_small_Text_Outlook
Gorffennwch Os
Is-End
Is-bost_small_Text_Outlook()
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
msgstr "Dyma llinell 1" &vbNewLine&_
"Dyma llinell 2"
Ar Ail-ddechrau Gwall Nesaf
Gyda xOutMail
.To = "Cyfeiriad e-bost eich derbynnydd"
.CC = ""
.BCC = ""
.Subject = "anfon trwy brawf gwerth celloedd"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
Ar Gwall Ewch i 0
Gosod xOutMail = Dim byd
Gosod xOutApp = Dim byd
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwy'n cael trafferth cael y cod hwn i annog os yw'r gwerth yn y gell yn cael ei newid yn anuniongyrchol. Er enghraifft, os oes gennyf hafaliad Swm yn newid y gwerth hwn yn awtomatig. Pan fydd yr hafaliad yn rhedeg a'r gwerth yn mynd yn uwch na'r gwerth gosodedig i annog yr e-bost, nid yw'n gwneud hynny, oni bai fy mod yn newid y rhif fy hun yn gorfforol. A oes ffordd o wneud yr anogwr e-bost hyd yn oed os caiff ei newid yn anuniongyrchol?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Jordan,
Gall y cod VBA canlynol eich helpu i ddatrys y broblem. Peidiwch ag anghofio disodli'r "Cyfeiriad E-bost" gyda chyfeiriad e-bost y derbynnydd yn y cod. Diolch.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xRgPre Fel Ystod
Ar Ail-ddechrau Gwall Nesaf
Os Targed.Cells.Cyfrif > 1 Yna Gadael Is
Gosod xRg = Ystod ("D7")
Gosod xRgPre = xRg.Precedents
Os xRg.Value > 200 Yna
Os Targed.Address = xRg.Address Yna
Ffoniwch Mail_small_Text_Outlook
ArallOs (Nid yw xRgPre Dim) A (Croesffordd(Targed, xRgPre). Cyfeiriad = Target.Address) Yna
Ffoniwch Mail_small_Text_Outlook
Gorffennwch Os
Gorffennwch Os
Is-End
Is-bost_small_Text_Outlook()
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
msgstr "Dyma llinell 1" &vbNewLine&_
"Dyma llinell 2"
Ar Ail-ddechrau Gwall Nesaf
Gyda xOutMail
.To = "Cyfeiriad E-bost"
.CC = ""
.BCC = ""
.Subject = "anfon trwy brawf gwerth celloedd"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
Ar Gwall Ewch i 0
Gosod xOutMail = Dim byd
Gosod xOutApp = Dim byd
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwyf wedi addasu cod awgrymedig i geisio gwneud iddo weithio ar gyfer fy nghais.
Wedi newid xRg = Ystod ("C2:C40") ac Os xRg.Value = -1.

Y mater rydw i'n ei gael yw unrhyw bryd mae newid i unrhyw gell a chyn belled â bod un o'r celloedd yn fy ystod yw = -1 bydd yn galw Mail_small_Text_Outlook.
Rwy'n ceisio galw dim ond os bydd unrhyw gell yn fy ystod yn cael ei newid yn anuniongyrchol i -1.
Roeddwn hefyd yn meddwl tybed a fyddai'n bosibl ei gael i fodloni dau faen prawf, a sut.
Fel ystod siec A ac ystod B ac os ydynt yn bodloni'r meini prawf, swyddogaeth galw.

Diolch ymlaen llaw am y cymorth. Rwy'n newydd i hyn i gyd ond mae darllen trwy'r edefyn hwn â mi tua 90% yno.


Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xRgPre Fel Ystod
Ar Ail-ddechrau Gwall Nesaf
Os Targed.Cells.Cyfrif > 1 Yna Gadael Is
Gosod xRg = Ystod ("C2: C40")
Gosod xRgPre = xRg.Precedents
Os xRg.Value = -1 Yna
Os Targed.Address = xRg.Address Yna
Ffoniwch Mail_small_Text_Outlook
ArallOs (Nid yw xRgPre Dim) A (Croesffordd(Targed, xRgPre). Cyfeiriad = Target.Address) Yna
Ffoniwch Mail_small_Text_Outlook
Gorffennwch Os
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Defnyddiais y cod hwn a'r unig newid oedd fy mod wedi ei gymhwyso i golofn gyfan [Set xRg = Range ("D4: D13")]. Nawr mae'r digwyddiad yn sbarduno pryd bynnag y gwneir cyfrifiad ni waeth a yw'r falf yng Ngholofn D yn is na'r gwerth targed. Unrhyw syniad pam hynny?


Dim Xrg Fel Ystod
Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xRgPre Fel Ystod
Ar Ail-ddechrau Gwall Nesaf
Os Targed.Cells.Cyfrif > 1 Yna Gadael Is
Gosod Xrg = Ystod ("D4: D13")
Gosod xRgPre = Xrg.Precedents
Os Gwerth Xrg. < 1200 Yna
Os Targed.Address = Xrg.Address Yna
Ffoniwch Mail_small_Text_Outlook
ArallOs (Nid yw xRgPre Dim) A (Croesffordd(Targed, xRgPre). Cyfeiriad = Target.Address) Yna
Ffoniwch Mail_small_Text_Outlook
Gorffennwch Os
Gorffennwch Os
Is-End

Is-bost_small_Text_Outlook()
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
xMailBody = "Helo" & vbNewLine&_
"Profi vba" _
& vbNewLine&_
"Llinell 2."
Ar Ail-ddechrau Gwall Nesaf
Gyda xOutMail
.i=""
.CC = ""
.BCC = ""
.Subject = "Prawf E-bost Awtomatig"
.Corff = xMailBody
.Arddangos
Diwedd Gyda
Ar Gwall Ewch i 0
Gosod xOutMail = Dim byd
Gosod xOutApp = Dim byd

Is-End


Diolch.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo

Rwy'n cael trafferth oherwydd mae'n rhaid ychwanegu derbynnydd E-bost dro ar ôl tro fesul un. Os gwelwch yn dda canllaw os gellir ychwanegu rhestr o dderbynwyr e-bost at y swyddogaeth hon fel y bydd y swyddogaeth yn dewis y cyfeiriad e-bost o'r rhestr o gyfeiriadau e-bost a ddarparwyd neu restr llwytho i fyny ac mae'r swyddogaeth yn anfon yr e-bost, sydd eisoes wedi'i gyfansoddi i'r derbynnydd a ddymunir.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Henry,
Gall y cod VBA canlynol eich helpu i ddatrys y broblem. Rhowch y sgript VBA yn eich modiwl taflen waith. Pan fydd gwerth yn y gell penodedig yn bodloni'r amod, a Kutools ar gyfer Excel blwch deialog Bydd pop i fyny, dewiswch y celloedd sy'n cynnwys cyfeiriadau e-bost y derbynwyr ac yna cliciwch ar y OK botwm. Yna mae e-byst gyda derbynwyr penodedig yn agor. Anfonwch nhw yn ôl yr angen.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Os Targed.Cells.Cyfrif > 1 Yna Gadael Is
Gosod xRg = Ystod ("D7")
Os yw xRg = Targed A Tharged.Gwerth > 200 Yna
Ffoniwch Mail_small_Text_Outlook
Gorffennwch Os
Is-End
Is-bost_small_Text_Outlook()
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Dim xRgMsg Fel Ystod
Dim xCell Fel Ystod
Gosod xRgMsg = Application.InputBox( "Dewiswch y celloedd cyfeiriad :", "Kutools ar gyfer Excel", , , , , , , 8)
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
msgstr "Dyma llinell 1" &vbNewLine&_
"Dyma llinell 2"
Ar Ail-ddechrau Gwall Nesaf
Am Bob xCell Mewn xRgMsg
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
Gyda xOutMail
.To = xCell.Value
.CC = ""
.BCC = ""
.Subject = "anfon trwy brawf gwerth celloedd"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
xOutApp = Dim byd
xOutMail = Dim byd
Digwyddiadau
Ar Gwall Ewch i 0
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
a fydd yn cael ei anfon yn awtomatig drwy'r post, heb unrhyw ymyrraeth â llaw
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Brahma,
Os ydych chi am anfon yr e-bost yn uniongyrchol heb ei arddangos, rhowch ".Send" yn lle'r llinell ".Display" yn y cod VBA uchod.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Rhoddais yr un sgript ond nid yw'n gweithio helpwch fi yn y rhan 1af

Dim xRg Fel Ystod

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Os Targed.Cells.Cyfrif > 1 Yna Gadael Is
Gosod xRg = Ystod ("D7")
Os xRg = Targed A Target.Value = 200 Yna
Ffoniwch Mail_small_Text_Outlook
Gorffennwch Os

Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl basil,
A oes unrhyw rybudd wrth redeg y cod?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, sut fyddech chi'n addasu'r cod hwn i wirio a oes gan grŵp o gelloedd y llinyn "Dim cyfatebol" ac anfon e-bost os oes ganddo.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Jose,
Ceisiwch isod y cod VBA. Wrth redeg y cod, mae blwch deialog yn ymddangos, dewiswch yr ystod y byddwch yn ei wirio am linyn, a chliciwch ar y OK botwm. os nad yw'r llinyn yn bodoli, fe gewch flwch deialog prydlon. Os yw'r llinyn yn bodoli yn yr ystod, bydd e-bost gyda derbynnydd, pwnc a chorff penodol yn ymddangos.

Is-anfon E-bost()
Dim I Cyn Hir
Dim J Cyhyd
Dim xRg Fel Ystod
Dim xArr
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Dim xFlag Fel Boole
Ar Ail-ddechrau Gwall Nesaf
Gosod xRg = Application.InputBox ("Dewiswch ystod", "Kutools ar gyfer Excel", Selection.Address, , , , , 8)
Os yw xRg Yn Ddim Yna Ymadael Is
xArr = xRg.Gwerth
xFlag = Gau
Ar gyfer I = 1 I UBound(xArr)
Ar gyfer J = 1 I UBound(xArr, 2)
Os xArr(I, J) = "Dim Cyfateb" Yna
xFlag = Gwir
Gorffennwch Os
Digwyddiadau
Digwyddiadau
Os xFlag Yna
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
msgstr "Dyma llinell 1" &vbNewLine&_
"Dyma llinell 2"
Gyda xOutMail
.To = "Cyfeiriad e-bost"
.CC = ""
.BCC = ""
.Subject = "Cyfateb"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
arall
MsgBox "Canfuwyd dim gwerth cyfatebol", vbInformation, "KuTools for Excel"
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut allwn i newid y cod hwn ar gyfer anfon graddau myfyrwyr at rieni. Ble os mai colofn A yw'r radd a Cholofn B yw'r e-bost rhiant. Rwyf am lenwi e-bost ar gyfer pob myfyriwr gyda gradd F.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Frank,
Gall y cod VBA isod eich helpu i ddatrys y broblem. Diolch.

Is-bost_small_Text_Outlook()
Dim xRg Fel Ystod
Dim I Cyn Hir
Dim xRows Cyhyd
Dim xVal Fel Llinyn
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Gosod xRg = Application.InputBox("Dewiswch golofn gradd a'r golofn e-bost (dwy golofn)", "Kutools ar gyfer Excel", Selection.Address, , , , , 8)
Os yw xRg Yn Ddim Yna Ymadael Is
xRows = xRg.Rows.Count
Gosod xRg = xRg(2)
Am I = 1 I xRows
xVal = xRg.Offset(I, -1).Testun
Os xVal = "F" Yna
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
"Dyma radd eich plentyn" & xRg.Offset(I, -1).Text
Gyda xOutMail
.to = xRg.Offset(I, 0).Testun
.Subject = "anfon trwy brawf gwerth celloedd"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
Ar Gwall Ewch i 0
Gosod xOutMail = Dim byd
Gosod xOutApp = Dim byd
Gorffennwch Os
Digwyddiadau
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae gen i restr o gyfeiriadau e-bost eisoes mewn ffeil Excel, sut alla i addasu'r cod i ddewis cyfeiriad e-bost y person yn awtomatig os mai >7 yw ei gell D200?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diwrnod da,
Gall y cod VBA canlynol eich helpu i ddatrys y broblem. Rhowch y sgript VBA yn eich modiwl taflen waith. Pan fydd gwerth yn y gell penodedig yn bodloni'r amod, a Kutools ar gyfer Excel blwch deialog Bydd pop i fyny, dewiswch y celloedd sy'n cynnwys cyfeiriadau e-bost y derbynwyr ac yna cliciwch ar y OK botwm. Yna mae e-byst gyda derbynwyr penodedig yn agor. Anfonwch nhw yn ôl yr angen.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Os Targed.Cells.Cyfrif > 1 Yna Gadael Is
Gosod xRg = Ystod ("D7")
Os yw xRg = Targed A Tharged.Gwerth > 200 Yna
Ffoniwch Mail_small_Text_Outlook
Gorffennwch Os
Is-End
Is-bost_small_Text_Outlook()
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Dim xRgMsg Fel Ystod
Dim xCell Fel Ystod
Gosod xRgMsg = Application.InputBox( "Dewiswch y celloedd cyfeiriad :", "Kutools ar gyfer Excel", , , , , , , 8)
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
msgstr "Dyma llinell 1" &vbNewLine&_
"Dyma llinell 2"
Ar Ail-ddechrau Gwall Nesaf
Am Bob xCell Mewn xRgMsg
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
Gyda xOutMail
.To = xCell.Value
.CC = ""
.BCC = ""
.Subject = "anfon trwy brawf gwerth celloedd"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
xOutApp = Dim byd
xOutMail = Dim byd
Digwyddiadau
Ar Gwall Ewch i 0
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwy'n cael trafferth anfon post trwy Outlook. Rwy'n derbyn y gwall yn dweud "Mae rhaglen yn ceisio anfon e-bost ar eich rhan. Os yw'n annisgwyl, gwadwch a gwiriwch fod eich meddalwedd gwrth-firws yn gyfredol"
Helpwch gan nad wyf yn gallu ei awtomeiddio.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sori mayank,
Mae'r cod yn gweithio'n dda yn fy achos i. Mae'n ymddangos bod rhywbeth am swyddogaeth "anfon ar ran" wedi'i ffurfweddu yn eich Outlook. Gwiriwch amdano.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo pa god fyddwn i'n ei ddefnyddio os ydw i'n ceisio anfon e-bost at reolwr sydd â rhestr o'r ffrwythau sydd â swm> 200 unwaith y mis (yn seiliedig ar eich enghraifft) neu'n dod i ben yn fuan (yn seiliedig ar ddyddiadau)
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diwrnod Da
Efallai mai'r dull yn yr erthygl hon yw "Sut i anfon e-bost os yw'r dyddiad dyledus wedi'i fodloni yn Excel?" yn gallu eich helpu.
Dilynwch y ddolen hon os gwelwch yn dda: https://www.extendoffice.com/documents/excel/4664-excel-send-email-if-due-date-has-been-met.html
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut alla i olygu'r cod i anfon e-bost yn seiliedig ar ddyddiad yn y gell. Er enghraifft, mae angen i mi adolygu dogfen bob 15 mis ac rwyf am gicio e-bost ymhen 12 mis i gyfeiriad e-bost yn dweud bod angen adolygu'r ddogfen. Mae gen i nawr i anfon e-bost yn awtomatig trwy newid .Display to .Send ac mae'n gweithio'n wych fel y'i hysgrifennwyd, ond beth sydd angen i mi ei newid i ddefnyddio swyddogaeth dyddiad yn lle rhif cyfan??
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut allwch chi ychwanegu Amrediad Lluosog i "Set xRg = Range("D7")". Rwyf am ei olygu ac ychwanegu Ystod ("D7:F7"). Fodd bynnag, yr wyf yn cael gwall o Amser Rhedeg Gwall 13, Math Camgymhariad ac mae'n mynd â mi i Os xRg = Targed A Target.Value> 2 Yna.


Sut alla i ddatrys y broblem hon?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diwrnod da,
Ceisiwch isod y cod VBA i ddatrys y broblem.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Os Targed.Cells.Cyfrif > 1 Yna Gadael Is
Os (Ddim yn Croestorri (Targed, Ystod ("D7:F7"))) Ddim yn Ddim) A (Targed.Gwerth > 200) Yna
Ffoniwch Mail_small_Text_Outlook
Gorffennwch Os
Is-End
Is-bost_small_Text_Outlook()
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
msgstr "Dyma llinell 1" &vbNewLine&_
"Dyma llinell 2"
Ar Ail-ddechrau Gwall Nesaf
Gyda xOutMail
.To = "Cyfeiriad e-bost eich derbynnydd"
.CC = ""
.BCC = ""
.Subject = "anfon trwy brawf gwerth celloedd"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
Ar Gwall Ewch i 0
Gosod xOutMail = Dim byd
Gosod xOutApp = Dim byd
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
gweithio'n berffaith iawn .. Diolch .. :):)
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Nid yw'n gweithio i mi gan fod y gwerth yn D7 yn ganlyniad i fformiwla. Beth os yw cell D7 yn cynnwys fformiwla, ee D7 =2*120? Mae'n dal i fodloni'r amod ond does dim byd yn digwydd. Helpwch os gwelwch yn dda
Lleihawyd y sylw hwn gan y safonwr ar y wefan
sut i atal cod rhag rhedeg hy peidiwch ag annog yr e-bost pan nad yw'r amod wedi'i fodloni?

hyd yn oed pan D7 < 200, yr wyf yn dal i gael anogaeth yr e-bost.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diwrnod da,
Mae'r cod yn cael ei ddiweddaru yn y post gyda'r broblem wedi'i datrys. Diolch i chi am eich sylw.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi

Diolch yn fawr iawn am bostio'r Cod VBA hwn a'r cyfarwyddiadau. Pan ddes i o hyd iddo roeddwn i'n teimlo fy mod i wedi ennill y lotto. Fodd bynnag, rwy'n sownd ar rywbeth felly rwy'n gobeithio y gallwch chi helpu (Rwy'n newydd i VBA, dim ond dealltwriaeth sylfaenol iawn sydd gennyf).

Rwyf wedi copïo'r cod ac wedi newid gwerth y gell a'r cell i ddewis o ystod os bodlonir maen prawf. Rwyf wedi ceisio a phrofi ac mae'n gweithio a derbyniais e-bost at outlook yn seiliedig ar y meini prawf.

1) Fodd bynnag, ni allaf weld sut i gael y cod VBA i redeg yn awtomatig pan fyddaf yn agor y daflen waith excel, yn hytrach na gorfod clicio ar y cais VBA a dewis rhedeg. A allech chi gynghori a oes anogwr ychwanegol i deipio i'r cod VBA uchod a fydd yn gwneud hyn neu a oes angen ei wneud ar wahân.

2) Hefyd, a oes ffordd i gael y cod VBA i anfon post at berson os mai ie yw'r dyddiad dyledus ar gyfer eitem benodol fel y dangosir yn yr enghraifft isod.
colofn gudd e-bost
Enw

Gweithdrefn
Gweithdrefn rhif 1 dyddiad dyledus ydy
Rhif gweithdrefn. 2 dyddiad dyledus rhif

Byddai gennyf nifer o bobl yn y daenlen (yn mynd ar draws yn llorweddol mewn rhes) a gellid amlygu 'Ie' ar gyfer gweithdrefnau hwyr amrywiol (a restrir yn fertigol yng ngholofn A. A oes ffordd i greu cod VBA sy'n rhedeg ar gyfer rhywbeth fel hyn - os 'Oes' ar gyfer 'Person 1', yna e-bostiwch 'person 1' gyda 'gweithdrefn rhif #' (neu rifau) a dyddiad(au) dyledus Gallu rhestru yn yr e-bost yr holl weithdrefnau a'u dyddiadau dyledus dilynol.

Ni fyddai ots gennyf pe bai'n rhaid i mi osod cod VBA ar wahân ar gyfer pob person cyn belled â'i fod yn anfon post o'r holl ddogfennau sy'n hwyr ar gyfer y person hwnnw a'r dyddiadau dyledus.

Gobeithio y gallwch chi helpu
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Ann,
Rhowch gynnig ar y cod VBA isod. Diolch i chi am eich sylw.

Is-bost_small_Text_Outlook()
Dim xRg Fel Ystod
Dim xCell Fel Ystod
Dim I Cyn Hir
Dim xRows Cyhyd
Dim xCols Cyhyd
Dim xVal Fel Llinyn
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Gosod xRg = Application.InputBox ("Dewiswch yr ystod yn cynnwys y gwerth cell y byddwch yn anfon e-byst yn seiliedig ar:"", "Kutools ar gyfer Excel", Selection.Address, , , , , 8)
Os yw xRg Yn Ddim Yna Ymadael Is
xRows = xRg.Rows.Count
xCols = xRg.Columns.Count
Am I = 1 I xRows
Gosod xCell = xRg(I, xCols)
Os xCell.Value = "Ie" Yna
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
" "Dyma'ch gwybodaeth: " & vbNewLine & xCell.Offset(0, -1).Text & vbNewLine & xCell.Offset(0, -2).Text
Gyda xOutMail
.To = xCell.Offset(0, -4).Testun
.Subject = "anfon trwy brawf gwerth celloedd"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
Ar Gwall Ewch i 0
Gosod xOutMail = Dim byd
Gosod xOutApp = Dim byd
Gorffennwch Os
Digwyddiadau
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Grisial,

Mae hyn yn disodli'r cod canlynol:

Is-e-bost()

Dim xRg Fel Ystod

Dim xRgEach Fel Ystod

Dim xEmail_Pwnc, xEmail_Send_Form,; ac ati.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Ble yn union ydyn ni'n mewnosod y cod hwn?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Da dydd,
Mae angen i chi osod y cod yn ffenestr cod y daflen waith.
Agorwch ffenestr Microsoft Visual Basic for Applications, cliciwch ddwywaith ar enw'r ddalen yn y cwarel chwith i agor y golygydd cod.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi 'na,


Ar hyn o bryd dwi'n cael ychydig o drafferth gyda'r codio (newydd i hwn - efallai wedi cnoi mwy nag y gallaf ei gnoi)


Ar hyn o bryd mae gen i daenlen gyda'r canlynol ac mae angen help arnaf i awtomeiddio ac anfon e-bost am nam sydd yn ein heiddo ar gyfer ein busnes


Ar hyn o bryd mae angen cod arnaf a fydd yn defnyddio'r data canlynol:


1) Cyfeiriad a'r mater ( 2 gell "cyffredinol" sydd wedi'u huno trwy ((Yn gell D1)) " = = CONCAT(B1," "C1,) "
Bydd y cyfeiriad yn B1 bob amser yr un peth (mwy neu lai)
Tra bydd C1 bob amser yn newid yn dibynnu ar y nam yn yr eiddo.


2) E-bost i'w anfon gyda'r un cyfeiriad e-bost, ( a allaf ddefnyddio $E$1 neu fod yn rhaid i mi ddefnyddio E1 - E1 . er enghraifft) neu a allaf fewnbynnu " TheEmailAdress@.co.uk " yn llinell y cod


3) Y corff e-bost i'w boblogi yn yr un modd â phwynt 1) ...... ((Yng nghell F1)) " =CONCAT(G1," ",H1)
Bydd y rhain yn newid yn gyson wrth iddynt gynrychioli'r cwmni (G1) a'r hyn y maent yn ei wneud , gosod, dyfynnu ect (H1)

4) Y sbardun i anfon yr e-bost i ffwrdd, fi fyddai'r rhif 7 , mae'r ddalen yn cael ei diweddaru bob dydd (7 diwrnod mewn wythnos)
felly mae angen y sbardun arnaf i anfon yr e-bost ar ddiwrnod 7, ond nid yw fel ar ddiwrnod 8, 9 , 10+ ect yn gyson. ac nid cyn megis 1-6, byddai hyn yn A4 : A 100+ (gan ein bod yn ehangu'n gyson


4) Rwyf wedi defnyddio pytiau bach gan ddefnyddwyr eraill a soniodd am ddefnyddio rhestr ar gyfer y sbardun i anfon yr e-bost, ond ddim yn siŵr a oedd 100% yn gywir, ond byddai ei angen arnaf i sganio trwy holl Collum A... A4: A100
ac os oes 47 cell sy'n cynnwys " 7 " yn unig yna anfonir 47 Ebost


Diolch yn fawr iawn am ddarllen a gobeithio y gallwch chi helpu :)
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl martyn,
Mae'n ddrwg gennym ni all helpu gyda hyn.
Gallwch bostio eich cwestiwn yn ein fforwm: https://www.extendoffice.com/forum.html i gael mwy o gefnogaeth Excel gan ein staff technegol.
Diolch am eich sylw.

Best Regards,
Crystal
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,


Beth pe bawn i eisiau anfon yr e-bost yn seiliedig ar y gair "cwblhawyd" sy'n cael ei ychwanegu at golofn L?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Jesse,
Gall y cod VBA canlynol eich helpu i ddatrys y broblem. Diolch i chi am eich sylw.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Os Targed.Cells.Cyfrif > 1 Yna Gadael Is
Os (Ddim yn Croestorri (Targed, Ystod ("L:L"))) Ddim yn Ddim) A (Target.Value = "cwblhawyd") Yna
Ffoniwch Mail_small_Text_Outlook
Gorffennwch Os
Is-End
Is-bost_small_Text_Outlook()
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
msgstr "Dyma llinell 1" &vbNewLine&_
"Dyma llinell 2"
Ar Ail-ddechrau Gwall Nesaf
Gyda xOutMail
.To = "Cyfeiriad e-bost eich derbynnydd"
.CC = ""
.BCC = ""
.Subject = "anfon trwy brawf gwerth celloedd"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
Ar Gwall Ewch i 0
Gosod xOutMail = Dim byd
Gosod xOutApp = Dim byd
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,
Hoffwn i Outlook popio allan dim ond pan fydd gan y data rydw i wedi'i gludo i'r Ystod ("D7:F7") o leiaf 1 sero neu wag.
Rwyf wedi tynnu'r llinell 'Os Target.Cells.Count> 1 Yna Exit Sub' a nawr mae Outlook bob amser yn lansio pan fyddaf yn gludo unrhyw grŵp o werthoedd i mewn i gelloedd D7:F7.

Help
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Jan,
Gall y sgript ganlynol eich helpu i ddatrys y broblem. Diolch i chi am eich sylw.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Target.Address = Ystod ("D7:F7").Cyfeiriad Yna
Gyda Application.WorksheetFunction
Os .CountIf(Targed, "") > 0 Neu .CountIf(Targed, 0) > 0 Yna
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
Gyda xOutMail
.To = "Cyfeiriad E-bost"
.CC = ""
.BCC = ""
.Subject = "anfon trwy brawf gwerth celloedd"
.Body = "Helo 'na"
.Display' neu ddefnyddio .Send
Diwedd Gyda
Ar Gwall Ewch i 0
Gosod xOutMail = Dim byd
Gosod xOutApp = Dim byd
Gorffennwch Os
Diwedd Gyda
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Felly defnyddiais eich golygiad i gynnwys ystodau celloedd ond (os ydym yn defnyddio'r enghraifft o daflen waith) roeddwn i'n meddwl tybed sut i ychwanegu'r math o ffrwythau, y Dyddiad, a'r swm i'r e-bost HTML o'r daflen waith os ydynt yn cyd-fynd â'r meini prawf i cael e-bost wedi'i gynhyrchu. Felly byddai'n dweud

"Helo,"

Enw'r ffrwyth o'r gell "Angen ei roi ar archeb ôl oherwydd o'r dyddiad archeb: " dyddiad archebu o'r gell "mae gennym y swm hwn:" maint o'r gell.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Noemi,
Rhowch gynnig ar y sgript VBA hon.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xRg Fel Ystod
Dim I, J, K Cyhyd
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Target.Address = Ystod ("D7").Cyfeiriad Yna
Gyda Application.WorksheetFunction
Os yw'n Rhifol(Targed.Gwerth) A Gwerth.Targed > 200 Yna
Gosod xRg = Application.InputBox ("Dewiswch yr ystod celloedd y byddwch yn ei ddangos yn y corff post:"", "KuTools for Excel", Selection.Address, , , , , 8)
Os yw xRg Yn Ddim Yna Ymadael Is
Am I = 1 I xRg.Rows.Count
Ar gyfer J = 1 I xRg.Rows(I).Columns.Count
Ar gyfer K = 1 I xRg.Rows(I).Colofnau(J).Cyfrif
xMailBody = xMailBody & " " & xRg.Rows(I).Columns(J).Cells(K).Text
Digwyddiadau
Digwyddiadau
xMailBody = xMailBody & vbNewLine
Digwyddiadau
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
Gyda xOutMail
.To = "Cyfeiriad E-bost"
.CC = ""
.BCC = ""
.Subject = "anfon trwy brawf gwerth celloedd"
.Body = "Helo yno" & vbNewLine &xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
Ar Gwall Ewch i 0
Gosod xOutMail = Dim byd
Gosod xOutApp = Dim byd
Gorffennwch Os
Diwedd Gyda
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
helo grisial
diolch am eich codau, os yn bosibl anfonwch y codau ar gyfer y manylion a roddir isod

os oes gennym ni rhwng 8 a 9 colomen yn defnyddio gwahanol fathau o ddarfodiadau megis dyddiad dod i ben pasbort, dyddiad dod i ben trwydded yrru, dyddiad dod i ben cofrestriad cerbyd, dyddiad dod i ben pas gât a mwy ac ati, a rhaid anfon rhybudd drwy'r post at 5 person penodol yn unig.

fel bod ein taflen ddyddiad gyda mwy na 300 o weithwyr, dyddiad dod i ben a dod i ben gyda mewn 15 diwrnod mewn lliw coch a dylid anfon e-bost rhybudd.

yn garedig i wneud yr anghenus

Diolch ymlaen llaw
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo,
Rydym wedi postio erthygl "Sut i anfon e-bost os yw'r dyddiad dyledus wedi'i fodloni yn Excel?"
Gallwch weld a oes atebion yn yr erthygl hon. Dilynwch y ddolen hon i agor yr erthygl: https://www.extendoffice.com/documents/excel/4664-excel-send-email-if-due-date-has-been-met.html
Diolch yn fawr.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo - Pe bawn i eisiau anfon e-bost o restr yn lle rhoi e-bost go iawn yn y cod, a yw hynny'n bosibl? diolch
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo,
Ceisiwch islaw cod VBA, pan fydd y gell penodedig yn cwrdd â'r amod, bydd deialog yn ymddangos, dewiswch y gell sy'n cynnwys y cyfeiriad e-bost y byddwch yn anfon e-bost ato. Gobeithio y gall helpu. Diolch.

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Os Targed.Cells.Cyfrif > 1 Yna Gadael Is
Gosod xRg = Ystod ("D7")
Os yw xRg = Targed A Tharged.Gwerth > 200 Yna
Ffoniwch Mail_small_Text_Outlook
Gorffennwch Os
Is-End
Is-bost_small_Text_Outlook()
Dim xOutApp Fel Gwrthrych
Dim xOutMail Fel Gwrthrych
Dim xMailBody Fel Llinyn
Dim xRgMsg Fel Ystod
Dim xCell Fel Ystod
Gosod xRgMsg = Application.InputBox( "Dewiswch y celloedd cyfeiriad :", "Kutools ar gyfer Excel", , , , , , , 8)
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
msgstr "Dyma llinell 1" &vbNewLine&_
"Dyma llinell 2"
Ar Ail-ddechrau Gwall Nesaf
Am Bob xCell Mewn xRgMsg
Gosod xOutApp = CreateObject ("Outlook.Application")
Gosod xOutMail = xOutApp.CreateItem(0)
Gyda xOutMail
.To = xCell.Value
.CC = ""
.BCC = ""
.Subject = "anfon trwy brawf gwerth celloedd"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
xOutApp = Dim byd
xOutMail = Dim byd
Digwyddiadau
Ar Gwall Ewch i 0
Is-End
Nid oes unrhyw sylwadau wedi'u postio yma eto
Llwytho mwy o
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir