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

VBA: Tabelle als Fenster ausgeben?!

Forumthread: VBA: Tabelle als Fenster ausgeben?!

VBA: Tabelle als Fenster ausgeben?!
Hacki
Hallo Leute,
ich habe ein Programm erstellt, das mir Datensätze aus der Liste filtert, sie in anderen Tabellenblätter ausgibt.
Dann habe ich ein "extra" programmiert, das mir eine gesamttabelle von bestimmten Daten auf Tabellenblatt3 einfügt.
Doch nun hatte ich für mein Programm noch weitere Ideen, und mir ist klar geworden das ich nicht alle neuen sachen in weiteren Tabellenblätter einfügen kann, dass wäre dann zu unübersichtlich.
Ich wollte fragen wie oder ob es möglich ist in VBA die zuvor erstellte tabelle (tabellenblatt3) so zu konfigurieren, das sie mir wir eine Messagebox oder eine andere art in VBA ausgibt?
Hattet ihr vielleicht da erfahrung und würdet mir eine andere methode empfehlen?
Mfg
TG
Anzeige
Tabelleninhalt in UserForm ausgeben
01.07.2010 12:34:00
NoNet
Hallo TG,
die einfachste Möglichkeit ist folgende :
- Erstelle ein UserForm und vergrößere dieses entsprechend
- Füge in das UserForm per "Werkzeugsammlung - (Rechtsklick) - Zusätzliche Steuerelemente - Microsoft Office Spreadsheet 10.0 - OK" ein sog. "Spreadsheet-Objekt ein"
- Weise dem UserForm per Rechtsklick - "Code anzeigen" folgenden VBA-Code zu :
Private Sub UserForm_Activate()
With Spreadsheet1
Worksheets("Tabelle3").Range("A1:Z100").Copy
.Range("A1").Paste
.Columns.AutoFit
.Range("A1").Select
End With
Application.CutCopyMode = False
End Sub
Beim Öffnen/Anzeigen des UserForms wird nun also immer der Inhalt des Bereiches A1:Z100 der "Tabelle3" in das Spreadsheet-Objekt kopiert.
Der Inhalt kann darin zwar editiert werden, er wird jedoch NICHT in das Tabellenblatt zurück geschrieben !
Hier ein kleines Beispiel : https://www.herber.de/bbs/user/70360.xls
Gruß, NoNet
gegen    2:1

Anzeige
AW: Tabelleninhalt in UserForm ausgeben
01.07.2010 13:40:31
Hacki
@NoNet
Danke erstmal für die Mühe, leider ist (Zusätzliche Steuerelemente) inaktiv, das heißt ich kann es nicht anklicken. woran kann das legen? Habe office 2003
AW: Tabelleninhalt in UserForm ausgeben
01.07.2010 13:59:09
Hacki
Soooorrrryyy hab mein fehler gefunden und teste es mal!
AW: Tabelleninhalt in UserForm ausgeben
01.07.2010 14:24:08
Hacki
Hey NoNet
wie kann ich das mit meinem Programm verknüpfen, so das ich nicht immer es Userform wählen muss?
Anzeige
K.A. - ich kenne Dein Programm doch gar nicht...
01.07.2010 14:35:57
NoNet
Hallo Hacki,
wie kann ich das mit meinem Programm verknüpfen, so das ich nicht immer es Userform wählen muss?
Keine Ahnung - woher soll ich denn Dein Programm kennen ?
Mit etwas VBA-Kenntnissen kannst Du den Tabellenblattnamen und den Bereich anpassen..
Gruß, NoNet
gegen    2:1

Anzeige
AW: K.A. - ich kenne Dein Programm doch gar nicht...
01.07.2010 14:37:43
Hacki
okay trotzdem danke ;)
;
Anzeige

Infobox / Tutorial

Tabelle in VBA als Fenster ausgeben


Schritt-für-Schritt-Anleitung

  1. UserForm erstellen:

    • Öffne den VBA-Editor (ALT + F11).
    • Klicke im Menü auf "Einfügen" und wähle "UserForm".
    • Vergrößere das UserForm, um ausreichend Platz für die Tabelle zu schaffen.
  2. Spreadsheet-Objekt hinzufügen:

    • Rechtsklick auf das UserForm und wähle "Werkzeugsammlung".
    • Klicke auf "Zusätzliche Steuerelemente".
    • Aktiviere "Microsoft Office Spreadsheet 10.0" und klicke auf "OK".
    • Ziehe das Spreadsheet-Objekt auf das UserForm.
  3. VBA-Code zuweisen:

    • Rechtsklick auf das UserForm und wähle "Code anzeigen".
    • Füge den folgenden VBA-Code ein:
    Private Sub UserForm_Activate()
       With Spreadsheet1
           Worksheets("Tabelle3").Range("A1:Z100").Copy
           .Range("A1").Paste
           .Columns.AutoFit
           .Range("A1").Select
       End With
       Application.CutCopyMode = False
    End Sub
  4. UserForm anzeigen:

    • Du kannst die UserForm nun per Makro oder bei einem bestimmten Ereignis (wie Button-Klick) anzeigen lassen.

Häufige Fehler und Lösungen

  • Fehler: "Zusätzliche Steuerelemente" inaktiv

    • Überprüfe, ob du die richtige Version von Microsoft Office hast. In diesem Fall wird Office 2003 verwendet, was die Verwendung bestimmter Steuerelemente einschränken kann.
  • Fehler beim Kopieren aus dem Excel-Blatt

    • Stelle sicher, dass der Bereich "A1:Z100" in "Tabelle3" tatsächlich Daten enthält. Ansonsten wird der Spreadsheet leer angezeigt.

Alternative Methoden

Eine weitere Möglichkeit wäre die Verwendung von Formularen anstelle von UserForms. Du kannst ein einfaches Formular erstellen, das die Daten direkt anzeigt, ohne ein Spreadsheet-Objekt zu verwenden. Hierbei kannst du Textfelder für die einzelnen Datenfelder nutzen, um die Übersichtlichkeit zu erhöhen.


Praktische Beispiele

Ein einfaches Beispiel für die Verwendung dieser Methode könnte so aussehen:

  1. Erstelle ein UserForm mit einem Button.
  2. Füge den oben genannten Code in das UserForm ein.
  3. Der Button könnte den Inhalt von "Tabelle3" in das Spreadsheet-Objekt kopieren.

Hier ein Beispiel, wie du das UserForm mit einem Button verknüpfen kannst:

Private Sub CommandButton1_Click()
    UserForm1.Show
End Sub

Tipps für Profis

  • Daten dynamisch laden: Du kannst den Bereich, der in das Spreadsheet kopiert wird, dynamisch gestalten, indem du die UsedRange-Eigenschaft verwendest, um immer den aktuellen Datenbereich zu erfassen.

  • Interaktive UserForms: Füge Steuerelemente wie Kombinationsfelder oder Optionsfelder hinzu, um die Benutzeroberfläche interaktiver zu gestalten und den Nutzern die Auswahl von Daten zu ermöglichen.


FAQ: Häufige Fragen

1. Wie kann ich den Inhalt des Spreadsheet-Objekts in das Excel-Blatt zurückschreiben?
Derzeit ist der Code so konzipiert, dass der Inhalt nur angezeigt, aber nicht zurückgeschrieben wird. Du müsstest zusätzliche Logik hinzufügen, um dies zu ermöglichen.

2. Funktioniert dies in allen Excel-Versionen?
Die oben genannten Schritte basieren auf Microsoft Office 2003. Neuere Versionen haben möglicherweise andere Steuerelemente und Optionen, die du berücksichtigen solltest.

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