Macro: Berekeningen uit lijst opslaan als PDF

Status
Niet open voor verdere reacties.

Harmsp

Nieuwe gebruiker
Lid geworden
12 nov 2014
Berichten
2
Hallo iedereen,

Ik ben al een aantal dagen aan het zoeken naar een oplossing.
Daarom mijn eerste vraag hier op het forum.

Mijn vraag is als volgt:
Ik heb een database met klantgegevens.
Elke klant heeft specifieke gegevens.

Op een andere sheet worden berekeningen uitgevoerd met de bovenstaande specifieke gegevens.
Om deze berekeningen uit te voeren kies ik uit een keuzelijst (die staat in de rekensheet) de naam van de klant.
De berekeningen zijn dus gekoppeld aan de naam die verschijnt in de keuze lijst (die staat in C3). ik heb nog geen macro's gebruikt in deze werkmap.

Nu is mijn volgende vraag:
In de database staan 100 klanten. 1 keer per jaar wil ik alle berekeningen uitvoeren van alle klanten en deze opslaan als PDF zodat ik ze op kan sturen naar de klant. (dus 100 keer)
Is het mogelijk om met een klik op een button. Een macro de gehele lijst afgaat en elke keer opslaat als de "naam in de lijst" en dan naar de volgende in de lijst, enz, enz.

Dus samengevat:
een macro die: Klik op button ->1e in de lijst -> berekening -> opslaan als pdf -> 2e in de lijst -> berekening -> opslaan als pdf -> 3e in de lijst, enz.

Ik hoop dat jullie hier iets op weten!
 
Daar weten we idd iets op maar een voorbeeldbestand met fictieve gegevens zegt meer dan 1000 woorden.

Niels
 
Bij deze het document.
Dit is niet het officiele document, ik heb hem aanmoeten passen omdat er betrouwbare informatie instaat van klanten.
Dit bestand komt wel op het zelfde neer.

Is het ook mogelijk om hierbij een printgebied te selecteren, zodat hij alleen het gebied print waar getallen staan?
Ik heb tot nu toe de onderstaande macro.
Bij deze stuurt hij hem naar de printer ipv opslaan als pdf. (wat wel de bedoeling is)

Sub Export2PDF()
Dim oCell As Range
ThisWorkbook.Worksheets("PDF").Activate
For Each oCell In ThisWorkbook.Worksheets("Lijsten").Range("A4:A15")
ThisWorkbook.Worksheets("PDF").Range("C3").Value = oCell.Value
ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:="filemac:/MacintoshHD/Users/harm/Downloads\" & oCell.Value & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Next
End Sub

Bekijk bijlage Nieuw model kopie (version 1).xlsx
 
De usedrange werk alleen als je niet nutteloos cellen gaat opmaken.


Code:
Sub test()

For Each cl In Range("locatie").SpecialCells(2)
With Sheets("PDF")
.Range("C3").Value = cl.Value

 .PageSetup.PrintArea = .UsedRange
  
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "\\gielissen.local\NL-HLM\Redirected\N.vanderRijt\My Documents\00000_helpmij\" & cl.Value & ".pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
End With
Next

End Sub

Niels28
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan