Sidhuvud och sidfot bakgrundsfärg

January 11

Leonid frågade om det fanns ett sätt att ställa in en bakgrundsfärg för sidhuvudet eller sidfoten på en sida. Det enkla svaret är att det inte finns en sådan möjlighet i Excel. Det finns ett par vägar runt problemet, dock. Till exempel, om du använder Excel 2002 eller Excel 2003 kan du lägga till en bild till ett sidhuvud eller sidfot. Med rätt bild kan du göra det verkar som sidhuvud och sidfot som innehåller färg när i själva verket är det den bild som innehåller färgen.

Ett annat alternativ är att göra "falska" sidhuvud och sidfot. Om allt du vill göra är att ha en annan färg header, då kan du använda den första par rader i kalkylbladet som din rubrik. Dessa rader kan du formatera som önskat, inklusive att färgen på raderna. Du kan sedan instruera Excel att upprepa dessa rader överst på varje sida i utskriften (oss dialogrutan Utskriftsformat för detta).

Upprepande rader för sidfoten området blir mer problematiskt, eftersom Excel inte innehåller en funktion som gör att du kan upprepa rader längst ner på varje sida. Skapa ett makro för att lägga rader för sidhuvud och sidfot är möjligt, men det resulterar i en förändring i dina kalkylblads-rader måste läggas till för de falska sidhuvud och sidfot.

Som ett exempel, betrakta följande makro. Det förutsätter att du vill ha en-tums gränsar till vänster och höger om utskriften, och att du vill skriva ut endast 46 rader per sida. Den sätter marginalerna och sedan steg genom kalkylbladet, lägga de falska sidhuvud och sidfot rader, vid behov. (Eftersom makrot justerar utformningen av kalkylbladet, se till att du sparar kalkylbladet innan du kör makrot.)

Sub FakeHeaderFooter ()
Dim LHeader As String
Dim CHeader As String
Dim LFooter As String
Dim CFooter As String
Dim CBottom As Integer
Dim Crow As Integer
Dim Size As Integer

LHeader = "Övre vänster"
CHeader = "Top Center"
LFooter = "Bottom Left"
CFooter = "Bottom Center"
Size = 46

Med ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
.PrintArea = ""
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints (1)
.RightMargin = Application.InchesToPoints (1)
.TopMargin = Application.InchesToPoints (0)
.BottomMargin = Application.InchesToPoints (0)
.HeaderMargin = Application.InchesToPoints (0)
.FooterMargin = Application.InchesToPoints (0)
.PrintHeadings = False
.Orientation = XlPortrait
End Med

CBottom = Range ("A16000"). End (xlUp) .Row

Crow = 1
Gör Tills Crow> CBottom
Om CROW Mod Size = 1 Sedan
Rader (Crow) .Select
Selection.Insert Shift: = xlDown
Selection.Insert Shift: = xlDown
CBottom = CBottom + 2

Celler (Crow, 1) .Value = LHeader
Celler (Crow, 4) .Value = CHeader
Range (Cells (Crow, 1), _
Celler (Crow, 8)). Interior.ColorIndex = 34
Range (Celler (Crow + 1, 1), _
Celler (Crow + 1, 8)). Interior.ColorIndex = xlNone
Crow = Crow + 2
ElseIf Crow Mod Size = Size - 1 Då
Rader (Crow) .Select
Selection.Insert Shift: = xlDown
Selection.Insert Shift: = xlDown
CBottom = CBottom + 2

Celler (Crow + 1, 1) .Value = LFooter
Celler (Crow + 1, 4) .Value = CFooter
Range (Celler (Crow + 1, 1), _
Celler (Crow + 1, 8)). Interior.ColorIndex = 34
Crow = Crow + 2
Else
Crow = Crow + 1
End If
Loop

LastPageNumber = Number + 1
LastRow = LastPageNumber * Size
Om CBottom <> LastRow Därefter
Range (Cells (LastRow, 1), _
Celler (LastRow, 8)). Interior.ColorIndex = 34
Celler (LastRow, 1) .Value = LFooter
Celler (LastRow, 4) .Value = CFooter
End If

CBottom = Range ("A16000"). End (xlUp) .Row

Crow = 2
Gör Tills Crow> CBottom
Om CROW Mod Size = 1 Sedan
Celler (Crow, 1) .PageBreak = xlManual
End If
Crow = Crow + 1
Loop
End Sub

För att ändra antalet rader per sida, bara ändra värdet som tilldelats Size variabeln. Du kan också ändra vad som visas i "header" och "sidfot" område genom att ändra vad som tilldelas till LHeader, CHeader, LFooter och CFooter variabler.

ExcelTips är din källa för kostnadseffektiv Microsoft Excel utbildning. Detta tips (3056) gäller för Microsoft Excel 97, 2000, 2002, och 2003.