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

Een macro die na een vraag een pdf maakt van de gevraagde gegevens en door e-mailt

  • Onderwerp starter Onderwerp starter MrBob
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

MrBob

Gebruiker
Lid geworden
3 aug 2013
Berichten
218
Hoi allen,

Ik wil graag een macro hebben die een vraag stelt welk "week nummer" ik wil emaillen en dan Rij A1 tot A15 tot E1 tot E15 kopieert (zie tabblad Email) en dan de gekozen week kopieert en er een pdf van maakt naar vooraf ingestelde emailadressen plus bericht en als bijlage de uitkomst van de Pdf. Zodat ik uiteindelijk een knop met verwijzing kan maken naar de macro en in het Excel sheet kan opnemen, zodat ik op de knop kan duwen. Tabblad email is ter illustratie om het duidelijk te maken wat ik precies wil. Alvast bedankt voor alle hulp en als het niet duidelijk is dan hoor ik het graag van jullie. ;)

Bekijk bijlage voorbeeldlijst.xlsx
 
Ik heb even wat van de code van Ron de bruin aangepast en dit zou moeten werken. Ik heb zelf echter geen outlook op mijn PC, dus bij mij kan ik maar testen tot het mail-proces.

Test jij het maar even, maar eerst moet je in module 2 even wat dingen aanpassen zoals mail-adres en doelmap.

Gr.

Sjon
 

Bijlagen

@SjonR,

Allereerst bedankt voor je hulp. Ben op het moment wel op mijn motor weg, kijk naar het weer buiten. Maar als ik terug ben ga ik het meteen eens bekijken. :thumb:
Je hoort nog van me vandaag !
 
Ik heb even gekeken en yes het werkt gedeeltelijk. Daarvoor al mijn dank. het enige dat het nog niet goed doet is de week selectie, hij kopieert gewoon het tabblad Email en verder niets. Hij moet dus op tab blad1 A1 tot E15 pakken en dan de week naar keuze erachter plakken. Dit doet hij dus nog niet. :confused:

E-mailen en de pdf werken al correct waarvoor nogmaals mijn dank. Nu nog dat hij dus de informatie meeneemt van Tab blad1 laat zeggen dat ik week02 kies en dat hij M1 tot Q15 meeneemt.

We zijn er bijna dus. :thumb:
 
Laatst bewerkt:
Dus als je Week 33 invoert zet hij week33 niet in je pdf?

Dat werkte bij mij wel.

Je moet wel voluit WEEK 33 invullen en niet alleen 33.
 
Laatst bewerkt:
:thumb:

Ok ik moet dus echt week 33 ingeven dan doet hij het idd wel.
Blond momentje had ik ik zat gewoon 12 te typen. :D

kan ik dat hij zelf bij de vraag week spatie al invuld dat we alleen maar 01 en of 12 moeten invullen ?
 
Ik merk overigens op dat hij mijn opmaak van het blad wel aanpast, kan dit ook nog aangepast worden en dan bedoel ik de stippellijntjes en de grote van de cellen etc..
Ik ga ook nog even mee zoeken natuurlijk maar wil ook dat het goedwerkende excel sheet hier online komt kunnen we er iemand anders ook weer blij mee maken natuurlijk. ;)
 
Voor wat betreft het weeknummer niet meer "week" in te hoeven vullen:

in de Sub Mail() even wijzigen

FindString = "Week" & InputBox("Vul hier het weeknummer in")

Dan hoef je als het goed is alleen nog maar het nummer in te tikken. Ik ben nu niet in de buurt van een PC met excel erop, dus ik kan het niet testen.

De opmaak in je voorbeeldbestand is heilig? Dus dat moet zo letterlijk in de PDF komen?
 
Laatst bewerkt:
Dat met die week werkt idd.:thumb: voor de rest die meeleest vergeet de spatie achter week niet mocht je hier ook interesse in hebben.

FindString = "Week " & InputBox("Vul hier het weeknummer in")

Voor wat betreft de opmaak maakt hij er een standaard van alle cellen gekopieerd krijgen een zwarte rand mee lijkt het op. Misschien dat als je later weer een pc in de buurt hebt dat je nog even mee kan kijken ik zoek intussen ook nog even mee, but we are close. :thumb: Super !;)

Zie nu dat je de vraag stelt ja ik wil graag dat hij de opmaak ook meeneemt ;)
 
Laatst bewerkt:
Dat van die week met spatie wou ik je nog melden, maar zag dat je 't zelf al uitgedokterd had.

Volgens mij is het zo gelijk aan jouw wensen. Persoonlijk vind ik die stippenlijn niet echt fraai, maar goed.

Gr.

Sjon
 

Bijlagen

Laatst bewerkt:
Code:
Sub M_snb()
    Blad1.Range("A1:E15").Copy Sheets("email").Cells(1)
    Blad1.Range("F1:L15").Offset(, 7 * (Application.WeekNum(Date, 21) - 1)).Copy Sheets("email").Cells(1, 6)
    Sheets("email").UsedRange.ExportAsFixedFormat 0, "G:\OF\voorbeeld.pdf"
    
    With CreateObject("outlook.application").createitem(0)
      .Subject = "week " & Application.WeekNum(Date, 21)
      .to = "iemandanders@gmail.com"
      .attachments.Add "G:\OF\voorbeeld.pdf"
      .Send
    End With
End Sub
 
Super, nu is alles opgelost en gaat de vraag op opgelost. Een ieder bedankt voor het meedenken en de antwoorden ik ga ermee aan de slag in het originele document. :thumb: Op naar de volgende vraag. :D
 
Snb, het kan dus ook gewoon zo simpel! Prachtige korte code, alleen geeft het TS geen keuzevraag voor het weeknummer. Ook zit er geen body in.
 
Laatst bewerkt:
Ik vermoed dat hij/zij de planning van óf deze week óf volgende week wil sturen (die van december lijkt me wat vermetel, die van januari 'oude koek').
Ik sluit niet uit dat het een herhalende aktivitiet wordt.
Dan is gebruikersbemoeienis overbodig (en kan de code bijv. in de workbook_open gebeurtenis gezet worden).
De 'body' lijkt me zo individu-gebonden dat die er beter door de betrokkene zelf ingezet kan worden.
Ik duid met de code alleen de te hanteren methode aan, niet de komplete 'oplossing'.
 
Laatst bewerkt:
Met interactie voor het kiezen van de week en maar 1 kopieer actie en nog wat verschillen. Meerdere wegen leiden naar Rome:d

Code:
Sub VenA()
  c00 = InputBox("Geef hier het weeknummer op")
  If IsNumeric(c00) And c00 < 53 Then
    Set d = Union(Columns("A:E"), Columns(Blad1.Rows(2).Find("Week " & Format(c00, "00")).Column).Resize(, 7))
    d.Copy Blad2.[A1]
    c01 = "E:\Temp\Week " & Format(c00, "00") & ".pdf"
    Blad2.UsedRange.ExportAsFixedFormat 0, c01
  End If
  With CreateObject("outlook.application").createitem(0)
      .Subject = "week " & c00
      .to = "iemandanders@gmail.com"
      .attachments.Add c01
      .display '.send
    End With
  Kill c01
End Sub
 
Dan is kopiëren ook overbodig:

Code:
Sub M_snb()
    Sheet1.Cells(1, 6).Resize(, 7 * (Application.WeekNum(Date, 21) - 2)).EntireColumn.Hidden = True
    Sheet1.Cells(1).Resize(15, 5 + 7 * (Application.WeekNum(Date, 21) - 1)).ExportAsFixedFormat 0, "G:\OF\opnieuw.pdf"
End Sub
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan