Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketFejl i kode - 'Send mail fra excel'

 Besvar Besvar
Forfatter
VC1 Se dropdown
Bronze bruger
Bronze bruger


Medlem: 07.Jul.2020
Status: Offline
Point: 21
Direkte link til dette indlæg Emne: Fejl i kode - 'Send mail fra excel'
    Sendt: 26.Jul.2020 kl. 21:26
Uanset hvad jeg gør, så kan jeg ikke få denne macro til at kun at tage specifikke (dog dynamiske) celler og sende i en email.

Jeg har reference mail i A1 og den bliver ved med at klippe denne med
(Denne er bare en test, men i den vil informationerne heller ikke skulle tages fra toppen, så løsningen er ikke bare at flytte det hele op og mail referencen ned)

uploads/2704/Send_email.xlsm


Koden

Sub esendtable()
Dim outlook As Object
Dim newEmail As Object
Dim xInspect As Object
Dim pageEditor As Object
Set outlook = CreateObject("Outlook.Application")
Set newEmail = outlook.CreateItem(0)
With newEmail
    .To = Sheet1.Range("A1").Text
    .CC = ""
    .BCC = ""
    .Subject = "Personoplysninger"
    .Body = "Jvf. aftale er her oplysninger" & vbCrLf & "Venlig hilsen Kim"
    .display
    Set xInspect = newEmail.GetInspector
    Set pageEditor = xInspect.WordEditor
    'Sheet1.Range("B2:E5").Copy
    Sheet1.Range("A2").CurrentRegion.Copy
    pageEditor.Application.Selection.Start = Len(.Body)
    pageEditor.Application.Selection.End = pageEditor.Application.Selection.Start
    pageEditor.Application.Selection.PasteAndFormat (wdFormatPlainText)
    .display
    '.Send
    Set pageEditor = Nothing
    Set xInspect = Nothing
End With
Set newEmail = Nothing
Set outlook = Nothing
End Sub

Til top



Til top
fiajakt Se dropdown
Bronze bruger
Bronze bruger


Medlem: 05.Okt.2017
Land: Danmark
Status: Offline
Point: 76
Accepteret svar Accepteret svar
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 21:45

Hej Hvis du vil beholde curentregion kan du bruge denne file.



uploads/2064/test2_2020-07-27_21-44-19.xlsm

Til top
fiajakt Se dropdown
Bronze bruger
Bronze bruger


Medlem: 05.Okt.2017
Land: Danmark
Status: Offline
Point: 76
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 16:52
Hej,'

Jeg har ikke lige outlook på min pc.

men hvad sker der når du erstatter;


Sheet1.Range("A1").Text

med

Sheet1.Range("A1").value



mvh kjeld
Til top
VC1 Se dropdown
Bronze bruger
Bronze bruger


Medlem: 07.Jul.2020
Status: Offline
Point: 21
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 17:04
Det ændrede intet - Den tager stadig min A1 med mail med

Skal lige siges, at jeg prøvet at ændre range til A2 begge steder, men lige lidt hjælper det
Til top
fiajakt Se dropdown
Bronze bruger
Bronze bruger


Medlem: 05.Okt.2017
Land: Danmark
Status: Offline
Point: 76
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 17:13
Du bruger 
    
Sheet1.Range("A2").CurrentRegion.Copy

Derfor får du A2 med igen..

slet currentregion
og brug

Sheet1.Range("B2:E5").Copy

Til top
VC1 Se dropdown
Bronze bruger
Bronze bruger


Medlem: 07.Jul.2020
Status: Offline
Point: 21
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 17:24
Det virkede i den forstand at den tog alle tabs mellem B2:E5
- Men jeg vil gerne have at den tager alle tabs dynamisk fra A2 og til der hvor ikke længere er udfyldt information (hvilket er dynamisk). Derfor er A2 med currentregion
Til top
Bjarnehansen Se dropdown
Platin bruger
Platin bruger
Avatar

Medlem: 20.Nov.2011
Land: DK
Status: Offline
Point: 5475
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 17:31
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Med venlig hilsen - Bjarne Hansen - Microsoft 365 DK
Til top
Bjarnehansen Se dropdown
Platin bruger
Platin bruger
Avatar

Medlem: 20.Nov.2011
Land: DK
Status: Offline
Point: 5475
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 17:52

eller er det noget mere i denne stil du tænker på?

Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Med venlig hilsen - Bjarne Hansen - Microsoft 365 DK
Til top
fiajakt Se dropdown
Bronze bruger
Bronze bruger


Medlem: 05.Okt.2017
Land: Danmark
Status: Offline
Point: 76
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 18:02
Når du bruger currentregion får du alle celler med.

Det svarer til du tryk CTRL A







Til top
fiajakt Se dropdown
Bronze bruger
Bronze bruger


Medlem: 05.Okt.2017
Land: Danmark
Status: Offline
Point: 76
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 18:06
Hej 


Dymanisk uden currentregion.



VBA kode':


Dim lRow As Long
lRow = Cells(Rows.Count, 1).End(xlUp).Row

Sheet1.Range(Cells(2, 1), Cells(lRow, 2)).Copy


se vedlagt file


uploads/2064/test.xlsm
Til top
VC1 Se dropdown
Bronze bruger
Bronze bruger


Medlem: 07.Jul.2020
Status: Offline
Point: 21
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 18:16
Jeg får desværre ikke det ønskede resultatet i nogle af besvarelserne.

Til bjarnehansen - så ønskes der stadig tekst over de kopierede rækker, hvilket gør at e-mailen skal stå i A1 som eksempel på dette

Til fiajakt - Så giver dit excel ikke den ønskede 'dynamiske' effekt, såfremt der kommer mere information ned langs rækkerne/kolonnerne

P.S din kommentar med VBA kode, kan jeg ikke lurer hvor du ville have ind for at det skulle give effekten.

Til top
Bjarnehansen Se dropdown
Platin bruger
Platin bruger
Avatar

Medlem: 20.Nov.2011
Land: DK
Status: Offline
Point: 5475
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 18:48
Hvilken tekst er det du vil have over de kopiere rækker, kan du ikke skrive den tekste du vil have ind i A1
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Med venlig hilsen - Bjarne Hansen - Microsoft 365 DK
Til top
VC1 Se dropdown
Bronze bruger
Bronze bruger


Medlem: 07.Jul.2020
Status: Offline
Point: 21
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 18:53
Dette er er kun en lille funktion i et større mere kompleks arbejdsark og hvor denne funktion vil være, er ''midt'' i arket - Derfor er mailen oppe i A1 for at symbolisere at der vil være tekst over det der ønskes kopieret.

Så det korte svar er nej, desværre.
Til top
Bjarnehansen Se dropdown
Platin bruger
Platin bruger
Avatar

Medlem: 20.Nov.2011
Land: DK
Status: Offline
Point: 5475
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 18:53
Jeg får dannet denne mail

Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Med venlig hilsen - Bjarne Hansen - Microsoft 365 DK
Til top
fiajakt Se dropdown
Bronze bruger
Bronze bruger


Medlem: 05.Okt.2017
Land: Danmark
Status: Offline
Point: 76
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 18:53
uploads/2064/test1.xlsm



nu med dynamisk både i rækker og kolonner
Til top
VC1 Se dropdown
Bronze bruger
Bronze bruger


Medlem: 07.Jul.2020
Status: Offline
Point: 21
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 19:25
Ja undskyld Bjarnehansen, jeg vil måske ikke udtrykt mig klart nok i svaret til dig.
- Problemet med din besvarelse var, at hvis jeg tilføjede information i flere rækker/kolonner, så ville disse ikke komme med automatisk, men kun med en manuel ændring i macro hver gang.

fiajakt - Tak det fungerer super.
- Men nu tænker jeg lidt frem i min egen proces, hvis jeg nu senere vil have noget tekst under denne function i kolonne A, så vil dette også blive taget med. Kan man lave en 'stop' funktion så den tager fra den celle man nu vil, i dette tilfælde 2,1 og indtil der kommer et blankt felt.

Sådan så, at hvis jeg ønsker nu information nedenunder, så skal jeg bare lade en række være tom.
Til top
fiajakt Se dropdown
Bronze bruger
Bronze bruger


Medlem: 05.Okt.2017
Land: Danmark
Status: Offline
Point: 76
Accepteret svar Accepteret svar
Direkte link til dette indlæg Sendt: 27.Jul.2020 kl. 21:45

Hej Hvis du vil beholde curentregion kan du bruge denne file.



uploads/2064/test2_2020-07-27_21-44-19.xlsm

Til top
VC1 Se dropdown
Bronze bruger
Bronze bruger


Medlem: 07.Jul.2020
Status: Offline
Point: 21
Direkte link til dette indlæg Sendt: 28.Jul.2020 kl. 11:06
fiajakt - Tak det spiller bare nu - Det sætter jeg stor pris på.

Et hurtigt spørgsmål - Kan se du har tilføjet kode under et ekstra sheet i modules og ikke blot tilføjet det i det eksisterende. Er der en speciel grund til det ikke er samlet?

- Er ikke super skarp i excel, så prøver bare lidt at få bedre indblik 
Til top
fiajakt Se dropdown
Bronze bruger
Bronze bruger


Medlem: 05.Okt.2017
Land: Danmark
Status: Offline
Point: 76
Direkte link til dette indlæg Sendt: 29.Jul.2020 kl. 07:18
Hej,

Det er fordi, jeg ikke har outlook og kunne derfor ikke teste koden.

Modullet er bare for at tjekke om koden gør hvad der er tiltænkt.


Du kan bare slette den nu, den har ingen funktion i forhold til programmet


mvh kjeld
Til top
VC1 Se dropdown
Bronze bruger
Bronze bruger


Medlem: 07.Jul.2020
Status: Offline
Point: 21
Direkte link til dette indlæg Sendt: 30.Jul.2020 kl. 18:03
Det er modtaget - Tak for svar
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk