• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Met VBA exacte inhoud van cel versturen per email

Status
Niet open voor verdere reacties.

themover

Gebruiker
Lid geworden
7 jan 2013
Berichten
52
Hoe kan ik de code aanpassen om de exacte waarde over te nemen in een tabel die ik per mail wil sturen?

Dit is mijn urenverantwoording die ik per mail wil sturen, maar hij neemt niet exact '7:00' en '16:00' over.

Het Excel bestand is bijgevoegd en de tabel zoals hij eruit komt.

Bij voorbaat dank.
 

Bijlagen

  • Map1.xlsm
    Map1.xlsm
    20,3 KB · Weergaven: 30
  • Knipsel.PNG
    Knipsel.PNG
    11 KB · Weergaven: 31
Code:
Sub print_januari()
   c01 = "<table border=1>"
   sn = ActiveSheet.Range("A2:M9").Value
   For j = 1 To UBound(sn)
      For i = 4 To 5
         If IsNumeric(sn(j, i)) And Len(sn(j, i)) > 0 Then sn(j, i) = Format(sn(j, i), "hh:mm") 'getal omzetten in tekst-tijdwaarde
      Next
      If IsNumeric(sn(j, 9)) And Len(sn(j, 9)) > 0 Then sn(j, 9) = Format(sn(j, 9), "0") 'getal omzetten in tekst-getalwaarde
      c01 = c01 & "<tr><td>" & Join(Application.Index(sn, j), "</td><td>") & "</td></tr>"
   Next
   c01 = c01 & "</table><P></P><P></P>"
   With CreateObject("Outlook.Application").CreateItem(0)
      .To = "a@b.c"
      .Subject = ActiveSheet.Name & " januari"
      .HTMLBody = c01
      .Send
   End With
End Sub
 
Dank voor je zeer snelle oplossing.
Ondanks dat dit grotendeels werkt, loop ik nog tegen wat dingetjes aan, waardoor ik twijfel of ik misschien verkeerd aan het denken ben...

In de bijlagen hoe ik het in Excel heb gemaakt, met totaal overzicht en hoe het in de email komt.
Dit was niet in het voorbeeldbestand, komt omdat ik even snel een niet-privacy gevoelig bestandje had gemaakt (mijn fout).

Het liefst wil ik dat het op een manier duidelijk en overzichtelijk in een email komt.
Ik kan eventueel de opgetelde uren wel in een andere kolom zetten, maar zit dan toch nog met een naar mijn gevoel onduidelijk overzicht in de email.

Idee hoe ik dit zou kunnen aanpassen?
 

Bijlagen

  • Excel.PNG
    Excel.PNG
    49,6 KB · Weergaven: 46
  • Email.PNG
    Email.PNG
    45,6 KB · Weergaven: 38
kan je die range niet exporteren als pdf (=makkie) en dan als bijlage in de mail steken of moet het in de body ?
 
Ik heb nu onderstaande en dit werkt voor mij goed.
Ik ga dit toepassen en vraag bij de ontvanger of dit akkoord is.
Ik zet de vraag op 'opgelost'.

Dank!

Code:
Sub januari()
Dim Bestand As String
Dim OutApp As Object
Dim OutMail As Object
With ActiveSheet.PageSetup
.Orientation = xlLandscape
End With
Bestand = Environ("TEMP") & "\" & ActiveSheet.Name & " januari" & ".pdf"
Range("A1:m58").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Bestand
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = "a@b.c"
.Subject = ActiveSheet.Name & " januari"
.Body = "Zie bijlage"
.Attachments.Add Bestand
.Send
End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan