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

Hoe kan ik in een voettekst verwijzen naar een cel?

Status
Niet open voor verdere reacties.

matthiej88

Gebruiker
Lid geworden
21 jan 2010
Berichten
85
Hallo!

In Excel ben ik een projectplan aan 't opstellen. De hoofdlijnen zijn klaar, alleen opmaaktechnisch moet er nog wat gebeuren. Het moet een standaardprojectplan worden, dus de voettekst e.d. veranderd per versie.

Nu was mijn plan om in de voettekst een verwijzing te maken naar een bepaalde cel, zodat de voettekst automatisch meeveranderd als de projectnaam veranderd.

Ik heb al verschillende oplossingen geprobeerd, en ik ben er achter dat dit alleen werkt in een macro. Alleen krijg ik de macro's uit andere voorbeelden niet op de goede manier aan de praat.

Heeft iemand een oplossing?

alvast bedankt,

Matthijs
 
Beste matthiej88 ;)

Kan je de gevonden macro's hier plaatsen ?

Groetjes Danny. :thumb:
 
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet.PageSetup
'tekst
.LeftHeader = Range("A1")
'getal: punt is decimaal teken in VBA
.CenterHeader = Format(Range("B1"), "#,##0.00")
'datum
.RightHeader = Format(Range("C1"), "d-mmm-yy")
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
End With
End Sub

Bijvoorbeeld deze. Ik neem aan dat 'getal en 'tekst etc eruit moet?

Volgens mij is dit ook een functie en geen macro of wel? dus zou ik op een bepaalde manier de functie moeten zien te starten, anders gebeurd er nix lijkt me?

Misschien kraam ik wel onzin uit, ben niet heel bekent met VBA ;)
 
Beste matthiej88 ;)

tekst , getal en datum is louter informatie en staat in het groen.

Wat wil je erin plaatsen ?
In A1 tekst
In B1 tekst
In C1 datum

Probeer deze dan eens:

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet.PageSetup
'tekst
.LeftHeader = Range("A1")
'tekst
.CenterHeader = Range("B1")
'datum
.RightHeader = Format(Range("C1"), "d-mmm-yy")
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
End With
End Sub

Plaats deze code in Blad1 van de VBA editor via ALT+F11

Groetjes Danny. :thumb:
 
Matthijs, Header is Koptekst en Footer is voettekst. Als je dus alles wat bij Header staat naar Footer overbrengt isje probleem mi opgelost
Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet.PageSetup
'tekst
.LeftHeader = ""
'tekst
.CenterHeader = ""
'datum
.RightHeader = ""
.LeftFooter = Range("A1")
.CenterFooter = Range("B1")
.RightFooter = Format(Range("C1"), "d-mmm-yy")
End With
End Sub
 
Ik heb de code in vba ingevoerd, alleen gebeurd er niets met printen. Moet deze functie niet op de 1 of andere manier geactiveerd worden??

Daarnaast moet deze opmaak worden toegepast op twee tabbladen en staat de bron in nog een ander tabblad.

wordt 't dan range = ("tabbladnaam!A1") ?

Dan nog een probleem, voor de datum moet ook het woordje "datum" komen te staan. Deze combinatie staat al in 1 cel (via tekst.samenvoegen). Komt de datum er dan wel goed uit?
 
Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet.PageSetup
    .LeftFooter = ['Tabbladnaam'!A1]
    .CenterFooter = ['Tabbladnaam'!B1]
    .RightFooter = "Datum: " & Format(['Tabbladnaam'!C1], "d-mmm-yy")
End With
ActiveSheet.PrintPreview
End Sub
Vervang tabbladnaam door de werkelijke naam v/h blad. Zet in C1 enkel de datum
Door de PrintPreview kan je het afdrukresultaat zien. Deze regel mag je uiteraard verwijderen in de uiteindelijke toepassing
 
bedankt voor de snele reactie!

De enige vraag die blijft staan is hoe ik deze macro uberhaupt opstart.. Uit de tekst dacht ik te halen dat hij dat doet voor 't printen, maar met printen komt het er niet bij uit..
 
Oké, ik heb er zelf een macro van gemaakt. Dit werkt dus sowieso. Als ik dit inbak bij de print-macro klopt het altijd.

Maar toch, kan het ook automatisch?

Dit heeft geen haast, 't is meer nieuwsgierigheid;)

Trouwens, kan het komen doordat ik automatisch bereken uit had staan? (zo werkt ie een stuk sneller;))
 
Laatst bewerkt:
Zet de macro zoals hij is in ThisWorkbook. Dan wordt hij automatisch opgestart bij elke printopdracht.
Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet.PageSetup
    .LeftFooter = ['Tabbladnaam'!A1]
    .CenterFooter = ['Tabbladnaam'!B1]
    .RightFooter = "Datum: " & Format(['Tabbladnaam'!C1], "d-mmm-yy")
End With
ActiveSheet.PrintPreview
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan