VBA twee Sheets tegerlijk aanvullen

Status
Niet open voor verdere reacties.
@jolivanes

Gemakkelijk verholpen met:

Code:
Sub M_PrintPDF_snb()
    Sheet1.Shapes(1).Visible = msoTrue
    
    For j = 1 To 2
        Sheet1.Shapes(1).TextEffect.Text = Choose(j, "Original", "Copy")
        ActiveSheet.ExportAsFixedFormat 0, "G:\OF\" & [B1] & "-" & [E1] & j & ".pdf"
    Next
    
    Sheet1.Shapes(1).Visible = msoFalse
End Sub
 
@snb
Zelf niet geprobeerd waarschijnlijk om te zien wat de uitkomst is?????
Waarschijnlijk ziet er dit beter uit en bedoelde U dat ook alhoewel het voor U een erg lange regel of code word!!
Code:
ActiveSheet.ExportAsFixedFormat 0, "C:\Temp\" & [Sheet1!B1] & " - " & [Sheet1!E1] & Choose(j, " Original", " Copy") & ".pdf"
 
Laatst bewerkt:
Ik denk dat je de & j & in de naamregel over het hoofd hebt gezien.
Als het erom gaat dat een bestand niet wordt overschreven is dat voldoende. Verder is het een kwestie van persoonlijke voorkeur.
 
Laatst bewerkt:
Het werkt wel maar het word opgeslagen als Bla Blah 1 en Blah Blah 2
Als je weet dat "Original" 1 is en "Copy" 2 is dan is dat inderdaad voldoende.
Persoonlijk zie ik "Original" en "Copy" liever in de naam van de file maar zoals U zei, een persoonlijke voorkeur.
In ieder geval nog bedankt voor de (veel) kortere code.
Good night (bij jullie)
 
Laatst bewerkt:
Even over een andere boeg: mij lijkt de hele exercitie overbodig, want stammend uit het louter papieren tijdperk, waarin het 'origineel' werd verzonden en dus niet meer beschikbaar was bij de verzender.
Alles wat nu gebruikt wordt zijn 'kopieën' van het electronische 'origineel', dat altijd bij de verzender blijft.
De opslag van een elektronisch document met daarop 'origineel' is daardoor net zo redundant als de opslag van een elektronische 'kopie'.
 
From a 'sad eyed mister of the lowlands'
 
Fijn dat je er mee tevreden bent.
Je kunt ook de code van snb gebruiken.
Ik heb de code wat aangepast wat hij/zij hopelijk niet erg vind

Code:
Sub M_PrintPDF_snb()
    Dim j As Long
    Sheet2.Shapes(1).Visible = msoTrue
    For j = 1 To 2
        Sheet2.Shapes(1).TextEffect.Text = Choose(j, "Original", "Copy")
        ActiveSheet.ExportAsFixedFormat 0, "C:\Temp\" & [Sheet1!B1] & " - " & [Sheet1!E1] & Choose(j, " Original", " Copy") & ".pdf"
    Next j
    Sheet2.Shapes(1).Visible = msoFalse
End Sub
Code:
Sub M_Print_snb()
    Dim j As Long
    Sheet2.Shapes(1).Visible = msoTrue
    For j = 1 To 2
        Sheet2.Shapes(1).TextEffect.Text = Choose(j, "Original", "Copy")
        ActiveSheet.PrintOut    
    Next j
    Sheet2.Shapes(1).Visible = msoFalse
End Sub
 
Joli,

bedankt nogmaals. Ik ga jouw code gebruiken, met de andere kom ik niet echt uit.

Ik heb nog een laatste vraag mbt het opslaan.

Is het mogelijk dat "Copy" bestand opgeslagen wordt op andere map.

Bijvoorbeeld:

Original: C:\Temp
Copy: C:\Temp\Copy
 
Verander dit
Code:
End With
j = j + 1
Next i
With ActiveSheet
naar dit (m.a.w. invoegen)
Code:
End With
j = j + 1
Next i
[COLOR="#FF0000"]Name ftst & "\" & [B1] & "-" & [E1] & " " & oc(1) & ".pdf" As _
"C:\Temp\Copy" & "\" & [B1] & "-" & [E1] & " " & oc(1) & ".pdf"[/COLOR]
With ActiveSheet
 
:thumb: :d

Ik ben ontzettend blij met jou. Mijn dank ik GROOT.

Groetjes
 
Mooi te horen.
Ik zal tegen mijn vrouw zeggen dat er ook andere mensen blij zijn met mij!!!!

Good luck
 
Ik had er bij moeten zeggen dat hij de "copy" file niet opslaat in de C:\Temp\Copy folder maar hij hem daarheen overplaatst.
Je moet daar wel voorzichtig mee zijn als je folders verandert.
 
@mamin

Een hoop van je vragen kun je zelf leren ontdekken met een goed VBA boek dat je van voor naar achter In ieder geval systematisch) doorneemt.
Als je dat zelf doet begrijp je veel beter wat de code doet en kun je die ook beter onthouden.
Wat dat betreft heb je veel meer aan een handboek dan aan een forum, waar simpele en bijzonder complexe vragen door elkaar heen staan/buitelen.

Heb je er al eens aan gedacht zo'n VBA handboek aan te schaffen ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan