Just nu i M3-nätverket
Jump to content

Cellvärde i sidhuvudet


mr Nobody
 Share

Go to solution Solved by mr Nobody,

Recommended Posts

Hej.

 

Skulle behöva hjälp med att få upp ett cellvärde till sidhuvudet. 

Jag hittade några svar på forumet men det verkar inte funka för mig, kan vara

att dessa guider är för äldre varianter på Excel, använder själv Office 365.

 

Har förstått att man måste använda sig av VBA men jag lyckas inte få till koden så att

detta funkar klockrent.

 

Det jag vill göra är att värdet som finns i cellen J2 ( AND211010-3 ) i det aktuella bladet

skall finnas i det högra sidhuvudet i samma blad, så att det blir som på bilden. 

Jag antar att raden ovanför ( &Page/7 ) måste finnas med i koden också.

Går det att få så att detta uppdateras automatiskt så fort värdet i J2 ändras?

 

mvh Patrik

Skärmklipp.JPG

Link to comment
Share on other sites

Ove Söderlund

Det korta svaret är; Nej, det du vill göra stöds tyvärr inte i Excel.

 

Den enkla lösningen är att koppla ett makro till en knapp eller kortkommando och lägga in en kod i stil med:

 

Sub Test()

    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = "&P / &N" & Chr(10) & CStr(ActiveSheet.Range("J2"))
    End With

    ActiveSheet.PrintOut
    
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
    End With

End Sub

 

Du kan kanske labba med att simulera cell-referenser som beskrivs på följande sida:

How can I put a value from a cell into a footer or page header? / answers.microsoft.com

Lite som att gå över ån efter vatten att ge sig på detta kan jag tycka i detta fall...

 

 

Link to comment
Share on other sites

Hej.

Monshis metod skall funka om du har Macro aktiverat osv.  MEN den måste ligga på rätt plats.

 

Gå till VBA-redigeraren (Ctrl+F11).

Se till att projektutforskaren är framme (Ctrl+R)

dubbelklicka på "ThisWorkbook" som hör till ditt vba projekt (alltså filen du jobbar med) och klistra in en kod i stil med

 

Private Sub Workbook_BeforePrint(Cancel As Boolean)
   ActiveSheet.PageSetup.RightHeader = "&P/7" & vbLf & ActiveSheet.Range("j5").Value
End Sub

eller modifiera enligt ursprungskoden i Monshis inlägg och/eller Oves mer städade kod

 

VbLF är en radmatning (vb line feed) 

kolla alternativ här

https://excelchamps.com/vba/new-line/

eller använd Oves Chr med lämplig siffra

 

image.thumb.png.5d2a2dc4cfff38c5be21e2367354945c.png

 

 

 

 

Edited by MH_
Link to comment
Share on other sites

  • Solution

Hej.

 

Tack för hjälpen, nu lyckades jag få till det så att allt funkar. Jag kopplade koden till samma knapp som används vid utskriften så nu funkar det klockrent. Det vart inte så mycket kod i slutändan när man visste vilka som skulle användas 😏

 

Citat

Sub Utskrift_akt() '
 

Application.ScreenUpdating = False

 

Dim i As String


i = Sheets("Arbetsprotokoll").Range("AA22")


 Sheets(i).PageSetup.RightHeader = ""
        
 Sheets(i).PageSetup.RightHeader = "&P / 7" & Chr(10) & CStr(Sheets(i).Range("J2"))

Application.ScreenUpdating = True


Application.Dialogs(xlDialogPrint).Show Arg1:=2, Arg2:=1, Arg3:=7, Arg4:=1, Arg12:=3


End Sub

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...