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

Forumthread: Tabelle in Textbox anzeigen lassen

Tabelle in Textbox anzeigen lassen
25.07.2008 15:46:56
Jan
Moin,
ich habe in Excel 2003 per VBA ein Formular erstellt mit einer textbox und einem commandbutton. Zudem habe ich eine Telefonliste im Tabellenblatt1 mit Name, Vorname und Telefonnummer (spalte a bis c) die ca 100 Einträge enthält.
Ich möchte nun, dass diese Tabelle in der Textbox angezeigt wird, wenn ich auf den Commandbutton drücke. Dabei soll die Tabellenstruktur in der textbox übernommen werden. Also ähnlich dem Aussehen, wenn ich eine kleine Tabelle von Excel nach Word kopieren. Irgendwie muss diese Tabelle (a1:c100) in die Textbox eingebettet werden.
Ich hoffe ich konnte mein Problem soweit verdeutlichen, dass es verständlich geworden ist.
Viele Grüße
Jan

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle in Textbox anzeigen lassen
25.07.2008 16:12:35
Matthias
Hallo
Naja die Tabelle selbst, so wie sie angezeigt ist, kan ich nicht in eine Terxtbox bringen. (ein Anderer vielleicht)
Aber eine ähnliche Struktur wie der Aufbau aus 3 Spalten und 100 Zeilen ist schon möglich.
https://www.herber.de/bbs/user/54137.xls
Kommt das so für Dich in Frage?
Gruß Matthias

Anzeige
AW: Tabelle in Textbox anzeigen lassen
25.07.2008 16:40:10
Jan
Danke Matthias,
vielen Dank für Deine Hilfe. Die Textbox sieht gut aus. Wenn Du jetzt noch eine Idee hast, wie das Ganze auch noch in Spaltenform gebracht werden kann, ist das Ergebnis perfekt. Die Namen und Nummern sind alle unterschiedlich lang und verzerren die Anzeige und die Spalten gehen durch die Verschiebung dann verloren.
Gruß
Jan

Anzeige
Überdenk mal den Vorschlag von ransi ...
25.07.2008 19:25:00
ransi
Hallo Jan
Überdenk mal den Vorschlag von ransi ...
... ich bin da voll auf seiner Seite :o)
Userbild
Gruß Matthias

AW: Tabelle in Textbox anzeigen lassen
25.07.2008 17:51:43
ransi
HAllo JAn
Wenn es dir hauptsächlich um die Tabellendarstellung geht, schau dir das mal an:
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit



Private Sub UserForm_Initialize()
CommandButton1.TakeFocusOnClick = False
With TextBox1
    .MultiLine = True
    .WordWrap = False
    .ScrollBars = fmScrollBarsBoth
    .Font.Name = "Courier"
    .Font.Underline = True
End With
End Sub


Private Sub CommandButton1_Click()
Dim Arr
Arr = Sheets("Tabelle1").Range("A1:C100")
Dim tmp
Dim L As Long
Dim S As Integer
Redim tmp(UBound(Arr))
For L = 1 To UBound(Arr)
    For S = 1 To UBound(Arr, 2)
        If Len(Arr(L, S)) = 0 Then
            Arr(L, S) = Space(20) & "|" 'Wenn mehr Zeichen in den Zellen sein können: anpassen.
            Else:
            Arr(L, S) = Space(20 - Len(Arr(L, S))) & Arr(L, S) & "|"
        End If
        tmp(L) = tmp(L) & Arr(L, S)
    Next
Next
TextBox1.Text = Join(tmp, vbCrLf)
End Sub

ransi

Anzeige
Wenn du dich...
25.07.2008 18:06:33
ransi
Hallo
...allerdings dazu durchringen könntest eine ListBox zu nehmen, wirds erheblich einfacher.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 3
End Sub

Private Sub CommandButton1_Click()
Dim arr
arr = Sheets("Tabelle1").Range("A1:C300")
ListBox1.List = arr
End Sub

ransi

Anzeige
AW: Tabelle in Textbox anzeigen lassen
29.07.2008 10:29:00
Jan
Danke für Eure Hilfe. Das hat mir sehr weitergeholfen.
Gruß
Jan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Tabelle in Textbox anzeigen lassen


Schritt-für-Schritt-Anleitung

Um eine Excel-Tabelle in einer Textbox anzuzeigen, kannst du die folgenden Schritte befolgen. Dieses Beispiel basiert auf Excel 2003 und verwendet VBA:

  1. Öffne dein Excel-Dokument und gehe zu dem Arbeitsblatt, auf dem deine Telefonliste (z.B. Name, Vorname, Telefonnummer) gespeichert ist.

  2. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Füge ein UserForm hinzu: Klicke im Menü auf "Einfügen" und dann auf "UserForm".

  4. Füge eine Textbox und einen CommandButton hinzu: Ziehe eine Textbox (TextBox1) und einen CommandButton (CommandButton1) auf das Formular.

  5. Füge folgenden VBA-Code in das UserForm ein:

    Private Sub UserForm_Initialize()
        CommandButton1.TakeFocusOnClick = False
        With TextBox1
            .MultiLine = True
            .WordWrap = False
            .ScrollBars = fmScrollBarsBoth
            .Font.Name = "Courier"
            .Font.Underline = True
        End With
    End Sub
    
    Private Sub CommandButton1_Click()
        Dim Arr
        Arr = Sheets("Tabelle1").Range("A1:C100")
        Dim tmp
        Dim L As Long
        Dim S As Integer
        ReDim tmp(UBound(Arr))
        For L = 1 To UBound(Arr)
            For S = 1 To UBound(Arr, 2)
                If Len(Arr(L, S)) = 0 Then
                    Arr(L, S) = Space(20) & "|"
                Else
                    Arr(L, S) = Space(20 - Len(Arr(L, S))) & Arr(L, S) & "|"
                End If
                tmp(L) = tmp(L) & Arr(L, S)
            Next S
        Next L
        TextBox1.Text = Join(tmp, vbCrLf)
    End Sub
  6. Schließe den VBA-Editor und kehre zu Excel zurück. Starte das UserForm, um die Tabelle in der Textbox anzuzeigen, wenn du auf den Button klickst.


Häufige Fehler und Lösungen

  • Fehler: Textbox zeigt keine Daten an.

    • Lösung: Stelle sicher, dass die Daten im Bereich "A1:C100" vorhanden sind und die Range korrekt angegeben wurde.
  • Fehler: Die Textbox wird nicht korrekt formatiert.

    • Lösung: Überprüfe die Einstellungen für .WordWrap und .Font. Verwende die Schriftart "Courier", um die Spalten gleichmäßig anzuzeigen.

Alternative Methoden

Eine einfachere Möglichkeit, die Daten darzustellen, wäre die Verwendung einer ListBox anstelle einer Textbox. Hier ist ein Beispiel, wie du eine ListBox nutzen kannst:

  1. Füge eine ListBox (ListBox1) zum UserForm hinzu.
  2. Ändere den Code wie folgt:

    Private Sub UserForm_Initialize()
        ListBox1.ColumnCount = 3
    End Sub
    
    Private Sub CommandButton1_Click()
        Dim arr
        arr = Sheets("Tabelle1").Range("A1:C100")
        ListBox1.List = arr
    End Sub

Mit dieser Methode wird die Tabelle in einer gut strukturierten Form angezeigt.


Praktische Beispiele

Ein praktisches Beispiel wäre, eine Telefonliste Vorlage zu erstellen. Du kannst die oben genannten Schritte nutzen, um die Daten einer Telefonliste in einer Textbox oder ListBox anzuzeigen. Dies ist besonders nützlich, um die Übersichtlichkeit der Daten beim Anrufen oder Nachschlagen zu verbessern.


Tipps für Profis

  • Vermeide leere Zellen in deiner Tabelle, um die Darstellung zu verbessern. Fülle leere Zellen mit Platzhaltern wie "-" oder "N/A".
  • Nutze die Möglichkeit, die Textbox oder ListBox dynamisch zu erweitern, wenn du die Anzahl der Datensätze erhöhst.
  • Experimentiere mit verschiedenen Schriftarten und -größen, um die Lesbarkeit zu optimieren.

FAQ: Häufige Fragen

1. Kann ich auch Word Tabellen in eine Textbox einfügen?
Nein, das Einfügen von Word-Tabellen in eine Excel-Textbox ist nicht möglich. Du kannst jedoch die Struktur der Excel-Tabelle verwenden, um dein Ziel zu erreichen.

2. Welche Excel-Version benötige ich für diese Methode?
Dieses Tutorial basiert auf Excel 2003, die Vorgehensweise ist jedoch ähnlich in neueren Versionen, jedoch könnten einige Menüpunkte abweichen.

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