Avatar billede mvest Nybegynder
12. juni 2008 - 13:13 Der er 6 kommentarer og
1 løsning

Tekstboks eller integerWord i et ark, der tilgodeser sideskift.

Jeg har et ark, der fungerer som et standardiseret skema baseret på udskrivning efter udfyldelse.
Kolleger uden særligt kendskab til regneark eller tekstbehandling skal udfylde skemaet.

På den første tredjedel af side 1 (øverst på arket) er et område, der skal udfyldes ved afkrydsning.
På Resten af side 1 og de kommende sider skal der være plads til, at man kan skrive som i et worddokument.

Mit problem er, at når jeg indsætter en tekstboks eller Word som et objekt, bliver der ikke taget højde for sideskift på en udskrift. Tekst forsvinder simpelthen. Desuden tages der ikke højde for angivelse af udskriftsområde.  Jeg vil gerne undgå, at mine kolleger selv skal til at indsætte nye tekstbokse og angive udskriftsområde.

Jeg kan ikke lave det i et worddokument, selvom det nok lyder mest nærliggende, fordi skemaet øverst på side 1 bliver udfyldes ved hjælp af en masse beregninger i andre ark.

Mit eget bedste bud er, at jeg indsætter 5 tekstbokse, 1 til hver side og angiver udskriftsområde til 5 sider, men det giver det problem, at hvis der kun bliver skrevet på 2 sider, bliver der stadig printet 5 sider ud.

Hvordan kan man tage højde for dette, og helst uden makro, da jeg med stor besvær har undgået det indtil nu i arket.

Hilsen Mvest.
Avatar billede supertekst Ekspert
17. juni 2008 - 14:20 #1
Måske skal "Word indblandes" - via VBA kan man godt fra Word arbejde med et regneark.
Men der kunne også være andre muligheder..

Du skal velkommen til at sende filen til: pb@supertekst-it.dk
Avatar billede mvest Nybegynder
19. juni 2008 - 13:44 #2
Er sendt.

Håber, du kan hjælpe.
Avatar billede supertekst Ekspert
19. juni 2008 - 13:50 #3
Ok - afventer - så vil det vise sig...
Avatar billede mvest Nybegynder
24. juni 2008 - 14:48 #4
Hej "supertekst".

Det virker, hvilket er rigtig fint.

Er i tvivl om følgende:

- Hvorfor siger arket, når jeg åbner, at "denne projektmappe indeholder kæder til andre kildedata"?

- Når jeg går ind i programkode, kan jeg se, at 3 gange .xla, der kræver et password, jeg ikke har.

Det virker som sagt helt fint, men jeg har nødvendigvis brug for at have fuld kontrol med arket.

hilsen Mvest
Avatar billede supertekst Ekspert
24. juni 2008 - 17:38 #5
Hej "mvest"

Jeg oplever ikke nogle melding vedr. "kæder"

Der er ikke indlagt xla'er - der er kun den nævnte kode i ThisWorkbook & de 6 elevark.

Hvilken version af Excel anvender du?
Avatar billede mvest Nybegynder
25. juni 2008 - 08:04 #6
Jeg kan maile skærmbillederne til dig.

Bruger excel 2003
Avatar billede supertekst Ekspert
26. juni 2008 - 23:13 #7
Rem SIDESKIFT SKAL VÆRE INDSAT MELLEM DE ENKELTE TEKSTBOKSE
Rem =======================================================
Rem KODEN INDSÆTTES I THISWORKBOOK
Rem ==============================
Sub klargørTilUdskrift()
Dim cc As Shape, antalTekstBokse, antalTegn, HPræk

Rem udskriver kun, hvis B1 er udfyldt
    If ActiveSheet.Range("B1") <> "" Then

        antalTekstBokse = ActiveSheet.Shapes.Count
       
Rem dummy-opsætning
        ActiveSheet.PageSetup.PrintArea = "$B$1:$F500"  'Skønnet maximum
       
        If antalTekstBokse > 0 Then
            For tb = 1 To antalTekstBokse
                With ActiveSheet.Shapes(tb)
                    navn = .Name
       
                    Set cc = ActiveSheet.Shapes(navn)
                    cc.Select
                    antalTegn = Len(Selection.Text)
           
                    If antalTegn = 0 And tb > 1 Then
Rem hvilken række er der sideskift
                        HPræk = ActiveSheet.HPageBreaks(tb - 1).Location.Row
                        ActiveSheet.PageSetup.PrintArea = "$B$1:$F$" & CStr(HPræk - 1)
                        udSkriv
                        Exit Sub
                    End If
                End With
            Next tb
        End If
   
Rem alle tekstbokse udfyldt - tilpas sideopsætning
        HPræk = ActiveSheet.HPageBreaks(antalTekstBokse).Location.Row
        ActiveSheet.PageSetup.PrintArea = "$B$1:$F$" & CStr(HPræk - 1)
       
        udSkriv
    End If
End Sub
Private Sub udSkriv()
    ActiveSheet.PrintOut
End Sub
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