Avatar billede Klaus123 Mester
12. november 2012 - 12:35 Der er 3 kommentarer og
1 løsning

Indsæt sidetal i celler

Hej

Jeg vil gerne have indsat side x af y i en celle på hver side

Jeg har følgende macro som indsætter x fra side 2. Jeg skal have lavet den om så den indsætter side x af y på alle sider:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim vPageNo As Variant
Dim vTotalPages As Variant
Dim x As Long
Dim lOffSet As Long

  lOffSet = 1
  vTotalPages = ExecuteExcel4Macro("get.document(50)")
  For x = 0 To vTotalPages - 1
      vPageNo = ExecuteExcel4Macro("index(get.document(64)," & x & ")")
      Range("G" & vPageNo + lOffSet) = x + 1
  Next

End Sub


Venlig hilsen
Klaus
Avatar billede supertekst Ekspert
12. november 2012 - 13:08 #1
Evt. kunne du anvende Sidefod og indsætte sideNr og SiderIalt, med mindre det skal være via VBA.
Avatar billede Klaus123 Mester
12. november 2012 - 13:22 #2
Det skal indsættes i en celle, da det ligger på række med 7 andre celler hvor der er streger imellem cellerne.
Avatar billede supertekst Ekspert
12. november 2012 - 13:57 #3
Kunne du evt. prøve at sende en kopi af filen eller model på et par sider.
@-adresse under min profil.
Avatar billede supertekst Ekspert
14. november 2012 - 13:52 #4
Rem Øverste 7 / Nederste 4 kopieres
Const antalHeader = 7
Const antalFooter = 4
Const antalRækkerPrSide = 50

Dim antalSider As Integer
Public Sub FormaterSider()
Dim sideNr As Long, antalSider As Long
    Application.ScreenUpdating = False
   
    antalSider = ActiveSheet.HPageBreaks.Count + 1
   
    If antalSider > 1 Then
        indsætEkstraRækker antalSider
    End If
   
End Sub
Private Sub indsætEkstraRækker(antalSider)
Dim side As Integer, række As Integer
    For side = 2 To antalSider
Rem Header - afsæt plads
        række = ((side - 1) * antalRækkerPrSide) + 1
       
        Range("H" & CStr(række - 1)) = side - 1 & " af " & antalSider
       
        Rows(CStr(række) & ":" & CStr(række)).Select
       
        For r = 1 To antalHeader
            Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Next r
       
Rem indsæt header
        Range("A1:G7").Copy _
            Destination:=Range("A" & CStr(række))
           
Rem juster sidenr
        Range("G" & række + 1) = side
       
Rem Footer
        række = række + antalRækkerPrSide - antalFooter
        Rows(CStr(række) & ":" & CStr(række)).Select

        For r = 1 To antalFooter
            Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Next r
       
        Range("A47:G50").Copy _
            Destination:=Range("A" & CStr(række))
    Next side
   
    række = ((side - 1) * antalRækkerPrSide) + 1
    Range("H" & CStr(række - 1)) = side - 1 & " af " & antalSider

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



Seneste spørgsmål Seneste aktivitet
I går 19:14 Acer Af buls i PC
I går 17:06 Lyd fra Vandkøling Af Hansen96 i PC
I går 16:01 Epson ET-2860 Af Hans Christian i Printere
I går 13:02 PC uden blæser til køling, findes det? Af Uvanga i PC
29/0517:41 signatur Ny Outlook Af PS2017 i E-mail programmer