Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Seitenansicht VBA

Seitenansicht VBA
amintire
Hallo alle zusammen,
würde gerne bei der Listauswahl in der UserForm die entsprechende Tabelle anzeigen lassen,
also Seitenansicht, nur dann bleibt es hängen.
Also die Seitenansicht soll bei Auswahl angezeigt werden,
die UserForm geschlossen,
aber beim drucken oder beenden von der Seitenansicht soll sich die UserForm wieder öffnen.
Also das die Tabelle im Hintergrund gar nicht angezeigt wird.
https://www.herber.de/bbs/user/74627.xls
Gruß Amina
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Seitenansicht VBA
02.05.2011 10:42:35
Tino
Hallo,
kannst mal so versuchen. (getestet unter xl2007)
kommt als Code in UserForm1
Option Explicit 
 
Private Sub ComboBox1_Change() 
Dim intIndex As Integer 
With ComboBox1 
    If .ListIndex > -1 Then 
        On Error Resume Next 
            intIndex = Sheets(.Value).Index 
        On Error GoTo 0 
         
        If intIndex > 0 Then 
            If Not Sheets(intIndex).Visible = xlSheetVisible Then 
                intIndex = 0 
            End If 
        End If 
                 
        If intIndex > 0 Then 
            Me.Hide 
            Application.OnTime Now + TimeSerial(0, 0, 1), "'DruckVorschau """ & .Value & """'" 
        Else 
            MsgBox "Tabelle nicht vorhanden oder ausgeblendet" 
        End If 
    End If 
End With 
End Sub 
 
kommt als Code in Modul1
Option Explicit 
 
Sub DruckVorschau(strTabName$) 
    Sheets(strTabName).PrintPreview 
    Application.OnTime Now + TimeSerial(0, 0, 1), "TabellenAnsicht" 
End Sub 
 
Sub TabellenAnsicht() 
    UserForm1.Show 
End Sub 
Gruß Tino
Anzeige
Danke...
02.05.2011 10:47:56
amintire
Hallo Tino,
funktioniert super, vielen lieben Dank dafür.
Gruß
Amina
AW: Seitenansicht VBA
02.05.2011 10:58:27
fcs
Hallo Amintire,
hier der entsprechende Code für den Commandbutton des Userforms.
Wichtig ist, dass das Userform vor der Anzeige der Seitenvorschau ausgeblendet wird.
Gruß
Franz
Private Sub CommandButton1_Click()
With Me.ComboBox1
If .ListIndex = -1 Then
MsgBox "Bitte erst ein Tabellenblatt auswählen", vbInformation + vbOKOnly, _
"Seitenvorschau anzeigen"
Else
Me.Hide
Worksheets(Me.ComboBox1.Value).PrintPreview
Me.Show
End If
End With
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Seitenansicht in Excel VBA effektiv nutzen


Schritt-für-Schritt-Anleitung

Um die Seitenansicht in Excel VBA zu implementieren, befolge diese Schritte:

  1. UserForm erstellen: Öffne den VBA-Editor (ALT + F11) und füge eine UserForm hinzu.

  2. ComboBox hinzufügen: Platziere eine ComboBox auf der UserForm, um die Tabellenblätter auszuwählen.

  3. Code für die ComboBox: Füge den folgenden Code in die UserForm ein (z.B. UserForm1):

    Private Sub ComboBox1_Change()
       Dim intIndex As Integer
       With ComboBox1
           If .ListIndex > -1 Then
               On Error Resume Next
               intIndex = Sheets(.Value).Index
               On Error GoTo 0
    
               If intIndex > 0 Then
                   If Not Sheets(intIndex).Visible = xlSheetVisible Then
                       intIndex = 0
                   End If
               End If
    
               If intIndex > 0 Then
                   Me.Hide
                   Application.OnTime Now + TimeSerial(0, 0, 1), "'DruckVorschau " & .Value & "'"
               Else
                   MsgBox "Tabelle nicht vorhanden oder ausgeblendet"
               End If
           End If
       End With
    End Sub
  4. Code für das Modul: Füge diesen Code in ein Modul (z.B. Modul1) ein:

    Sub DruckVorschau(strTabName As String)
       Sheets(strTabName).PrintPreview
       Application.OnTime Now + TimeSerial(0, 0, 1), "TabellenAnsicht"
    End Sub
    
    Sub TabellenAnsicht()
       UserForm1.Show
    End Sub
  5. CommandButton hinzufügen: In der UserForm kannst Du einen CommandButton hinzufügen und diesen Code verwenden:

    Private Sub CommandButton1_Click()
       With Me.ComboBox1
           If .ListIndex = -1 Then
               MsgBox "Bitte erst ein Tabellenblatt auswählen", vbInformation + vbOKOnly, "Seitenvorschau anzeigen"
           Else
               Me.Hide
               Worksheets(Me.ComboBox1.Value).PrintPreview
               Me.Show
           End If
       End With
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Excel Druckvorschau wird nicht angezeigt

    • Lösung: Stelle sicher, dass das Tabellenblatt, das Du auswählen möchtest, sichtbar ist. Der Code prüft, ob das Blatt sichtbar ist, bevor die Druckvorschau angezeigt wird.
  • Fehler: UserForm bleibt hängen

    • Lösung: Überprüfe, ob der Code korrekt in die UserForm eingefügt wurde und dass Du die UserForm mit Me.Hide ausblendest, bevor die Druckvorschau startet.

Alternative Methoden

Eine alternative Methode zur Anzeige der Seitenansicht besteht darin, die Seitenansicht direkt über das Excel-Menü zu aktivieren, ohne VBA zu verwenden. Du kannst auch das Menü „Drucken“ nutzen, um die Druckvorschau anzuzeigen, allerdings bietet VBA mehr Flexibilität, um dies im Rahmen einer Benutzeroberfläche zu integrieren.


Praktische Beispiele

Wenn Du eine UserForm hast, die es den Benutzern ermöglicht, zwischen mehreren Tabellenblättern zu wählen, kann der oben genannte Code verwendet werden, um eine saubere und benutzerfreundliche Schnittstelle zu schaffen. Du kannst die ComboBox mit den Namen deiner Tabellenblätter füllen und den Code entsprechend anpassen.


Tipps für Profis

  • Verwendung von Error Handling: Implementiere On Error Resume Next und On Error GoTo 0, um die Benutzeroberfläche reibungslos zu halten und sicherzustellen, dass keine unerwarteten Fehler auftreten.

  • Dynamische Anpassungen: Du kannst die UserForm dynamisch anpassen, um zusätzliche Funktionen hinzuzufügen, wie z.B. das Drucken direkt aus der UserForm heraus, um die Benutzererfahrung zu verbessern.


FAQ: Häufige Fragen

1. Wie kann ich die Excel Seitenansicht anzeigen, ohne die UserForm zu schließen? Du kannst die UserForm minimieren oder auf eine andere Weise anpassen, um die Anzeige zu ermöglichen, ohne sie vollständig zu schließen.

2. Funktioniert dieser Code in allen Excel-Versionen? Der bereitgestellte Code wurde unter Excel 2007 getestet, sollte jedoch auch in neueren Versionen funktionieren. Teste ihn in Deiner spezifischen Umgebung, um sicherzugehen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige