Avatar billede dlgtjs Juniormester
26. oktober 2015 - 10:56 Der er 12 kommentarer og
1 løsning

Makro som printer vilkårlig antal sider

håber nogen kan hjælpe med at ændre denne makro så den kan have flere funktioner i en linie..? som den er nu så stopper min printer for hver sætning og tænker før næste betingelse udskrives.
ActiveWindow.SelectedSheets.PrintOut From:=10, To:=10, Copies:=1, _
        Collate:=True, IgnorePrintAreas:=False
    ActiveWindow.SelectedSheets.PrintOut From:=11, To:=12, Copies:=1, _
        Collate:=True, IgnorePrintAreas:=False
    ActiveWindow.SelectedSheets.PrintOut From:=14, To:=14, Copies:=1, _
        Collate:=True, IgnorePrintAreas:=False
    ActiveWindow.SelectedSheets.PrintOut From:=22, To:=22, Copies:=1, _
        Collate:=True, IgnorePrintAreas:=False
    ActiveWindow.SelectedSheets.PrintOut From:=23, To:=24, Copies:=1, _
        Collate:=True, IgnorePrintAreas:=False
    ActiveWindow.SelectedSheets.PrintOut From:=27, To:=30, Copies:=1, _
        Collate:=True, IgnorePrintAreas:=False
    ActiveWindow.SelectedSheets.PrintOut From:=32, To:=32, Copies:=1, _
        Collate:=True, IgnorePrintAreas:=False
    ActiveWindow.SelectedSheets.PrintOut From:=36, To:=36, Copies:=1, _
        Collate:=True, IgnorePrintAreas:=False
    ActiveWindow.SelectedSheets.PrintOut From:=39, To:=40, Copies:=1, _
        Collate:=True, IgnorePrintAreas:=False
   
' Tilbage til "Makro"-sheet
ActiveWorkbook.Sheets("MAKRO").Select
Avatar billede supertekst Ekspert
26. oktober 2015 - 11:05 #1
Er det de samme ark, der skal udskrives hver gang?
Avatar billede dlgtjs Juniormester
26. oktober 2015 - 11:17 #2
ja i denne makro er det de samme sider hver gang
Avatar billede supertekst Ekspert
26. oktober 2015 - 11:25 #3
Ok - er på vej med et forslag
Avatar billede supertekst Ekspert
26. oktober 2015 - 11:57 #4
Sub udskrivFlereSider()
    Sheets("Ark1").Activate
   
    ExecuteExcel4Macro "PRINT(2,10,10,1,,,,,,,,2,,,TRUE,,FALSE)"
    ExecuteExcel4Macro "PRINT(2,11,12,1,,,,,,,,2,,,TRUE,,FALSE)"
    ExecuteExcel4Macro "PRINT(2,14,14,1,,,,,,,,2,,,TRUE,,FALSE)"
    ExecuteExcel4Macro "PRINT(2,22,24,1,,,,,,,,2,,,TRUE,,FALSE)"
    ExecuteExcel4Macro "PRINT(2,27,30,1,,,,,,,,2,,,TRUE,,FALSE)"
    ExecuteExcel4Macro "PRINT(2,32,32,1,,,,,,,,2,,,TRUE,,FALSE)"
    ExecuteExcel4Macro "PRINT(2,36,36,1,,,,,,,,2,,,TRUE,,FALSE)"
    ExecuteExcel4Macro "PRINT(2,39,40,1,,,,,,,,2,,,TRUE,,FALSE)"


    ActiveWorkbook.Sheets("MAKRO").Select
End Sub
Avatar billede dlgtjs Juniormester
26. oktober 2015 - 12:00 #5
ser fint ud, kommer bare til at tænke på om det ikke kan stå i en linie alle siderne
Avatar billede supertekst Ekspert
26. oktober 2015 - 12:08 #6
Er det fordi du så "gøre noget mere" - som du har antydet i dit spørgsmål.
Selv VBA-koden til udskriften kan godt skrives en gang, som så anvendes til alle sider.

Hvad er det der evt. skal gøres mere?
Avatar billede dlgtjs Juniormester
26. oktober 2015 - 12:14 #7
Beklager jeg ikke formulerede mig korrekt :)

jeg vil gerne have en makro linie som udskriver siderne:
1-2-5-8-9-10-11-12-22-24-26
disse sider er bare et eksempel
Avatar billede dlgtjs Juniormester
26. oktober 2015 - 12:34 #8
makroen skriver til min standart printer, men printet vil ikke ud
Avatar billede supertekst Ekspert
26. oktober 2015 - 12:49 #9
Bedre?
Public Sub udskrivFlereSider()
    udskriv "10-11-12-14-22-23-24-27-28-29-30-32-36-39-40"
End Sub
Sub udskriv(siderne)
Dim tabel As Variant, t As Integer, sideNr As String
    Sheets("Ark1").Activate
    tabel = Split(siderne, "-")
   
    For t = 0 To UBound(tabel)
        sideNr = tabel(t)
        ExecuteExcel4Macro "PRINT(2," & sideNr & "," & sideNr & ",1,,,,,,,,2,,,TRUE,,FALSE)"
    Next t
   
    ActiveWorkbook.Sheets("MAKRO").Select
End Sub
Avatar billede supertekst Ekspert
26. oktober 2015 - 12:54 #10
Alternativ:

Public Sub udskrivFlereSider()
    udskriv "10-11-12-14-22-23-24-27-28-29-30-32-36-39-40"
End Sub
Sub udskriv(siderne)
Dim tabel As Variant, t As Integer, sideNr As String
    Sheets("Ark1").Activate
    tabel = Split(siderne, "-")
   
    For t = 0 To UBound(tabel)
        sideNr = tabel(t)
        ActiveWindow.SelectedSheets.PrintOut From:=sideNr, To:=sideNr, Copies:=1, _
            Collate:=True, IgnorePrintAreas:=False
    Next t
   
    ActiveWorkbook.Sheets("MAKRO").Select
End Sub
Avatar billede dlgtjs Juniormester
26. oktober 2015 - 12:55 #11
Det ligner fredagsslik :)
jeg vender lige tilbage efter test
Avatar billede dlgtjs Juniormester
26. oktober 2015 - 13:40 #12
smid lige et svar så siger jeg mange tak for hjælpen :)
Avatar billede supertekst Ekspert
26. oktober 2015 - 14:21 #13
Det får du og selv tak
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

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