Avatar billede martin181 Nybegynder
04. april 2005 - 11:59 Der er 21 kommentarer og
1 løsning

Pagebreak i et Excel ark?

Hejsa!

Jeg sidder og skal have skrevet en masse oversigter ud til nogle kunder - der skal skiftes side efter hvert kundenummer - det gør jeg pt. manuelt... men jeg tænkte på om det ikke var muligt at lave en "søg/erstat" således at jeg når jeg mødte ordet kundenr så kunne jeg indsætte et pagebreak...

Er der nogen der kan hjælpe med det?
Avatar billede sjap Praktikant
04. april 2005 - 12:25 #1
Prøv med

Sub IndsætSideskift()

Previous = Worksheets("Ark2").Range("a1")
For Each c In Worksheets("Ark2").Range("a1:a1000")
    If c <> Previous Then
        ActiveSheet.HPageBreaks.Add Before:=c
    End If
    Previous = c
Next

End Sub

Husk at rette Ark2 og området til dit område.
Avatar billede sjap Praktikant
04. april 2005 - 12:33 #2
Med denne slettes de gamle sideskift inden de nye indsættes:

Sub IndsætSideskift()

Cells.PageBreak = xlPageBreakNone
Previous = Worksheets("Ark2").Range("a1")
For Each c In Worksheets("Ark2").Range("a1:a1000")
    If c <> Previous Then
        ActiveSheet.HPageBreaks.Add Before:=c
    End If
    Previous = c
Next

End Sub
Avatar billede kabbak Professor
04. april 2005 - 12:37 #3
Hvis du har ordet 'Kundenr' stående alene i kolonne A

Sub IndsætSideskift()
ActiveSheet.ResetAllPageBreaks
For Each c In ActiveSheet.Range("a1:a1000")
    If c = "kundenr" Then
        ActiveSheet.HPageBreaks.Add Before:=c.Offset(1, 0)
    End If
Next
End Sub
Avatar billede martin181 Nybegynder
04. april 2005 - 12:41 #4
Bare lige for en god ordens skyld... hvorhenne skal jeg indskrive koden?

og som jeg lige læser din kode, ret mig bare hvis jeg tager fejl, men jeg syntes det ser ud til at den bare laver sideskift når det er nødvendigt... det jeg efterlyser er at den hvergang den møder et bestemt ord indsætter sideskift...
Avatar billede kabbak Professor
04. april 2005 - 12:44 #5
højreklik på en arkfane, vælg vis programkode

På menulinien, Vælg nu Insert Module

Koden skal nu ind på det hvide til højre
Avatar billede martin181 Nybegynder
04. april 2005 - 12:46 #6
jeg forsøger og vender tilbage...
Avatar billede martin181 Nybegynder
04. april 2005 - 12:48 #7
lige endnu et spørgsmål...

hvordan eksekverer jeg koden?
Avatar billede sjap Praktikant
04. april 2005 - 13:52 #8
Tryk Alt-F8 og vælg makroen og tryk Afspil.
Avatar billede martin181 Nybegynder
04. april 2005 - 13:56 #9
det ser ud til at virek... der er dog et lille men... den laver sideskift efter kundenr... den skal helst lave det før...
Avatar billede sjap Praktikant
04. april 2005 - 14:05 #10
Hvilken en af funktionerne bruger du?
Avatar billede sjap Praktikant
04. april 2005 - 14:17 #11
Hvis du bruger kabbaks funktion, skal du vist blot ændre linien

ActiveSheet.HPageBreaks.Add Before:=c.Offset(1, 0)

til

ActiveSheet.HPageBreaks.Add Before:=c
Avatar billede martin181 Nybegynder
04. april 2005 - 14:36 #12
>>sjap
jeg prøvede at rette den til efter din anvisning... det gav mig en fejl... en tom boks med et hvidt kryds i en rød udfyldt cirkel og så skrev den 400 i boksen også... nogen ideer?
Avatar billede sjap Praktikant
04. april 2005 - 14:42 #13
Det forstår jeg ikke. Det virker fint her.

Hvor stopper den henne? Peger den på programmet og er der en linie, der er markeret med gult?
Avatar billede sjap Praktikant
04. april 2005 - 14:45 #14
Nåh ja. Hvis du bruger kabbaks forslag, kan du få en fejl i den første række.

Prøv at erstatte

For Each c In ActiveSheet.Range("a1:a1000")

med

For Each c In ActiveSheet.Range("a2:a1000")

Altså sørg for at den ikke starter i den første række (det er jo ikke nødvendigt med et manuelt sideskift her).
Avatar billede martin181 Nybegynder
04. april 2005 - 14:49 #15
så virker det... selvom det er kabbaks forslag der er taget udgangspunkt i, så er det dig, der har fundet rettelserne til det og hjulpet mig - så nu virker det - mange tak for hjælpen - du får pointene
Avatar billede kabbak Professor
04. april 2005 - 15:31 #16
Martin 181 > du skriver
04/04-2005 13:56:28
det ser ud til at virek... der er dog et lille men... den laver sideskift efter kundenr... den skal helst lave det før...

I dit spørgsmål skriver du:

Jeg sidder og skal have skrevet en masse oversigter ud til nogle kunder - der skal skiftes side efter hvert kundenummer.

Der for satte jeg sideskiftet efter kundenummer.

;-))
Avatar billede martin181 Nybegynder
04. april 2005 - 15:34 #17
>>kabbak

Sorry... min fejl... jeg skal åbenbart til at lære at formulere mig på dansk ;-)
Avatar billede sjap Praktikant
04. april 2005 - 18:30 #18
martin181 > Tak for pointene. Det var da pænt af dig, men når du nu bruger kabbaks forslag, så synes jeg principielt også at han skal have nogen af pointene (også selvom hans forslag i vid udstrækning ligner mit). Jeg har meget respekt for at du vil give point for den assistance du får undervejs, men at udelade den, der hvis løsning du bruger synes jeg er lidt urimeligt.

Jeg håber derfor du synes det er ok, hvis jeg opretter et nyt spørgsmål, hvor kabbak får halvdelen af pointene.
Avatar billede kabbak Professor
04. april 2005 - 18:32 #19
Ikke nødvendig sjab, det er helt fint, jeg kogte bare videre på dit svar.
Avatar billede sjap Praktikant
04. april 2005 - 18:36 #20
kabbak > Ja, men så fik jeg jo også point for at assistere, hvilket su jo også gjorde (bare uden at få point for det). Ret skal være ret.
Avatar billede martin181 Nybegynder
05. april 2005 - 08:42 #21
sjap > Du har helt ret... jeg burde have delt pointene...
kabbak > beklager...

Begge> kan I selv finde ud af at dele pointene? for jeg kan ikke gøre mere efter jeg har accepteret...
Avatar billede sjap Praktikant
05. april 2005 - 11:28 #22
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester