Thema Datum  Von Nutzer Rating
Antwort
25.08.2021 15:07:48 Justin Kunze
Solved
25.08.2021 16:11:14 Mase
NotSolved
25.08.2021 23:02:31 Justin Kunze
NotSolved
26.08.2021 08:16:28 Mase
NotSolved
26.08.2021 09:32:21 Justin Kunze
NotSolved
26.08.2021 10:05:33 Mase
NotSolved
26.08.2021 11:11:12 Justin
NotSolved
26.08.2021 11:36:14 Mase
NotSolved
Rot Sheets(Array("Tabelle1", "Tabelle2")).Select Laufzeitfehler 9:
27.08.2021 07:48:18 Gast19719
NotSolved
27.08.2021 07:59:06 Mase
NotSolved
26.08.2021 10:00:40 Justin Kunze
NotSolved
26.08.2021 11:06:40 Mase
NotSolved
26.08.2021 11:28:49 Gast33529
NotSolved

Ansicht des Beitrags:
Von:
Gast19719
Datum:
27.08.2021 07:48:18
Views:
528
Rating: Antwort:
  Ja
Thema:
Sheets(Array("Tabelle1", "Tabelle2")).Select Laufzeitfehler 9:

Guten Morgen Mase,

Das hat jetzt auf beiden Weisen funktioniert.

Sowohl meine ursprüngliche, als auch deine laufen super.

Ich muss jetzt mal schauen, welche sich am besten im Gesamtkontext eignet. Ich danke dir schonmal für deine schnelle und sehr kompetente Hilfe.

Ich möchte diese ausgewählten Blätter nun auch noch drucken, und zwar am liebsten mit löschen von leeren Zeilen auf einzelnen, ausgewählten Tabellenblättern.

Und einige der Blätter müssen Hochformat, andere Querformat besitzen.

Dann soll eine Druckerauswahl erfolgen, Druckvorschau und dann soll gedruckt werden und die UserForm mit Unload me geschlossen werden.

Bisher habe ich das:

'Druckbereich festlegen:

Call LeereZeilenLöschen
Application.Dialogs(xlDialogPrinterSetup).Show
Sheets(Drucksammlung).PrintPreview
Sheets(Drucksammlung).Print
Me.Hide

'ausgeblendete Zeilen wieder einblenden einblenden:
Rows.Hidden = False

 

 

Sub LeereZeilenLöschen()
Dim Zeile, Letzte As Long

Dim ws as Worksheet

'Letzte Zeile mit Eintrag suchen:
Letzte = LastRow(ws)

MsgBox Letzte & " " & Zeile
'Zeilen ausblenden:
For Zeile = 1 To Letzte
   If Rows(Zeile).Text = "" Then
   MsgBox "Hier steht nichts"
   Rows(Zeile).EntireRow.Hidden = True
   Else
   MsgBox "Hier steht was"
   End If
Next Zeile

End Sub

Function LastRow(wks As Worksheet) As Long
    Dim lngFirst As Long, lngLast As Long, lngTmp As Long
    
    With Application
        If .CountA(wks.Cells) = 0 Then Exit Function 'Fehler Laufzeitfehler 91
        If .CountA(wks.Rows(wks.Rows.Count)) Then
            LastRow = wks.Rows.Count: Exit Function
        End If
        lngLast = wks.Rows.Count
        Do While lngLast > lngFirst + 1
            lngTmp = (lngFirst + lngLast) \ 2
            If .CountA(wks.Rows(lngTmp).Resize(lngLast - lngTmp)) Then _
               lngFirst = lngTmp Else lngLast = lngTmp
        Loop
        If .CountA(wks.Rows(lngLast)) Then LastRow = lngLast Else LastRow = lngFirst
    End With
End Function

Soweit so gut. Im Prinzip jedenfalls, doch er öffnet den Print-Befehl mindestens zweimal oder blendet manchmal die temporär verschwindenden Zeilen nicht wieder ein oder meckert anderweitig rum

Gibt es btw einen kurzen Befehl, wie ich beim Öffnen der UserForm einen Optionsbutton direkt aktivieren kann?

In der Form:

Sub UF_Drucken_Aktivieren()

optDrucken.Value = True

End Sub

Vielleicht kannst du mir bei diesem Problem noch helfen, das würde mich sehr glücklich machen :).

LG Justin

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
25.08.2021 15:07:48 Justin Kunze
Solved
25.08.2021 16:11:14 Mase
NotSolved
25.08.2021 23:02:31 Justin Kunze
NotSolved
26.08.2021 08:16:28 Mase
NotSolved
26.08.2021 09:32:21 Justin Kunze
NotSolved
26.08.2021 10:05:33 Mase
NotSolved
26.08.2021 11:11:12 Justin
NotSolved
26.08.2021 11:36:14 Mase
NotSolved
Rot Sheets(Array("Tabelle1", "Tabelle2")).Select Laufzeitfehler 9:
27.08.2021 07:48:18 Gast19719
NotSolved
27.08.2021 07:59:06 Mase
NotSolved
26.08.2021 10:00:40 Justin Kunze
NotSolved
26.08.2021 11:06:40 Mase
NotSolved
26.08.2021 11:28:49 Gast33529
NotSolved