• 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.

Werkblad(en) verzenden via e-mail

Status
Niet open voor verdere reacties.

wheel

Gebruiker
Lid geworden
6 nov 2009
Berichten
281
Beste helpers,

Via wat zoekwerk heb ik een code gevonden om één werkblad te verzenden. Met ActiveSheet.Copy in de onderstaande code werkt het perfect om één blad te versturen.

Nu wil ik graag meerdere werkbladen verzenden, maar niet alle. De volgende code geeft een foutmelding op de Sheets regel:

Code:
Sub verzend()
  Sheets("Blad1", "Blad2").Copy
  ActiveWorkbook.SendMail "pietjepuk@live.nl", "Test"
  ActiveWorkbook.Close False
End Sub

Vragen:
1. Wat is er fout?
2. Hoe voer ik meerdere e-mailadressen in?
3. Hoe krijg ik op de plaats van het onderwerp ("Test") de inhoud van de cellen B1 en C1?

Alvast bedankt, Wheel.
 
Hoi Wheel,

Zoiets?

Code:
Sub verzend()
  Sheets(Array("Blad1", "Blad2")).Copy
  ActiveWorkbook.SendMail Recipients:=Array("bjorn@bjorntobewild.com", "bla@bla.com"), Subject:=Range("B1").Value
  ActiveWorkbook.Close False
End Sub

Groet,

Bjorn
 
Hallo Bjorn,

Tot zover perfect! :thumb:

Kan ik het onderwerp ook laten benoemen door de inhoud van cel B1 en C1 samen?

In cel B1 staat 'Urenverantwoording'

In cel C1 staat 'maart 2012'. Dit wordt echter weergegeven als 3/5/2012. Kan dat worden weergegeven als 'maart 2012'?

Gr. Wheel.
 
Het onderwerp ben ik inmiddels uit:

Code:
Subject:=Range("B1") & " " & Range("C1").Value

Nu nog het format van cel C1.
 
Hallo Bjorn,

Het gaat de goede richting op! :thumb:

Ik heb voor de zekerheid even een bestandje bijgevoegd, zodat je kunt zien wat ik bedoel. Er zijn ook wat aanpassingen geweest in het bestand. Dus de cellen zijn wat veranderd van plaats.

Wellicht kun je er iets mee.

Gr. Wheel.
 

Bijlagen

Laatst bewerkt:
Code:
Subject:=Range("A3") & " " & Format(DateValue(Range("B3")), "mmmm yyyy")
 
Werkt perfect, Rudi :thumb:

Nog twee vraagjes: als ik in een werkblad de e-mailadressen zet en daar een naam van maak, hoe verwerk ik dat in de code in plaats van de recipients array steeds aan te moeten passen? En een cc hoe voeg ik dat toe?

Gr. Wheel
 
Niet mogelijk met Sendmail om een cc toe te voegen.
 
Na veel zoekwerk ben ik er volgens mij uit. :)

Dit wordt hem:

Code:
Sub OpdrachtgeverA()

Dim MyArr As Variant
MyArr = Sheets("Emailadressen").Range("Verzendlijst")

Sheets(Array("Blad1", "Blad2")).Copy
ActiveWorkbook.SendMail Recipients:=MyArr, Subject:=Range("A3") & " " & Format(DateValue(Range("B3")), "mmmm yyyy")
ActiveWorkbook.Close False
End Sub

Als het anders moet, dan hoor ik dat graag. Nu even testen :D

Nu een manier vinden om van cel A3 en B3 een bestandsnaam te maken. Hulp is welkom :o

Gr. Wheel.
 
Laatst bewerkt:
Nu een manier vinden om van cel A3 en B3 een bestandsnaam te maken.

Ook die lijkt gevonden (kan de code niet tussen haakjes zetten :confused:)

Sub OpdrachtgeverA()

Dim MyArr As Variant
MyArr = Sheets("Emailadressen").Range("Verzendlijst")
fname = Range("A3") & " " & Format(DateValue(Range("B3")), "mmmm yyyy")

Sheets(Array("Blad1", "Blad2")).Copy
ActiveWorkbook.SaveAs Filename:=fname
ActiveWorkbook.SendMail Recipients:=MyArr, Subject:=Range("A3") & " " & Format(DateValue(Range("B3")), "mmmm yyyy")
ActiveWorkbook.Close False

End Sub


Natuurlijk allemaal met dank aan Warme Bakkertje en Bjorn voor een zet in de goede richting...
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan