VBA twee Sheets tegerlijk aanvullen

Status
Niet open voor verdere reacties.

mamin

Gebruiker
Lid geworden
9 dec 2013
Berichten
36
Twee Sheets tegelijk aanvullen

Hallo experts,

Weten jullie of ik, middels VBA, 2 dezelfde Sheets tegelijk kan aanvullen .
Ik heb nl. een Sheet1 met “Factuur original” en een Sheet2 “Factuur Copy” met dezelfde layout en dezelfde formules. Nu wil ik graag als ik Factuur original aan het bewerken ben dat alle gegevens automatisch bij Factuur Copy aangevuld worden.
 
Zet deze code eens in de sheet “Factuur original” (niet in de sheet zelf, maar in het VBAProject):

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.Sheets("Factuur Copy").Range(Target.Address) = Target
End Sub

Grtz,
MDN111.
 
Geveldig MDN111,

Mijn vraag is bij deze beantwoord.

Nogmaals bedankt.
 
Hoi hoi,

Ik heb volgens mij iets te snen gereageerd :(
Mijn probleem is wel opgelost maar nu heb ik weer andere vraag.
Momenteel gebruik ik volgende code voor het opslaan van mijn factuur original als PDF (in bepaalde map, met de naam uit cel)
Wat de code nog doet is: bepaalde waarden van het factuur naar een register brengen en na het opslaan verhoogd hij het factuurnummer met 1.

Code:
Sub SavePDF()
Dim NewFN As Variant
PostToRegister
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Zdraffie\Desktop\Factuur voorbeeld\InvoiceCopytst\" & [B2] & "-" & [E2] & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
MsgBox ("Factuur is opgeslagen.")
NextÍîìåð_ôàêòóðà

End Sub

Is het ook mogelijk om mijn code zo aan te passen dat hij ook mijn Factuur (copy) tegelijk opslaat als PDF op dezelfde locatie als Factuur original maar dan in een map Copy
Ik heb geprobeerd volgende code toe te voegen:

Code:
Sheets(Array("Factuur original", "Factuur Copy")).Select
    Sheets("Factuur original").Activate

maar dan krijg ik fout melding bij de code
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.Sheets("Factuur Copy").Range(Target.Address) = Target
End Sub



Thnx
 
De methode .ExportAsFixedFormat ken ik niet echt, want ik werk nog met Excel 2003. Maar ik vermoed dat je een sheet niet moet selecteren of activeren om die te exporteren. Gewoon naar refereren lijkt mij voldoende, dus
Code:
Sheets("Factuur original").ExportAsFixedFormat ... enz.
Sheets("Factuur Copy").ExportAsFixedFormat ... enz.

PS. Wat is de betekenis van "NextÍîìåð_ôàêòóðà" ?

Grtz,
MDN111.
 
Wat mis ik hier?
Als beide Sheets hetzelde zijn, waarom hebben we dan 2 Sheets nodig?
Je zou toch een blad twee maal kunnen opslaan met verschillende namen. Of zie ik dat verkeerd?
 
Hoi Joli,

Zoals we weten is watermerk maken in excel niet echt makkelijk. Ik heb gewoon 2 facturen nodig met als watermerk ORIGINAL en COPY. En te voorkomen dat ik elke keer alles handmatig moet veranderen (2 maal opslaan met 2 verschilende watermerken) heb ik bedacht om gewoon 2 sheets van te maken.

;)
 
Je kunt het volgende doen misschien
Noem je ene watermerk "Original" en het andere "Copy"
Je kunt dan het volgende gebruiken
Code:
ActiveSheet.Shapes("Original").Visible = True
ActiveSheet.Shapes("Copy").Visible = False
en voor de kopie doe je het tegenovergestelde
Code:
ActiveSheet.Shapes("Original").Visible = False
ActiveSheet.Shapes("Copy").Visible = True
 

Bijlagen

Laatst bewerkt:
Joli,

Bedankt voor meedenken.
Je oplossing werkt niet in mijn geval. Ik moet beide bestanden (original en copy) niet alleen uitprinten maar ook opslaan in 2 mappen (1-original en 2-copy) op dezelfde locatie waar mijn facturatie programma is.
Maar bedankt nogmaals voor meedenken.

gr.
 
Ik zou zeggen: ja, das een mooie oplossing maar.....
Eerlijk gezegd snap ik je niet helemaal.
Hoe kom dat ik jouw watermerk niet zie in je 2e voorbeeld en wat bedoel je met: noem je ene watermerk "original" en de andere "copy"
(bedoel je dat ik de naam van de WordArt watermerk moet definieren of bedoel je dat ik een hele andere bestand in bv powerpoint moet maken)?

Je zet me aan het denken. :rolleyes:
 
Joli

super.......ik weet hoe je het doet
selectie en zichtbaarheid...... (weer iets nieuws geleerd)

dank je
 
Alles gesust?
Je hoeft het niet te gebruiken maar zo heb je geen twee sheets nodig wat weer problemen op zou kunnen leveren.
Ook een kleinere file!!!!
 
Voortbordurend op Joli's suggestie:
Verwijder 1 van de 2 afbeeldingen; gebruik daarna
Pas het pad "G:\OF\" aan.

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] & ".pdf"
    Next
    
    Sheet1.Shapes(1).Visible = msoFalse
End Sub
 
Joli,

Ik heb je code gebruikt om mijn factuur op te slaan maar mijn print knop wil ik appart hebben.
Hoe moet de code dan uitzien dat hij ook "Original" en "Copy" tegelijk uitprint.
 
Bedoel je dat met een knop je een print maakt en ook als PDF opslaat of twee knoppen, een voor te printen en een om als PDF op te slaan?

Als je alles in een wilt hebben
Code:
     For i = 1 To 2
    ActiveSheet.PrintOut    '<---- Dit hier er tussen zetten
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            ftst & "\" & [B1] & "-" & [E1] & " " & oc(j), Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
 
@snb
Uw code slaat de files op met dezelfde naam geloof ik en dus heb je maar een file (de eerste word overschreven)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan