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

custom header inhoud is tekst uit cel

Status
Niet open voor verdere reacties.

sjonnie1974

Gebruiker
Lid geworden
19 okt 2011
Berichten
177
Hallo,

Ik wil graag in mijn custom header een tekst uit een cel zetten.
Nu doet een vba code dit voor mij, maar gevolg is dat dan de vba code lang duurt. Pagesetup via vba zorgt er kennelijk voor dat dit lang duurt.

Wat ik wil is eenmalig invoeren in customheader zoiets als =sheet1!d1, zodat altijd de tekst kan wijzigen in de header.

iemand een idee of dit kan en zo ja hoe?

bvd

John
 
John,

Ik heb geen idee welke VBA code je nu gebruikt, maar de onderstaande code werkt bij mij direct:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
    Sheets("Blad1").PageSetup.RightHeader = Sheets("Blad1").Cells(1, 1)
End If
End Sub

Grt. Peter
 
Erg blij met deze oplossing, hij doet het goed!
Euhm... ik heb zelf al even zitten prutsen, maar kwam er niet uit. Deze code prima, maar dan moet hij de tekst voor de header oppakken uit een ander tabblad.
kun je daar ook nog een over denken ajb?
 
John,

Een beknopte uitleg van de onderstaande code:
Code:
Sheets("Blad1").PageSetup.RightHeader = Sheets("Blad1").Cells(1, 1)

Deel 1: Sheets("Blad1").PageSetup.RightHeader = Op welke blad moet de koptekst worden weergegeven, in dit voorbeeld is dat Blad 1,

Deel 2: Sheets("Blad1").Cells(1, 1) = Waar staat de waarde die in de koptekst moet worden weergegeven, in dit voorbeeld staat die waarde in Blad 1, in rij 1, in kolom 1.

Als de tekst in de koptekst van een ander tabblad, bijvoorbeeld Blad 2, moet komen, en wel uit cel B3 dan ziet Deel 2 van de code er zo uit:
Code:
Sheets("Blad2").Cells(3, 2)

Duidelijk zo? ;)

Grt Peter
 
Laatst bewerkt:
Ik zou de code elders plaatsen:

Code:
private sub Workbook_open()
    Blad1.PageSetup.RightHeader = Blad1.Cells(1,4)
end sub
 
@John, graag gedaan, succes ermee.

@snb, je doet het erom hè!:) Uiteraard werkt de code ook.
Maar persoonlijk vind ik het een tekortkoming dat als je Cells(1, 4) wijzigt, je dit niet direct terugziet in de koptekst maar pas als het bestand opnieuw wordt geopend.

Grt Peter
 
Daar moet je dan wel erg veel overbodige gebeurtenisafhandeling voor over hebben... ;)
 
Misschien is onderstaande code dan een optie?

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Blad1.PageSetup.RightHeader = Blad1.Cells(1, 1)
End Sub
 
Niet schleecht, :)

Wellicht is deze gebeurtenis dan ook een optie:

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan