Avatar billede Klaus W Ekspert
09. februar 2023 - 14:16 Der er 1 løsning

Ændring i VBA kode

Hej
Jeg har fået denne kode her i forummet og den kører upåklagelig.
Nu er det sådan at jeg gerne vil sætte 2 nye faneblade ind før fanebladet Stamdata der er det faneblad hvor jeg afkrydser og printer fra. Jeg har prøvet flere ændringer i linjen, ”For intRaekke = 5 To Worksheets.Count '<--Rettet til 5. Print første”, men uden resultat. Nogle der kan hjælpe?
På forhånd tak
Med venlig hilsen
Klaus W
Sub Rektangelafrundedehjørner4_Klik()

Dim intRaekke As Integer
Dim SidsteSide As Integer
Dim SiderUdskrevet As Integer

SiderUdskrevet = 0

On Error GoTo fejl:

If Worksheets.Count < 1 Then
MsgBox "Der er ingen sider at udskrive?"
End If

    For intRaekke = 5 To Worksheets.Count '<--Rettet til 5. Print første
         
            'Tilføjet - 2 for at læse X fra række 3 i Stamdata
            If Cells(intRaekke - 2, 2).Value = "x" Or _
                Cells(intRaekke - 2, 2).Value = "X" Then
 
        SidsteSide = Sheets(intRaekke).Range("G1")
   
                If Not (IsNumeric(SidsteSide)) Or SidsteSide = 0 Then
                MsgBox Worksheets(intRaekke).Name & " Celle G1 Er ikke et tal eller > 0?"
                Exit Sub
                End If

            Sheets(intRaekke).PrintOut From:=1, To:=SidsteSide
            SiderUdskrevet = SiderUdskrevet + 1
   
            End If
    Next

If SiderUdskrevet = 0 Then
MsgBox "Ingen sider valgt til udskrift."
End If
fejl:

    If Err.Number = 1004 Then
        MsgBox "Du skal indtaste et tal på Fane" & intRaekke & " celle G1"
  End If

End Sub
Avatar billede Klaus W Ekspert
13. februar 2023 - 09:29 #1
Jeg fik denne kode fra anden steds.

KW

Sub Rektangelafrundedehjørner4_Klik()
' https://www.mrexcel.com/board/threads/vba-to-print.1229672/
Dim intRaekke As Integer
Dim SidsteSide As Integer
Dim SiderUdskrevet As Integer
Dim lngWsIndex As Long        'will be used for Index of worksheets

SiderUdskrevet = 0

On Error GoTo fejl:
If Worksheets.Count < 1 Then
  MsgBox "Der er ingen sider at udskrive?"
End If

intRaekke = 5
With Worksheets("Stamdata")
  Do While .Cells(intRaekke - 2, 1).Value <> ""
    'Tilføjet - 2 for at læse X fra række 3 i Stamdata
    If LCase(.Cells(intRaekke - 2, 2).Value) = "x" Then
      Select Case intRaekke
        'rows in Stamdata referencing ws with Index 1 and 2: subtract 10 from intRaekke as you start with Index 5 at Row 3
        Case 13 To 14
          lngWsIndex = intRaekke - 10
        Case Else
          lngWsIndex = intRaekke + 2
      End Select
      SidsteSide = Worksheets(lngWsIndex).Range("G1")
      If Not (IsNumeric(SidsteSide)) Or SidsteSide = 0 Then
        MsgBox Worksheets(lngWsIndex).Name & " Celle G1 Er ikke et tal eller > 0?"
        Exit Sub
      End If
      Worksheets(lngWsIndex).PrintOut From:=1, To:=SidsteSide
      SiderUdskrevet = SiderUdskrevet + 1
    End If
    intRaekke = intRaekke + 1
  Loop
End With

If SiderUdskrevet = 0 Then
  MsgBox "Ingen sider valgt til udskrift."
End If

fejl:
If Err.Number = 1004 Then
  MsgBox "Du skal indtaste et tal på Fane" & intRaekke & " celle G1"
End If

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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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