Avatar billede Flemming_MC Nybegynder
02. maj 2014 - 16:46 Der er 1 løsning

Hop til øverste celle på næste side

Hej

Jeg har en macro der generer en side med oplysninger som jeg kopiere og sætter ind i et tomt ark - så får jeg macroen til at springe ned til øverste celle på næste side for at den så sætter det næste side der laves ind der og det fortsætter den med til alle sider er genereret - jeg kan så rette på alle de generede sider og gemme alle siderne som en PDF.

Mit problem er bare det at nogle gange så indsættes der pludselig to tomme linjer efter 3-4 sider er sat ind og rykker det hele og passer  ikke med siderne. Der sker ikke denne fejl når jeg køre macroen en step by step, så jeg kan ikke se hvad der går galt.

Et andet problem ved den løsning jeg har googlet mig frem til er, at preformace er lav fordi for at dette virker skal screen update være slået til.
Nogen der har en bedre måde at gøre det på?

Macro del til sideskiftet:
...
Sheets("Dannede rekvisitioner").Activate
If c = 0 Then
Range("A1").Select
Else

Application.ScreenUpdating = True
Range("A1").Select
    Zeile = ActiveWindow.ScrollRow + 1
    ActiveWindow.LargeScroll Down:=c
    ActiveCell.Offset(ActiveWindow.ScrollRow - Zeile, 0).Select
Application.ScreenUpdating = False
End If
...

Håber det er forståeligt eller sender jeg gerne regneark med eksempel. Jeg er ret ny med VBA og finder meget hjælp på diverse sider og især denne. Bruger Office 2010 og har testet fejlen sker på flere maskiner.
Avatar billede Flemming_MC Nybegynder
18. august 2014 - 17:03 #1
Hej

Har selv løst det med denne kode:
'Kopier til arket "Dannede rekvisitioner"
Start_udskriftsområde = Rektype & "Start"
Slut_udskriftsområde = Rektype & "Slut"

If C = 0 Then
IngRows = Range(Start_udskriftsområde, Slut_udskriftsområde).Rows.Count
Range(Start_udskriftsområde, Slut_udskriftsområde).EntireRow.Select
Selection.Copy
Sheets("Dannede rekvisitioner").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Else
Range(Start_udskriftsområde, Slut_udskriftsområde).EntireRow.Select
Selection.Copy
Sheets("Dannede rekvisitioner").Select
ActiveCell.Offset(IngRows - 1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Rekvisitioner").Select
IngRows = Range(Start_udskriftsområde, Slut_udskriftsområde).Rows.Count
End If
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