VBO loop in Excel obv range welke wordt toegepast op meerdere tabbladen

Status
Niet open voor verdere reacties.

MMol123

Nieuwe gebruiker
Lid geworden
14 nov 2016
Berichten
4
Hallo,

ik heb een probleem met het maken van een rapport met een loop in Excel.
Op dit moment werkt het rapport, echter moet ik één voor één het project selecteren . Ik weet dat het sneller kan zijn als ik een lus (loop toevoeg) installeer, maar het werkt niet.

Uit mijn rapport heb ik alleen de benodige kopieën gemaakt, zie de bijlage.

Wat te doen:
1. in Tab INPUT heb ik 5 project, maar ik selecteer het eerste project (cel C2, maar dit is gebaseerd op bereik i2 tot i6).
2. op basis van de invoer in INPUT C2 moeten de tabbladen RAPPORT 1 en RAPPORT 2 op dit projectnummer worden gefilterd.
3. Na het filteren moeten RAPPORT 1 en RAPPORT 2 worden opgeslagen als project1.pdf

4. Verwijder alle selecties en herhaal stap 1 tot 3 met project 2 enzovoort tot het einde van het bereik (in mijn voorbeeld INPUT i2 tot i6).
Als een project niet kan worden gefilterd in RAPPORT 2 (dit komt omdat er geen transacties voorkomen), moet de macro blijven draaien, maar in dit geval moet alleen RAPPORT 1 worden afgedrukt.

Heeft iemand een oplossing voor mij? Ik zou heel blij zijn.
 

Bijlagen

  • example.xlsx
    16,2 KB · Weergaven: 26
Je hebt een .xlsx bestand als voorbeeld geplaatst. Dat lijkt mijn niet handig als je al bestaande werkende code hebt die alleen nog maar aangepast hoeft te worden om het in een loop te zetten. Moeten de rapporten nu worden opgeslagen als .PDF of worden afgedrukt?

Waarschijnlijk kom je met zoiets een heel eind.
Code:
Sub VenA()
  c00 = "E:\Temp\"
  ar = Sheets("Input").Columns(9).SpecialCells(2)
    For j = 2 To UBound(ar)
      With Sheets("Report 1").UsedRange
       .Rows(6).AutoFilter 2, ar(j, 1)
       .ExportAsFixedFormat 0, c00 & .Parent.Name & ar(j, 1) & ".pdf"
       .Rows(6).AutoFilter
      End With
      With Sheets("Report 2").UsedRange
       .Rows(3).AutoFilter 2, ar(j, 1)
       If .Columns(2).SpecialCells(12).SpecialCells(2).Count > 1 Then .ExportAsFixedFormat 0, c00 & .Parent.Name & ar(j, 1) & ".pdf"
       .Rows(3).AutoFilter
      End With
    Next j
End Sub
 
Laatst bewerkt:
Beste VenA,

Dank voor jouw reactie.

De rapportage moet in pdf worden afgedrukt.
Ik heb jouw code toegevoegd in mijn voorbeeld, maar code "klapt" op:

.ExportAsFixedFormat 0, c00 & .Parent.Name & ar(j, 1) & ".pdf"

Rara?
 
De foutmelding is?
Heb je ook een E schijf met de map Temp?

De rapportage moet in pdf worden afgedrukt.
een afdruk komt op papier en dan is er geen pdf nodig.

Allemaal erg onduidelijk.
 
Reactie code

VenA,

jij hebt code doorgestuurd en deze heb ik ingeplakt alleen werkt dit niet.
De code stopt bij : .ExportAsFixedFormat 0, c00 & .Parent.Name & ar(j, 1) & ".pdf"

Code:
Sub VenA()
c00 = "E:\Temp"
ar = Sheets("Input").Columns(9).SpecialCells(2)
For j = 2 To UBound(ar)
With Sheets("Report 1").UsedRange
.Rows(6).AutoFilter 2, ar(j, 1)
.ExportAsFixedFormat 0, c00 & .Parent.Name & ar(j, 1) & ".pdf" > hier stopt de macro! Geen foutmelding gegeven!!!
.Rows(6).AutoFilter
End With
With Sheets("Report 2").UsedRange
.Rows(3).AutoFilter 2, ar(j, 1)
If .Columns(2).SpecialCells(12).SpecialCells(2).Count > 1 Then .ExportAsFixedFormat 0, c00 & .Parent.Name & ar(j, 1) & ".pdf"
.Rows(3).AutoFilter
End With
Next j
End Sub


Ik heb geen E schijf, maar deze had ik aangepast en de macro werkt na het doorvoeren van mijn aanpassing.

De pdf moet worden opgeslagen op een locatie en niet worden afgedrukt. (ik heb mijn voorgaande reactie gelezen en snap de onduidelijkheid: pdf afdrukken :shocked:)
 
Laatst bewerkt:
Check het pad: zit er een backslash tussen de folder en bestandsnaam? Als ik het zo zie niet en moet je zetten: c00 = "E:\Temp\"
 
VenA,

door vakantie beetje verlate reactie, excuus.

Het werkt nog niet.
De backslash heb ik toegevoegd en dit gaat goed.

Macro klapt bij:

.ExportAsFixedFormat 0, c00 & .Parent.Name & ar(j, 1) & ".pdf

De enige melding die ik krijg is:
Fout 1004 tijdens uitvoering:
"het document is niet opgeslagen. Mogelijk is het document nog geopend of is een fout opgetreden bij het opslaan van het document"

Heb je hier nog advies voor?
Dank
 
Controleer of het pad bestaat en er geen ongeldige tekens in de bestandsnaam staan.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan