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

Hvordan sendes / e-mail-række celler gennem Outlook fra Excel?

Har du nogensinde haft et problem, der efter at have afsluttet en rapport i et regneark, og du skal sende til en række celler i dette regneark, der indeholder nogle vigtige data til din specifikke modtager. Er der nogen hurtige måder for dig at e-maile dette interval fra Excel uden at åbne Outlook?

Send række af celler som vedhæftet fil fra Excel med VBA-kode

Send række af celler som krop fra Excel med VBA-kode


pil blå højre bobleSend række af celler som vedhæftet fil fra Excel med VBA-kode

Følgende VBA-kode kan hjælpe dig med at sende dit valgte interval som vedhæftet fil i Excel. Gør som dette:

1. Åbn din projektmappe, og hold derefter nede ALT + F11 nøgler til at åbne Vinduet Microsoft Visual Basic til applikationer.

2. Klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.

VBA-kode: send række af celler som vedhæftet fil fra Excel

Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "skyyang@extendoffice.com"
    .CC = ""
    .BCC = ""
    .Subject = "information of kte"
    .Body = "hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Bemærk: I ovenstående kode kan du ændre følgende oplysninger til dit eget behov.

  • .To = "skyyang @extendoffice.com "
  • .CC = ""
  • .BCC = ""
  • .Subject = "information om kte"
  • .Body = "hej, tjek og læs dette dokument."

3. Klik derefter på F5 nøgle til at køre denne kode, og der vises et promptfelt for at minde dig om at vælge et interval, du vil sende. Se skærmbillede:

doc-send-rækkevidde1

4. Klik derefter på OK, og der vises en hurtigboks, når proceslinjen er afsluttet, skal du klikke på Tillad, og derefter er det specifikke celleområde sendt til din modtager som en vedhæftet fil.

doc-send-rækkevidde2


pil blå højre bobleSend række af celler som krop fra Excel med VBA-kode

Hvis du vil sende et bestemt interval som en del af meddelelsesteksten fra Excel, kan du også anvende følgende VBA-kode for at løse det.

Kutools til Excel, med mere end 120 praktiske funktioner, der gør dine job lettere. 

1. Aktivér dit regneark, og hold nede ALT + F11 nøgler til at åbne Vinduet Microsoft Visual Basic til applikationer.

2. Klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.

VBA-kode: send række af celler som brødtekst fra Excel

Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
    .Introduction = "Please read this email."
    .Item.To = "skyyang@extendoffice.com"
    .Item.Subject = "information of kte"
    .Item.Send
End With
Application.ScreenUpdating = True
End Sub

Bemærk: I ovenstående kode kan du ændre følgende oplysninger til dit behov.

  • .Introduction = "Læs denne e-mail."
  • .Item.To = "skyyang @extendoffice.com "
  • .Item.Subject = "information om kte"

3. Klik derefter på F5 nøgle til at køre denne kode, og der vises et promptfelt for at minde dig om at vælge et interval, du vil sende.

doc-send-rækkevidde1

4. Klik derefter på OK, og der vises en hurtigboks, når proceslinjen er afsluttet, skal du klikke på Tillad, og derefter er det specifikke celleområde sendt til din modtager som beskedtekst.

doc-send-rækkevidde2

Bemærkninger:

1. Disse koder er kun tilgængelige, når Outlook som dit mailprogram.

2. Efter at have sendt det aktuelle regneark, kan du gå til din Outlook for at sikre dig, om e-mailen er sendt med succes.


Relaterede artikler:

Hvordan sendes kun regneark via Outlook fra Excel?

Hvordan sendes den aktuelle projektmappe via Outlook fra Excel?


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (26)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, jeg bruger marco, som vælger de celler, der skal sendes til e-mail. jeg har kombineret dette med en anden makro, så jeg får den til at åbne en "ny e-mail" mit problem er nu, at hvis du lægger en masse information ind i en celle, så tager det kun iformaiton, du ser ikke alle oplysningerne i den celle nogen ideer ?? mange tak for din hjælp med denne jubel
Denne kommentar blev minimeret af moderatoren på webstedet
Hej allesammen
Jeg har et projekt med at vælge rækkevidde i ark 1, der skal sendes med e-mail én efter én til mange e-mailadresser skrevet i ark 2 i kolonne A, og hvis kolonne B er tom med et bestemt emne og efter afsendelse skriver han i ark 2, kolonne b.
Og ventetid 10 sekunder for at sende den næste e-mail som serverens tilstand
Nogen der kan hjælpe mig?   
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Kan du venligst fortælle mig, hvordan man tilføjer signatur og anden introduktionslinje til denne mail for det andet program. Tak på forhånd.
Denne kommentar blev minimeret af moderatoren på webstedet
flot og nyttigt, godt arbejde!!!
Denne kommentar blev minimeret af moderatoren på webstedet
Meget brugbar. Tak skal du have . Jeg har en liste over e-mailadresser på samme ark. Da jeg klikkede på én e-mail-adresse, vil det valgte celleområde blive sendt som vedhæftet fil til denne e-mail. Kan du hjælpe mig med dette? Mange tak.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, meget godt forklaret. I stedet for at sende en ny projektmappe kan vi kun kopiere og indsætte det valgte område i e-mail-brødteksten og sende. Jeg ønsker ikke at sende det valgte område som billede. Jeg vil gerne sende som en tabelvisning i brødteksten i e-mailen. Kan vi det??
Denne kommentar blev minimeret af moderatoren på webstedet
Tak, dette er meget nyttigt, men hvad nu hvis jeg har brug for at tilføje en beskrivelse i e-mail-teksten, før jeg sender den. Foreslå venligst koden.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,
Alt ser godt ud, men giver ikke grænsen valgt område, kan du foreslå.
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak, jeg er ved at finde denne løsning så længe.
Denne kommentar blev minimeret af moderatoren på webstedet
Fremragende arbejde. Det ville være bedre at se dette sendt ud automatisk. Hvad skal jeg gøre, så det ikke beder om en fejl, før jeg genoptager afsendelsen?
Denne kommentar blev minimeret af moderatoren på webstedet
kunne vi sætte så mange e-mailadresser til at sende til?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Carey, alle over VBA'erne kan tilføje mange e-mails-adresser (Til, BCC, CC) at sende til ved at bruge ; som separator. For eksempel, .To = "skyyang@extendoffice.com; test1@extendoffice.com; test2@extendoffice.com "
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg kan ikke kopiere det som et fil i en e-mail, der skal kopieres og indsættes i e-mailen. Hvad er det i VBA-koden?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej jeg har en tabel opsat som jeg vil have personalet til at udfylde og så en kommandoknap som så automatisk genererer en e-mail, dog ønsker jeg at data fra tabellen skal være i e-mailens brødtekst. Er der en kode til det? 
Tak 
Denne kommentar blev minimeret af moderatoren på webstedet
Hej allesammen
Jeg har et projekt med at vælge rækkevidde i ark 1, der skal sendes med e-mail én efter én til mange e-mailadresser skrevet i ark 2 i kolonne A, og hvis kolonne B er tom med et bestemt emne og efter afsendelse skriver han i ark 2, kolonne b.
Og ventetid 10 sekunder for at sende den næste e-mail som serverens tilstand
Nogen der kan hjælpe mig?   
Denne kommentar blev minimeret af moderatoren på webstedet
Hej allesammen
Jeg har et projekt med at vælge rækkevidde i ark 1, der skal sendes med e-mail én efter én til mange e-mailadresser skrevet i ark 2 i kolonne A, og hvis kolonne B er tom med et bestemt emne og efter afsendelse skriver han i ark 2, kolonne b.
Og ventetid 10 sekunder for at sende den næste e-mail som serverens tilstand
Nogen der kan hjælpe mig?   
Denne kommentar blev minimeret af moderatoren på webstedet
Hej hriad, "hvis kolonne B er tom med et bestemt emne og efter afsendelse skriver han i ark 2 kolonne b sendt
Og ventetid 10 sekunder for at sende den næste e-mail som serverens tilstand" Jeg forstår ikke dette. Fortæl mig venligst om dit krav.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej solrig
først og fremmest tak for din hjælp, da serveren satte en betingelse for ikke at sende mange e-mails i samme sekund, vil jeg vente 10 sekunder efter at have sendt den første e-mail og den følgende.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej hriad, prøv venligst nedenstående kode, efter at have kørt den, vil den poppe ud en dialogboks for at vælge et område, som du vil sende, derefter sende det til adresser i ark 2 kolonne A og med emnerne i kolonne B. Hvert 10. sekund , send til én adresse. Du kan ændre koden "Læs venligst denne e-mail" efter behov.
Sub SendEmailRange()

'Opdater AfExtendoffice20220414

Dæmp WorkRng As Range

Dim xSU, EV Som Boolean

Dim xWSh Som arbejdsark

Dim xCount Som heltal

Dim xI Som heltal

On Error Resume Next

xTitleId = "KutoolsforExcel"

'vælg et område, der plejede at sende som brødtekst

Set WorkRng = Application.InputBox("Range", xTitleId, Application.Selection.Address, , , , , 8)

Hvis WorkRng ikke er noget, skal du afslutte Sub
WorkRng.Activate
WorkRng.Select

Indstil xWSh = ActiveWorkbook.Worksheets("Sheet2") 'arket, der indeholder adresser og emner

xCount = xWSh.UsedRange.Rows.Count

xSU = Application.ScreenUpdating

EV = ActiveWorkbook.EnvelopeVisible

Application.ScreenUpdating = False


For xI = 1 Til xCount

If (xWSh.Range("A" & xI) = "") Så
Afslut til
End If
ActiveWorkbook.EnvelopeVisible = Sand
Med ActiveSheet.MailEnvelope
.Introduction = "Læs denne e-mail."

.Item.To = xWSh.Range("A" & xI)

.Item.Subject = xWSh.Range("B" & xI)

.Vare.Send
Slut med
Hvis (xI = xCount) Så

Afslut til

End If

Application.Wait Now + TimeValue("0:00:10")

Næste


Application.ScreenUpdating = xSU

ActiveWorkbook.EnvelopeVisible = EV

End Sub

Denne kommentar blev minimeret af moderatoren på webstedet
Hej solrig
Mange mange tak for din indsats.... Mange tak
Denne kommentar blev minimeret af moderatoren på webstedet
Kan vi fastsætte intervaller? i makro sig selv
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,

Mam plik z 6 arkuszami. Każdy z arkuszy 2-6 musi zostać wysłany do innej grupy odbiorców jako załącznik excela. Czy da się to podpiąć pod 5 przycisków?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej pawerl
For at løse dit problem kan nedenstående artikel måske hjælpe dig, tjek det venligst:

https://www.extendoffice.com/documents/excel/7178-send-each-sheet-to-different-email.html

Tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Tak for dette! Jeg vil teste det snart, da jeg kommer tilbage fra ferie. Har et spørgsmål mere. Har et problem med at køre vba-koder ved at bruge Activex-knappen (ingen handling overhovedet), selvom koden fungerer perfekt i redigeringstilstand, eller når den køres med ctrl+valgt knap fra tastaturet. Jeg er lige begyndt på vba-rejse og har nej
ved hvad jeg gør forkert :/
Denne kommentar blev minimeret af moderatoren på webstedet
Hej pawerl
Du skal blot kopiere og indsætte koden i Microsoft Visual Basic til applikationer vinduet, og klik derefter på Kør knap fra værktøjslinjen som vist nedenfor skærmbillede: (Bemærk: i koden, S1 er cellen indeholder den e-mailadresse, som du vil sende e-mailen til. Venligst skift dem efter dit behov.)

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-send-emails.png

Prøv igen!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,

Jeg har gjort alt som ovenfor, og resultatet er: alt fungerer perfekt bortset fra knappen :) Er ligeglad med dette i øjeblikket :)

Kæmpe tak!!! emnet lukket :)
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL