Tekst og bunnbakgrunnsfarge

July 4  by Eliza

Leonid spurte om det var en måte å sette en bakgrunnsfarge for topp- eller bunnteksten på en side. Det enkle svaret er at det er ikke en slik mulighet i Excel. Det er et par måter rundt problemet, men. For eksempel, hvis du bruker Excel 2002 eller Excel 2003 kan du legge til grafikk i en topp- eller bunntekst. Med riktig grafikk, kan du gjøre synes det at topp- og bunnteksten inneholder farge når, faktisk, det er grafikken som inneholder farge.

Et annet alternativ er å lage "falske" topp- og bunntekst. Hvis alt du ønsker å gjøre er å ha en annen farge header, så kan du bruke de første par rader av regnearket som din spissen. Disse radene du kan formatere som ønsket, inkludert å sette farge på radene. Du kan deretter instruere Excel til å gjenta de radene på toppen av hver side i utskriften (oss Sideoppsett dialogboksen for dette).

Gjenta rader for bunntekstområdet blir mer problematisk, som Excel ikke inneholder en funksjon som gjør at du kan gjenta rader nederst på hver side. Opprette en makro for å legge til rader for topp- og bunntekst er mulig, men det resulterer i en endring i regneark-rader må legges for de falske topp- og bunntekst.

Som et eksempel, bør du vurdere følgende makro. Det forutsetter at du ønsker ett-tommers grenser på venstre og høyre side av utskriften, og at du vil skrive ut bare 46 rader per side. Det setter marginene og deretter går gjennom regnearket, og legger de falske topp- og bunntekstrader, som er nødvendig. (Fordi makro justerer utformingen av regnearket, må du lagre regnearket før du kjører makroen.)

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 Pagesize As Integer

LHeader = "øverst til venstre"
CHeader = "Top Center"
LFooter = "Bottom Left"
CFooter = "Bottom Center"
Pagesize = 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
Avslutt med

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

Kråke = 1
Gjør Inntil kråke> CBottom
Hvis Crow Mod Pagesize = 1 Da
Rader (Crow) .Velg
Selection.Insert Shift: = xlDown
Selection.Insert Shift: = xlDown
CBottom = CBottom + 2

Celler (kråke, 1) .Value = LHeader
Celler (kråke, 4) .Value = CHeader
Range (Cells (kråke, 1), _
Celler (kråke, 8)). Interior.ColorIndex = 34
Range (Cells (Crow + 1, 1), _
Celler (kråke + 1, 8)). Interior.ColorIndex = xlNone
Crow = kråke + 2
AnnetHvis- Crow Mod Pagesize = Pagesize - 1 Deretter
Rader (Crow) .Velg
Selection.Insert Shift: = xlDown
Selection.Insert Shift: = xlDown
CBottom = CBottom + 2

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

LastPageNumber = sidenummer + 1
LastRow = LastPageNumber * Pagesize
Hvis CBottom <> LastRow Deretter
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

Kråke = 2
Gjør Inntil kråke> CBottom
Hvis Crow Mod Pagesize = 1 Da
Celler (kråke, 1) .PageBreak = xlManual
End If
Crow = kråke + 1
Loop
End Sub

For å endre antall linjer per side, bare endre verdien tilordnet sidestørrelsen variabel. Du kan også endre hva som vises i "header" og "bunntekst" området ved å endre hva som er tilordnet LHeader, CHeader, LFooter, og CFooter variabler.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (3056) gjelder for Microsoft Excel 97, 2000, 2002, og 2003.