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

Ինչպե՞ս ավտոմատ կերպով էլ-նամակ ուղարկել Excel- ում բջջային արժեքի հիման վրա:

Ենթադրելով, որ ցանկանում եք Outlook- ի միջոցով նամակ ուղարկել որոշակի ստացողի ՝ Excel- ում նշված բջջային արժեքի հիման վրա: Օրինակ, երբ աշխատանքային թերթում D7 բջիջի արժեքը 200-ից մեծ է, ապա էլ.փոստը ստեղծվում է ավտոմատ կերպով: Այս հոդվածը ներկայացնում է VBA մեթոդ, որպեսզի դուք արագ լուծեք այս հարցը:

Ավտոմատ կերպով նամակ ուղարկեք ՝ հիմնվելով բջջային արժեքի վրա ՝ VBA կոդով


Ավտոմատ կերպով նամակ ուղարկեք ՝ հիմնվելով բջջային արժեքի վրա ՝ VBA կոդով

Excel- ում բջջային արժեքի վրա հիմնված էլ-նամակ ուղարկելու համար արեք հետևյալը.

1. Աշխատանքային թերթում անհրաժեշտ է նամակ ուղարկել ՝ ելնելով դրա բջջային արժեքից (այստեղ ասվում է D7 բջիջը), աջ կտտացրեք թերթիկի էջանիշին և ընտրեք Դիտել կոդը համատեքստային ընտրացանկից: Տեսեք,

2. Պատուհանման մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, խնդրում ենք պատճենել և կպցնել ստորև նշված VBA կոդը թերթիկի ծածկագրի պատուհանում:

VBA կոդ. Excel- ում բջջային արժեքի հիման վրա Outlook- ի միջոցով նամակ ուղարկեք

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

Notes:

1). VBA կոդում, D7 և արժեք> 200 այն բջջի և բջջի արժեքն է, որի հիման վրա էլփոստ կուղարկեք:
2) Խնդրում ենք փոխել էլփոստի մարմինը, ինչպես ձեզ հարկավոր է xMailBody տող ծածկագրում:
3). Փոստի հասցեն փոխարինեք ստացողի էլ.փոստի հասցեով . To = "Էլ. Փոստի հասցե".
4). Եվ նշեք Cc և Bcc հասցեատերերը, ինչպես ձեզ անհրաժեշտ է .CC = «» և CՇՇ = «» բաժիններում
5). Վերջապես փոխեք էլփոստի թեման տողում .Tubject = "ուղարկել բջջային արժեքի թեստով".

3. Սեղմեք ալտ + Q ստեղները միասին փակելու համար Microsoft Visual Basic հավելվածների համար պատուհան.

Այսուհետ, երբ D7 բջիջում մուտքագրած արժեքը 200-ից մեծ է, Outlook- ում ավտոմատ կերպով կստեղծվի որոշակի հասցեատերերով և մարմինով էլ. Կարող եք սեղմել ուղարկել այս էլ-նամակն ուղարկելու կոճակը: Տեսեք,

Notes:

1. VBA կոդը գործում է միայն այն ժամանակ, երբ Outlook- ն օգտագործում եք որպես ձեր էլփոստի ծրագիր:

2. Եթե D7 բջիջում մուտքագրված տվյալները տեքստի արժեք են, ապա էլփոստի պատուհանը նույնպես դուրս կգա:


Outlook- ի միջոցով հեշտությամբ նամակ ուղարկեք Excel- ում ստեղծված փոստային ցուցակի դաշտերի հիման վրա.

The Ուղարկել նամակներ օգտակարությունը Excel- ի համար նախատեսված գործիքներ օգնում է օգտվողներին Excel- ում էլփոստ ուղարկող Outlook- ի միջոցով:
Ներբեռնեք և փորձեք հիմա: (30- օր անվճար երթուղի)


Առնչվող հոդվածներ քանակը:


Գրասենյակի արտադրողականության լավագույն գործիքները

Excel-ի համար Kutools-ը լուծում է ձեր խնդիրների մեծ մասը և բարձրացնում ձեր արտադրողականությունը 80%-ով

  • Վերաօգտագործել: Արագ տեղադրեք բարդ բանաձևեր, գծապատկերներ և այն ամենը, ինչ դուք նախկինում օգտագործել եք. Ryածկագրել բջիջները գաղտնաբառով; Ստեղծեք փոստային ցուցակ և նամակներ ուղարկել ...
  • Super Formula Bar (հեշտությամբ խմբագրեք տեքստի և բանաձևի բազմաթիվ տողեր); Ընթերցանության դասավորությունը (հեշտությամբ կարդալ և խմբագրել մեծ թվով բջիջներ); Տեղադրել ֆիլտրացված տիրույթում...
  • Միաձուլել բջիջները / տողերը / սյունակները առանց տվյալների կորստի. Պառակտված բջիջների պարունակությունը; Միավորել կրկնօրինակ տողերը / սյունակները... Կանխել կրկնօրինակ բջիջները; Համեմատեք միջակայքերը...
  • Ընտրեք Կրկնօրինակ կամ Եզակի Շարքեր; Ընտրեք դատարկ շարքեր (բոլոր բջիջները դատարկ են); Super Find և Fuzzy Find շատ աշխատանքային գրքույկներում; Պատահական ընտրություն ...
  • Actշգրիտ պատճեն Բազմաթիվ բջիջներ ՝ առանց բանաձևի հղումը փոխելու; Ավտոմատ ստեղծեք հղումներ դեպի մի քանի թերթեր; Տեղադրեք փամփուշտներ, Տուփեր և ավելին ...
  • Քաղվածք տեքստ, Տեքստ ավելացնել, հեռացնել ըստ դիրքի, Հեռացնել տարածությունը; Ստեղծել և տպել էջային ենթագոտիներ; Փոխարկել բջիջների բովանդակության և մեկնաբանությունների միջև...
  • Սուպեր զտիչ (պահպանել և կիրառել ֆիլտրի սխեմաները այլ թերթերի վրա); Ընդլայնված տեսակավորում ըստ ամիս / շաբաթ / օր, հաճախականություն և ավելին; Հատուկ զտիչ համարձակ, շեղատառով ...
  • Միավորել աշխատանքային տետրերը և աշխատանքային թերթերը; Միավորել աղյուսակները ՝ հիմնված հիմնական սյունակների վրա; Տվյալները բաժանեք մի քանի թերթերի; Խմբաքանակի փոխակերպում xls, xlsx և PDF...
  • Ավելի քան 300 հզոր հատկություններ. Աջակցում է Office / Excel 2007-2021 և 365: Աջակցում է բոլոր լեզուներին: Հեշտ տեղակայում ձեր ձեռնարկությունում կամ կազմակերպությունում: Ամբողջական հնարավորություններ 30-օրյա անվճար փորձարկում: 60-օրյա գումարի վերադարձի երաշխիք:
kte էջանիշը 201905

Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
officetab ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (308)
Գնահատված 5- ը 5- ից դուրս է · 1 վարկանիշ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս պետք է ծածկագիրը փոփոխվի, որպեսզի կիրառվի բջիջների մի ամբողջ շարքի վրա:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Դեբի,
Խնդրում ենք փորձել ստորև VBA կոդը՝ խնդիրը լուծելու համար:

Private Sub Worksheet_Change (ByVal Target as Range)
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
Եթե ​​(Not Intersect(Target, Range("A1:D4")) ոչինչ) And (Target.Value > 200) Ապա
Զանգահարեք Mail_small_Text_Outlook-ին
Վերջ: Եթե
Վերջ Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա տող 1 է» և vbNewLine & _
«Սա տող 2 է»
Ս.թ. սխալի Ռեզյումե Next
xOutMail-ի հետ
.To = "Ձեր ստացողի էլ.փոստի հասցեն"
.CC = ""
.BCC = ""
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
Սխալի դեպքում GoTo 0
Սահմանել xOutMail = Ոչինչ
Սահմանել xOutApp = Ոչինչ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես դժվարանում եմ ստանալ այս կոդը հուշելու համար, եթե բջիջի արժեքը փոխվի անուղղակիորեն: Օրինակ, եթե ես ունեմ Sum-ի հավասարումը, որն ավտոմատ կերպով փոխում է այս արժեքը: Երբ հավասարումը գործարկվում է, և արժեքը բարձրանում է սահմանված արժեքից՝ նամակին հուշելու համար, դա չի անում, եթե ես ինքս ֆիզիկապես չփոխեմ համարը: Արդյո՞ք էլփոստի հաղորդագրությունն անուղղակիորեն փոխվելու դեպքում կա՞ միջոց:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Հորդանան,
Հետևյալ VBA կոդը կարող է օգնել ձեզ լուծել խնդիրը: Խնդրում ենք մի մոռացեք փոխարինել «Էլ.փոստի հասցեն» կոդի մեջ ստացողի էլ.փոստի հասցեով: Շնորհակալություն.

Private Sub Worksheet_Change (ByVal Target as Range)
Dim xRgPre As Range
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
Սահմանել xRg = տիրույթ ("D7")
Սահմանել xRgPre = xRg.Նախադեպեր
Եթե ​​xRg.Value > 200 Ապա
Եթե ​​Target.Address = xRg.Address Այնուհետեւ
Զանգահարեք Mail_small_Text_Outlook-ին
ElseIf (Not xRgPre Is Nothing) And (Intersect(Target, xRgPre).Address = Target.Address) Այնուհետեւ
Զանգահարեք Mail_small_Text_Outlook-ին
Վերջ: Եթե
Վերջ: Եթե
Վերջ Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա տող 1 է» և vbNewLine & _
«Սա տող 2 է»
Ս.թ. սխալի Ռեզյումե Next
xOutMail-ի հետ
. To = "Էլ. Փոստի հասցե"
.CC = ""
.BCC = ""
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
Սխալի դեպքում GoTo 0
Սահմանել xOutMail = Ոչինչ
Սահմանել xOutApp = Ոչինչ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես փոփոխել եմ առաջարկված կոդը, որպեսզի այն աշխատի իմ հավելվածի համար:
Փոխվել է xRg = Range("C2:C40") և եթե xRg.Value = -1:

Խնդիրը, որ ես ունենում եմ, այն է, երբ ցանկացած բջիջում փոփոխություն լինի, և քանի դեռ իմ տիրույթի բջիջներից մեկը = -1 է, այն կանվանի Mail_small_Text_Outlook:
Ես փորձում եմ զանգահարել միայն այն դեպքում, եթե իմ տիրույթում որևէ բջիջ անուղղակիորեն փոխվի -1-ի:
Ես նաև մտածում էի, թե արդյոք և ինչպես հնարավոր կլինի, որ այն համապատասխանի երկու չափանիշներին։
Ինչպես ստուգել A միջակայքը և B միջակայքը, և եթե դրանք համապատասխանում են չափանիշներին, զանգահարեք գործառույթը:

Կանխավ շնորհակալություն օգնության համար։ Ես նոր եմ այս ամենի մեջ, բայց այս թեմայի միջոցով կարդալն ինձ մոտ 90% կա:


Private Sub Worksheet_Change (ByVal Target as Range)
Dim xRgPre As Range
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
Սահմանել xRg = միջակայք («C2:C40»)
Սահմանել xRgPre = xRg.Նախադեպեր
Եթե ​​xRg.Value = -1 Ապա
Եթե ​​Target.Address = xRg.Address Այնուհետեւ
Զանգահարեք Mail_small_Text_Outlook-ին
ElseIf (Not xRgPre Is Nothing) And (Intersect(Target, xRgPre).Address = Target.Address) Այնուհետեւ
Զանգահարեք Mail_small_Text_Outlook-ին
Վերջ: Եթե
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես օգտագործել եմ այս կոդը, միակ փոփոխությունն այն է, որ ես այն կիրառել եմ մի ամբողջ սյունակի վրա [Set xRg = Range("D4:D13")]: Այժմ իրադարձությունը գործարկվում է, երբ հաշվարկ է կատարվում՝ անկախ նրանից, թե D սյունակի փականը նպատակային արժեքից ցածր է: Որևէ գաղափար կա, թե ինչու է դա այդպես:


Dim Xrg As Range
Private Sub Worksheet_Change (ByVal Target as Range)
Dim xRgPre As Range
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
Սահմանել Xrg = միջակայք («D4:D13»)
Սահմանել xRgPre = Xrg.Նախադեպեր
Եթե ​​Xrg.Value < 1200 Ապա
Եթե ​​Target.Address = Xrg.Address Այնուհետեւ
Զանգահարեք Mail_small_Text_Outlook-ին
ElseIf (Not xRgPre Is Nothing) And (Intersect(Target, xRgPre).Address = Target.Address) Այնուհետեւ
Զանգահարեք Mail_small_Text_Outlook-ին
Վերջ: Եթե
Վերջ: Եթե
Վերջ Sub

Sub Mail_small_Text_Outlook()
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xMailBody = «Բարև» & vbNewLine & _
«Test vba» _
& vbNewLine & _
«Տող 2».
Ս.թ. սխալի Ռեզյումե Next
xOutMail-ի հետ
Դեպի = ""
.CC = ""
.BCC = ""
.Subject = "Email Auto Test"
.Body = xMailBody
.Dուցադրել
Վերջ
Սխալի դեպքում GoTo 0
Սահմանել xOutMail = Ոչինչ
Սահմանել xOutApp = Ոչինչ

Վերջ Sub


Thanks.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ Ձեզ

Ես խնդիրներ ունեմ, քանի որ էլփոստի հասցեատերը պետք է նորից ու նորից հերթով ավելացվի: Խնդրում ենք ուղղորդել, եթե էլփոստի հասցեատերերի ցանկը կարող է ավելացվել այս ֆունկցիային, որպեսզի ֆունկցիան ընտրի էլ.փոստի հասցեն տրամադրված էլ. հասցեների ցանկից կամ ցանկի վերբեռնման ցանկից, և գործառույթն ուղարկի էլփոստը, որն արդեն կազմված է ցանկալի ստացողին:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Հենրի,
Հետևյալ VBA կոդը կարող է օգնել ձեզ լուծել խնդիրը: Խնդրում ենք տեղադրել VBA սկրիպտը ձեր աշխատաթերթի մոդուլում: Երբ նշված բջիջի արժեքը համապատասխանում է պայմանին, կհայտնվի Kutools Excel-ի համար երկխոսության վանդակը, խնդրում ենք ընտրել այն բջիջները, որոնք պարունակում են հասցեատերերի էլփոստի հասցեները և սեղմել OK կոճակը: Այնուհետև բացվում են նշված հասցեատերերի նամակները: Խնդրում ենք ուղարկել դրանք ըստ անհրաժեշտության:

Private Sub Worksheet_Change (ByVal Target as Range)
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
Սահմանել xRg = տիրույթ ("D7")
Եթե ​​xRg = Target And Target.Value > 200 Այնուհետեւ
Զանգահարեք Mail_small_Text_Outlook-ին
Վերջ: Եթե
Վերջ Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Dim xRgMsg որպես տիրույթ
Dim xCell-ը որպես տիրույթ
Սահմանել xRgMsg = Application.InputBox («Խնդրում ենք ընտրել հասցեի բջիջները:», «Kutools for Excel», , , , , , 8)
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա տող 1 է» և vbNewLine & _
«Սա տող 2 է»
Ս.թ. սխալի Ռեզյումե Next
Յուրաքանչյուր xCell-ի համար xRgMsg-ում
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xOutMail-ի հետ
.To = xCell.Value
.CC = ""
.BCC = ""
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
xOutApp = Ոչինչ
xOutMail = Ոչինչ
հաջորդ
Սխալի դեպքում GoTo 0
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
արդյո՞ք այն ավտոմատ կերպով կուղարկվի փոստով, առանց որևէ ձեռքով ընդհատման
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Բրահմա,
Եթե ​​ցանկանում եք ուղղակիորեն ուղարկել էլ. փոստն առանց ցուցադրելու, խնդրում ենք վերը նշված VBA կոդի «.Display» տողը փոխարինել «.Send» բառով:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես դրեցի նույն սկրիպտը, բայց այն չի աշխատում, խնդրում եմ օգնեք ինձ 1-ին մասում

Dim xRg որպես տիրույթ

Private Sub Worksheet_Change (ByVal Target as Range)
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
Սահմանել xRg = տիրույթ ("D7")
Եթե ​​xRg = Target And Target.Value = 200 Ապա
Զանգահարեք Mail_small_Text_Outlook-ին
Վերջ: Եթե

Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սիրելի ռեհան,
Կոդը գործարկելիս որևէ նախազգուշացում կա՞:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ինչպե՞ս կփոխեիք այս կոդը՝ ստուգելու համար, թե արդյոք բջիջների խումբն ունի «No match» տողը, և եթե այն ունի, նամակ ուղարկեք:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Ժոզե,
Խնդրում ենք փորձել ստորև VBA կոդը: Կոդը գործարկելիս երկխոսության տուփ է բացվում, խնդրում ենք ընտրել այն միջակայքը, որը ստուգելու եք տողի համար և սեղմել OK կոճակը: եթե տողը գոյություն չունի, դուք կստանաք արագ երկխոսության տուփ: Եթե ​​տողը գոյություն ունի տիրույթում, կցուցադրվի էլփոստ՝ նշված հասցեատերով, թեմայով և տեքստով:

Sub SendEmail ()
Dim I As Long
Dim J As Long
Dim xRg որպես տիրույթ
Dim xArr
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Dim xFlag-ը որպես բուլյան
Ս.թ. սխալի Ռեզյումե Next
Սահմանել xRg = Application.InputBox («Խնդրում ենք ընտրել միջակայքը», «Kutools for Excel», Selection.Address, , , , , 8)
Եթե ​​xRg-ը ոչինչ է, ապա դուրս եկեք Sub
xArr = xRg.Value
xFlag = Սխալ
For I = 1 To UBound (xArr)
J = 1-ի համար դեպի UBound (xArr, 2)
Եթե ​​xArr(I, J) = «Համապատասխանություն չկա» Ապա
xFlag = Ճշմարիտ
Վերջ: Եթե
հաջորդ
հաջորդ
Եթե ​​xFlag Ապա
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա տող 1 է» և vbNewLine & _
«Սա տող 2 է»
xOutMail-ի հետ
.To = «Էլ․ հասցե»
.CC = ""
.BCC = ""
.Թեմա = «Համապատասխանություն»
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
Ուրիշ
MsgBox «Չգտնվեց համապատասխան արժեք», vbInformation, «KuTools Excel-ի համար»
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս կարող եմ փոխել այս կոդը՝ աշակերտի գնահատականները ծնողներին ուղարկելու համար: Որտեղ, եթե A սյունակը գնահատականն է, իսկ սյունակը B-ը ծնող էլ. Ես ուզում եմ յուրաքանչյուր ուսանողի համար լրացնել նամակ՝ որպես գնահատական ​​F-ով:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Ֆրենկ,
Ստորև բերված VBA կոդը կարող է օգնել ձեզ լուծել խնդիրը: Շնորհակալություն.

Sub Mail_small_Text_Outlook()
Dim xRg որպես տիրույթ
Dim I As Long
Խոնավ x տողեր այնքան երկար
Dim xVal As String
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Ս.թ. սխալի Ռեզյումե Next
Սահմանել xRg = Application.InputBox («Խնդրում ենք ընտրել գնահատականի սյունակը և էլփոստի սյունակը (երկու սյունակ)», «Excel-ի համար նախատեսված գործիքներ», Selection.Address, , , , , 8)
Եթե ​​xRg-ը ոչինչ է, ապա դուրս եկեք Sub
xRows = xRg.Rows.Count
Սահմանել xRg = xRg (2)
I = 1-ից մինչև xRows-ի համար
xVal = xRg.Offset(I, -1).Տեքստ
Եթե ​​xVal = «F» Ապա
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա ձեր երեխայի գնահատականն է» & xRg.Offset(I, -1):Text
xOutMail-ի հետ
.to = xRg.Offset(I, 0).Text
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
Սխալի դեպքում GoTo 0
Սահմանել xOutMail = Ոչինչ
Սահմանել xOutApp = Ոչինչ
Վերջ: Եթե
հաջորդ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես էլփոստի հասցեների ցուցակ ունեմ արդեն excel ֆայլում, ինչպե՞ս կարող եմ փոփոխել կոդը, որպեսզի ավտոմատ կերպով ընտրի անձի էլ.փոստի հասցեն, եթե նրա D7 բջիջը >200 է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր,
Հետևյալ VBA կոդը կարող է օգնել ձեզ լուծել խնդիրը: Խնդրում ենք տեղադրել VBA սկրիպտը ձեր աշխատաթերթի մոդուլում: Երբ նշված բջիջի արժեքը համապատասխանում է պայմանին, կհայտնվի Kutools Excel-ի համար երկխոսության վանդակը, խնդրում ենք ընտրել այն բջիջները, որոնք պարունակում են հասցեատերերի էլփոստի հասցեները և սեղմել OK կոճակը: Այնուհետև բացվում են նշված հասցեատերերի նամակները: Խնդրում ենք ուղարկել դրանք ըստ անհրաժեշտության:

Private Sub Worksheet_Change (ByVal Target as Range)
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
Սահմանել xRg = տիրույթ ("D7")
Եթե ​​xRg = Target And Target.Value > 200 Այնուհետեւ
Զանգահարեք Mail_small_Text_Outlook-ին
Վերջ: Եթե
Վերջ Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Dim xRgMsg որպես տիրույթ
Dim xCell-ը որպես տիրույթ
Սահմանել xRgMsg = Application.InputBox («Խնդրում ենք ընտրել հասցեի բջիջները:», «Kutools for Excel», , , , , , 8)
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա տող 1 է» և vbNewLine & _
«Սա տող 2 է»
Ս.թ. սխալի Ռեզյումե Next
Յուրաքանչյուր xCell-ի համար xRgMsg-ում
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xOutMail-ի հետ
.To = xCell.Value
.CC = ""
.BCC = ""
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
xOutApp = Ոչինչ
xOutMail = Ոչինչ
հաջորդ
Սխալի դեպքում GoTo 0
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես դժվարանում եմ փոստ ուղարկել Outlook-ի միջոցով: Ես ստանում եմ սխալ՝ ասելով «Ծրագիրը փորձում է նամակ ուղարկել ձեր անունից: Եթե դա անսպասելի է, խնդրում ենք հերքել և ստուգել, ​​որ ձեր հակավիրուսային ծրագիրը արդիական է»:
Խնդրում եմ օգնեք, քանի որ ես ի վիճակի չեմ այն ​​ավտոմատացնել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կներեք մայանկ,
Կոդն իմ դեպքում լավ է աշխատում։ Թվում է, թե «ուղարկել անունից» ֆունկցիայի մասին ինչ-որ բան կազմաձևված է ձեր Outlook-ում: Ստուգեք դրա համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ինչ ծածկագիր կօգտագործեմ, եթե փորձեմ էլ-նամակ ուղարկել մենեջերին, որն ունի մրգի ցուցակ, որն ունի ավելի քան 200 քանակություն ամիսը մեկ անգամ (ձեր օրինակի հիման վրա) կամ շուտով սպառվում է (ամսաթվերի հիման վրա)
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր
Կարող է լինել այս հոդվածի մեթոդը «Ինչպե՞ս ուղարկել էլփոստ, եթե ժամկետը լրացել է Excel-ում»: կարող է օգնել ձեզ:
Խնդրում ենք հետևել այս հղմանը. https://www.extendoffice.com/documents/excel/4664-excel-send-email-if-due-date-has-been-met.html
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպես կարող եմ խմբագրել կոդը՝ բջիջում նշված ամսաթվի հիման վրա էլփոստ ուղարկելու համար: Օրինակ, ինձ անհրաժեշտ է, որ փաստաթուղթը վերանայվի յուրաքանչյուր 15 ամիսը մեկ, և ես ուզում եմ 12 ամսից նամակ ուղարկել էլփոստի հասցեին, որում ասվում է, որ փաստաթուղթը պետք է վերանայվի: Ես ստացել եմ այն, որպեսզի ավտոմատ ուղարկեմ էլ-նամակ՝ փոխելով .Ցուցադրել .Ուղարկել և այն հիանալի է աշխատում, ինչպես գրված է, բայց ի՞նչ պետք է փոխեմ՝ ամբողջ թվի փոխարեն ամսաթվի ֆունկցիան օգտագործելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպես կարող եք ավելացնել բազմակի տիրույթ «Set xRg = Range(«D7»)»: Ես ուզում եմ խմբագրել այն և ավելացնել Range («D7:F7»): Այնուամենայնիվ, ես ստանում եմ Run Time Error 13-ի սխալ, Type Mismatch, և այն ինձ տանում է դեպի If xRg = Target And Target.Value > 2 Այնուհետեւ:


Ինչպե՞ս կարող եմ լուծել այս խնդիրը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր,
Խնդրում ենք փորձել ստորև VBA կոդը՝ խնդիրը լուծելու համար:

Private Sub Worksheet_Change (ByVal Target as Range)
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
Եթե ​​(Not Intersect(Target, Range("D7:F7")) Nothing) And (Target.Value > 200) Ապա
Զանգահարեք Mail_small_Text_Outlook-ին
Վերջ: Եթե
Վերջ Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա տող 1 է» և vbNewLine & _
«Սա տող 2 է»
Ս.թ. սխալի Ռեզյումե Next
xOutMail-ի հետ
.To = "Ձեր ստացողի էլ.փոստի հասցեն"
.CC = ""
.BCC = ""
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
Սխալի դեպքում GoTo 0
Սահմանել xOutMail = Ոչինչ
Սահմանել xOutApp = Ոչինչ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
շատ լավ աշխատեց։ Շնորհակալություն։ :)
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Դա ինձ համար չի աշխատում, քանի որ D7-ի արժեքը ձևականության արդյունք է: Իսկ եթե D7 բջիջը պարունակում է բանաձև, օրինակ՝ D7 =2*120: Այն դեռ համապատասխանում է պայմանին, բայց ոչինչ չի կատարվում։ Խնդրում ենք օգնել
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
ինչպե՞ս դադարեցնել կոդը գործարկելը, այսինքն՝ չհուշել էլ.

նույնիսկ երբ D7 < 200, ինձ դեռ հուշում են էլ.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր,
Կոդը թարմացվում է գրառման մեջ՝ խնդիրը լուծված է։ Շնորհակալություն մեկնաբանության համար։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Hi

Շատ շնորհակալ եմ այս VBA կոդը և հրահանգները տեղադրելու համար: Երբ գտա այն, ես զգացի, որ շահել եմ լոտո: Այնուամենայնիվ, ես խրված եմ ինչ-որ բանի վրա, ուստի հուսով եմ, որ դուք կարող եք օգնել (ես նոր եմ VBA-ում, միայն շատ տարրական հասկացողություն ունեմ):

Ես պատճենել եմ կոդը և փոխել բջիջի և բջիջի արժեքը, որպեսզի ընտրեմ տիրույթից, եթե չափանիշը բավարարված է: Ես փորձել և փորձարկել եմ, և այն աշխատում է, և ես էլփոստ ստացա Outlook-ին չափանիշների հիման վրա:

1) Այնուամենայնիվ, ես չեմ կարող պարզել, թե ինչպես կարող եմ ստանալ VBA կոդը ավտոմատ կերպով գործարկել, երբ ես բացում եմ excel-ի աշխատաթերթը, այլ ոչ թե ստիպված եմ սեղմել VBA հավելվածի վրա և ընտրել գործարկել: Կարո՞ղ եք խորհուրդ տալ, արդյոք կա լրացուցիչ հուշում վերը նշված VBA կոդը մուտքագրելու համար, որը դա կանի, թե՞ պետք է դա արվի առանձին:

2) Նաև կա VBA կոդը ստանալու միջոց՝ անձին նամակ ուղարկելու համար, եթե որոշակի ապրանքի համար ժամկետը այո է, ինչպես ցույց է տրված ստորև բերված օրինակում:
էլփոստի թաքնված սյունակ
անուն, ազգանուն

ընթացակարգ
Ընթացակարգ թիվ 1 վերջնաժամկետ այո
Ընթացակարգ թիվ. 2 վերջնաժամկետ թիվ

Ես կունենայի բազմաթիվ մարդիկ աղյուսակում (հորիզոնական անընդմեջ) և «Այո»-ն կարող է ընդգծված լինել տարբեր ժամկետանց ընթացակարգերի համար (ուղղահայաց նշված է A սյունակում: Կա՞ տարբերակ ստեղծելու VBA կոդ, որն աշխատում է նման բանի համար. Եթե ​​«Այո» «Անձ 1»-ի համար, ապա «Անձ 1»-ին էլ. «procedure no #» (կամ թվեր) և վերջնաժամկետ (ներ) նշեք: Կարող եք էլփոստում նշել բոլոր ընթացակարգերը և դրանց հետագա ժամկետները:

Ես դեմ չէի լինի, եթե ես ստիպված լինեի յուրաքանչյուր անձի համար առանձին VBA կոդ սահմանել, քանի դեռ այն ուղարկում էր այդ անձի համար ժամկետանց բոլոր փաստաթղթերը և ժամկետները:

Հուսալով, որ դուք կարող եք օգնել
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Աննա,
Խնդրում ենք փորձել ստորև բերված VBA կոդը: Շնորհակալություն մեկնաբանության համար։

Sub Mail_small_Text_Outlook()
Dim xRg որպես տիրույթ
Dim xCell-ը որպես տիրույթ
Dim I As Long
Խոնավ x տողեր այնքան երկար
Dim xCols այնքան երկար
Dim xVal As String
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Ս.թ. սխալի Ռեզյումե Next
Սահմանել xRg = Application.InputBox («Ընտրեք միջակայքը պարունակում է բջջային արժեքը, որի հիման վրա կուղարկեք նամակներ.», «Kutools for Excel», Selection.Address, , , , , 8)
Եթե ​​xRg-ը ոչինչ է, ապա դուրս եկեք Sub
xRows = xRg.Rows.Count
xCols = xRg.Columns.Count
I = 1-ից մինչև xRows-ի համար
Սահմանել xCell = xRg (I, xCols)
If xCell.Value = «Այո» Ապա
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա ձեր տեղեկությունն է՝ « & vbNewLine & xCell.Offset(0, -1).Text & vbNewLine & xCell.Offset(0, -2).Text
xOutMail-ի հետ
.To = xCell.Offset(0, -4).Text
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
Սխալի դեպքում GoTo 0
Սահմանել xOutMail = Ոչինչ
Սահմանել xOutApp = Ոչինչ
Վերջ: Եթե
հաջորդ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
բյուրեղյա,

Սա փոխարինում է հետևյալ կոդը.

Ենթակետ ()

Dim xRg որպես տիրույթ

Dim xRgAach As Range

Dim xEmail_Subject, xEmail_Send_Form, և այլն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կոնկրետ որտեղ ենք տեղադրում այս կոդը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարի օր,
Դուք պետք է կոդը տեղադրեք աշխատաթերթի ծածկագրի պատուհանում:
Բացեք «Microsoft Visual Basic» հավելվածների պատուհանը, կրկնակի սեղմեք թերթի անվան վրա ձախ պատուհանում՝ կոդի խմբագրիչը բացելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Hi այնտեղ,


Ես այս պահին մի փոքր դժվարանում եմ կոդավորման հարցում (նոր է սա. կարող է ավելի շատ կծել, քան կարող եմ ծամել)


Ես այս պահին ունեմ աղյուսակ հետևյալով, որ ինձ օգնության կարիք ունի՝ ավտոմատացնելու և էլփոստ ուղարկելու համար, որոնք գտնվում են մեր բիզնեսի սեփականությունում:


Ինձ ներկայումս անհրաժեշտ է կոդ, որը կօգտագործի հետևյալ տվյալները.


1) Հասցե և խնդիրը ( 2 «ընդհանուր» բջիջներ, որոնք միավորվել են ((D1 բջիջում)) « = =CONCAT(B1», «C1,)»
B1-ի հասցեն միշտ նույնը կլինի (ավելի թե քիչ)
Մինչդեռ C1-ը միշտ կփոխվի՝ կախված գույքի անսարքությունից:


2) Նամակ, որը պետք է ուղարկվի նույն էլփոստի հասցեով, (կարո՞ղ եմ օգտագործել $E$1 կամ ես պետք է օգտագործեմ E1 - E1. օրինակ) կամ կարող եմ պարզապես մուտքագրել «TheEmailAdress@.co.uk» կոդի տողում:


3) Էլփոստի մարմինը, որը պետք է լրացվի 1-ին կետի նման ձևով) ...... ((F1 բջիջում)) " =CONCAT(G1," ",H1)
Սրանք անընդհատ փոխվելու են, քանի որ ներկայացնում են ընկերությունը (G1) և այն, ինչ նրանք անում են, ուղղում, մեջբերում և այլն (H1)

4) Էլփոստն անջատելու գործարկիչը, ես կլինեի 7 համարը, թերթիկը թարմացվում է ամեն օր (շաբաթական 7 օր)
Որպես այդպիսին, ինձ պետք է ձգան՝ նամակ ուղարկելու համար 7-րդ օրը, բայց ոչ անընդհատ, ինչպես 8-րդ, 9-րդ, 10+ օրը և այլն: և ոչ թե 1-6-ից առաջ, սա կլինի A4-ում: A 100+ (քանի որ մենք անընդհատ ընդլայնում ենք


4) Ես օգտագործել եմ փոքր հատվածներ այլ օգտատերերի կողմից, ովքեր նշել են նամակ ուղարկելու համար գործարկիչի համար ցուցակ օգտագործելու մասին, բայց վստահ չէի, որ 100%-ով այն ճիշտ է, բայց ինձ պետք է, որ սկանավորեմ, թեև բոլոր Colum A... A4: A100
և եթե կան 47 բջիջներ, որոնք պարունակում են միայն «7»-ը, ապա կուղարկվի 47 Էլ


Շատ շնորհակալ եմ կարդալու համար և հուսով եմ, որ կարող եք օգնել :)
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Մարտին,
Ներողություն չեմ կարող օգնել այս հարցում:
Դուք կարող եք տեղադրել ձեր հարցը մեր ֆորումում. https://www.extendoffice.com/forum.html մեր տեխնիկական անձնակազմից ավելի շատ Excel աջակցություն ստանալու համար:
Շնորհակալություն մեկնաբանության համար:

Best Regards,
բյուրեղապակի
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,


Ի՞նչ կլիներ, եթե ես ցանկանայի էլ-նամակ ուղարկել L սյունակում ավելացված «ավարտված» բառի հիման վրա:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Ջեսսի,
Հետևյալ VBA կոդը կարող է օգնել ձեզ լուծել խնդիրը: Շնորհակալություն մեկնաբանության համար։

Private Sub Worksheet_Change (ByVal Target as Range)
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
If (Not Intersect(Target, Range("L:L")) Nothing) And (Target.Value = "լրացված") Ապա
Զանգահարեք Mail_small_Text_Outlook-ին
Վերջ: Եթե
Վերջ Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա տող 1 է» և vbNewLine & _
«Սա տող 2 է»
Ս.թ. սխալի Ռեզյումե Next
xOutMail-ի հետ
.To = "Ձեր ստացողի էլ.փոստի հասցեն"
.CC = ""
.BCC = ""
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
Սխալի դեպքում GoTo 0
Սահմանել xOutMail = Ոչինչ
Սահմանել xOutApp = Ոչինչ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Ես կցանկանայի, որ Outlook-ը դուրս գա միայն այն դեպքում, երբ իմ տեղադրած տվյալները Range-ում («D7:F7») ունենան առնվազն 1 զրո կամ դատարկ:
Ես հեռացրել եմ «If Target.Cells.Count > 1 Ապա Ելք Ենթա» տողը, և այժմ Outlook-ը միշտ գործարկվում է, երբ ես տեղադրում եմ արժեքների որևէ խումբ D7:F7 բջիջներում:

Օգնություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Ջան,
Հետևյալ սցենարը կարող է օգնել ձեզ լուծել խնդիրը. Շնորհակալություն մեկնաբանության համար։

Private Sub Worksheet_Change (ByVal Target as Range)
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​Target.Address = Range("D7:F7").Address then
Application.WorksheetFunction-ով
Եթե ​​.CountIf(Target, "") > 0 Կամ .CountIf(Target, 0) > 0 Ապա
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xOutMail-ի հետ
. To = "Էլ. Փոստի հասցե"
.CC = ""
.BCC = ""
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = «Բարև ձեզ»
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
Սխալի դեպքում GoTo 0
Սահմանել xOutMail = Ոչինչ
Սահմանել xOutApp = Ոչինչ
Վերջ: Եթե
Վերջ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այսպիսով, ես օգտագործեցի ձեր խմբագրումը բջիջների միջակայքերը ներառելու համար, բայց (եթե մենք օգտագործում ենք աշխատաթերթի օրինակը) ես մտածում էի, թե ինչպես ավելացնել մրգի տեսակը, ամսաթիվը և քանակը աշխատանքային թերթի HTML էլփոստի մեջ, եթե դրանք համապատասխանում են չափանիշներին: ստեղծվել է էլ. Ուրեմն կասեր

"Ողջույն,"

Պտղի անվանումը բջիջից «Պետք է ետ պատվեր դնել, քանի որ պատվերի ամսաթվի դրությամբ.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Նոեմի,
Խնդրում ենք փորձել այս VBA սցենարը:

Private Sub Worksheet_Change (ByVal Target as Range)
Dim xRg որպես տիրույթ
Dim I, J, K Քանի դեռ երկար
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​Target.Address = Range(«D7»).Address then
Application.WorksheetFunction-ով
Եթե ​​IsNumeric (Target.Value) և Target.Value > 200, ապա
Սահմանել xRg = Application.InputBox («Խնդրում ենք ընտրել բջիջների տիրույթը, որը կցուցադրեք նամակագրության մեջ:», «KuTools for Excel», Selection.Address, , , , , 8)
Եթե ​​xRg-ը ոչինչ է, ապա դուրս եկեք Sub
I = 1-ի համար դեպի xRg.Rows.Count
J = 1-ի համար դեպի xRg.Rows(I).Columns.Count
K = 1-ի համար դեպի xRg.Rows(I).Columns(J).Count
xMailBody = xMailBody & " " & xRg.Rows(I).Columns(J).Cells(K).Text
հաջորդ
հաջորդ
xMailBody = xMailBody & vbNewLine
հաջորդ
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xOutMail-ի հետ
. To = "Էլ. Փոստի հասցե"
.CC = ""
.BCC = ""
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = «Բարև ձեզ» & vbNewLine & xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
Սխալի դեպքում GoTo 0
Սահմանել xOutMail = Ոչինչ
Սահմանել xOutApp = Ոչինչ
Վերջ: Եթե
Վերջ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
բարև բյուրեղյա
շնորհակալություն ձեր կոդերի համար, հնարավորության դեպքում խնդրում ենք ուղարկել կոդերը՝ ստորև նշված մանրամասների համար

եթե մենք ունենք 8-ից 9 սյունակ՝ օգտագործելով տարբեր տեսակի ժամկետանց ժամկետներ, ինչպիսիք են՝ անձնագրի վավերականության ժամկետը, վարորդական իրավունքի վավերականության ժամկետը, մեքենայի գրանցման ժամկետը, դարպասի անցագրի ժամկետը և այլն, և փոստով ծանուցումը պետք է ուղարկվի միայն 5 տվյալ անձի:

ինչպես մեր ամսաթվերը 300-ից ավելի աշխատակիցների հետ է, ժամկետը լրացել է և պիտանելիության ժամկետը 15 օրվա ընթացքում կարմիր գույնով և էլփոստի ծանուցումը պետք է ուղարկվի:

սիրով արեք անհրաժեշտը

շնորհակալ եմ նախապես
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,
Մենք տեղադրել ենք հոդված «Ինչպե՞ս նամակ ուղարկել, եթե ժամկետը լրացել է Excel-ում»։
Դուք կարող եք տեսնել, թե արդյոք կան պատասխաններ այս հոդվածում: Հոդվածը բացելու համար խնդրում ենք հետևել այս հղմանը. https://www.extendoffice.com/documents/excel/4664-excel-send-email-if-due-date-has-been-met.html
Շնորհակալություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն- Եթե ես ցանկանայի ցուցակից էլփոստ ուղարկել կոդում իրական էլփոստի հավելում դնելու փոխարեն, դա հնարավո՞ր է: շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,
Խնդրում ենք փորձել ստորև VBA կոդը, երբ նշված բջիջը համապատասխանի պայմանին, երկխոսություն կհայտնվի, խնդրում ենք ընտրել բջիջը, որը պարունակում է էլփոստի հասցեն, որին էլփոստ կուղարկեք: Հուսով եմ, որ դա կարող է օգնել: Շնորհակալություն.

Private Sub Worksheet_Change (ByVal Target as Range)
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
Սահմանել xRg = տիրույթ ("D7")
Եթե ​​xRg = Target And Target.Value > 200 Այնուհետեւ
Զանգահարեք Mail_small_Text_Outlook-ին
Վերջ: Եթե
Վերջ Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp-ը որպես օբյեկտ
Խոնավեցրեք xOutMail-ը որպես օբյեկտ
Dim xMailBody որպես տող
Dim xRgMsg որպես տիրույթ
Dim xCell-ը որպես տիրույթ
Սահմանել xRgMsg = Application.InputBox («Խնդրում ենք ընտրել հասցեի բջիջները:», «Kutools for Excel», , , , , , 8)
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա տող 1 է» և vbNewLine & _
«Սա տող 2 է»
Ս.թ. սխալի Ռեզյումե Next
Յուրաքանչյուր xCell-ի համար xRgMsg-ում
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xOutMail = xOutApp.CreateItem(0)
xOutMail-ի հետ
.To = xCell.Value
.CC = ""
.BCC = ""
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
xOutApp = Ոչինչ
xOutMail = Ոչինչ
հաջորդ
Սխալի դեպքում GoTo 0
Վերջ Sub
Առայժմ ոչ մի մեկնաբանություն չկա
Բեռնել More

Հետեւեք մեզ

Հեղինակային իրավունքի © 2009 - www.extendoffice.com. | Բոլոր իրավունքները պաշտպանված են. Powered by ExtendOffice. | | Կայքի քարտեզ
Microsoft- ը և Office- ի պատկերանշանը հանդիսանում են Microsoft Corporation- ի ապրանքային նշաններ կամ գրանցված ապրանքային նշաններ ԱՄՆ-ում և (կամ) այլ երկրներում:
Պաշտպանված է Sectigo SSL- ի կողմից