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

Forumthread: Tab in TextBox

Tab in TextBox
27.04.2005 08:53:31
Gregor
Guten Tag zusammen
Ich habe nochmals ein Anliegen:
Was muss ich machen, dass die Angaben in der TextBox mit Tab gesetzt werden, das heisst, dass der Text/die Zahl aus den Variabeln nach den Angaben in "" "" Spaltenförmig (schön ausgerichtet) dargestellt werden. Zudem enthalten die StWerte Dezimalen von 10 bis 100.
Ist das möglich?
Wie formatiere ich eine Zahl in einer Variabel mit Tausenderzeichen 0'000 ?
Jetzt habe ich es behellfsmässig mit einer ungefähren Anzahl Leerschlägen gelöst:
AngabenBahnhof.TextBox1.Text = vbNewLine & Bahnhof & " hat folgende Perronanlage:" _
& vbNewLine _
& WorksheetFunction.Substitute(StWerte, Chr(32), " ") _
& vbNewLine _
& vbNewLine & "Höchste Perronkante P" & PerronhöheMax _
& vbNewLine & "Tiefste Perronkante P" & PerronhöheMin _
& vbNewLine & vbNewLine & "Ein-/Aus-/Umsteiger " & Frequenzen _
& vbNewLine & vbNewLine _
& "Zuständigkeiten:" _
& vbNewLine & "P-RV-IK " & P_RV_IK _
& vbNewLine & "P-RL Region " & P_RL_Region _
& vbNewLine & "P-KS Region " & P_KS_Region _
& vbNewLine & "I-PM Filiale " & I_PM_Filiale _
& vbNewLine & "LKM Bezirk " & WorksheetFunction.Substitute(LKM, Chr(95), "") _
& vbNewLine & vbNewLine & "Bemerkung: " & Bemerkung _
& vbNewLine & vbNewLine & "Aktualisiert: " & Datum
Freundliche Grüsse
Gregor
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tab in TextBox
27.04.2005 09:14:00
MichaV
Hi,
Tabulator setzt Du in der TextBox mit vbTab, also Text & vbTab & Variable
Formatieren kannst Du mit Format(Date, "dd:mm:ss") oder Format(Zahl, "#.##") usw, schau dazu in die Excel- Hilfe.
Gruß- Micha
Danke
27.04.2005 09:26:34
Gregor
Micha
Vielen herzlichen Dank.
Gregor
AW: Tab in TextBox
27.04.2005 10:34:03
Gregor
Hallo zusammen
Anschlussfrage:
Nach dem Tab folgt immer eine 2- oder 3-stellige Zahl. Wie kann ich diese immer nach rechts ausrichten. Also
080 Meter (jedoch ohne Null)
230 Meter
Lösungsansatz (Länge ist Variabel:
& vbTab & Format(Länge, "###") & " Meter"
Gruss Gregor
Anzeige
AW: Tab in TextBox
27.04.2005 12:05:35
MichaV
Hi,
da fällt mir nur folgendes Prinzip ein:
TextBox1.Text = "Text 1" & vbTab & Space(10 - Len("aa")) & "aa" & vbCrLf & _
"Text zwei" & vbTab & Space(10 - Len("aaa")) & "aaa" & vbCrLf & _
"Text 3" & vbTab & Space(10 - Len("aaaa")) & "aaaa" & vbCrLf & _
"Text vier" & vbTab & Space(10 - Len("aaaaa")) & "aaaaa" & vbCrLf
ABER: Es wird langsam kompliziert. Du musst nämlich eine Monospace- Schriftart nehmen, damit alle Zeichen gleich breit dargestellt werden. Das ist. z.B. Arial monospaced.
Die Sache mit der TextBox kommt ja daher, daß Du die Daten nicht in einer MsgBox unterbringen konntest. Da wäre es ja auch nicht mit vbTab und rechtsbündige Ausrichtung gegangen. Nun hast Du die TextBox und versuchst, es so richtig gut aussehen zu lassen. Das setzt die TextBox aber Grenzen. Darum denk dorch mal drüber nach, ob Du in Deinem UserForm nicht für jede Variable eine TextBox oder ein Label einbauen willst. Die kannst Du dann beliebig Platzieren und Ausrichten, Farben zuweisen oder Fett schreiben.
Das könnte dann so aussehen, wie in der Beispieldatei.
https://www.herber.de/bbs/user/21775.xls
Gruß- Micha
Anzeige
AW: Tab in TextBox
27.04.2005 12:59:14
Gregor
Micha
Vielen Dank für deine Hilfe. Der 2. Ansatz ist tatsächlich prüfenswert. Das ganze hat sich effektiv anstelle der MsgBox entwickelt. Allerdings ist nun auch diese Lösung recht gut (evt. etwas kompliziert). Nochmals herzlichen Dank.
Gregor
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Text in einer TextBox mit Tabulatoren ausrichten


Schritt-für-Schritt-Anleitung

Um Texte in einer TextBox in Excel VBA mit Tabulatoren auszurichten, kannst Du die folgenden Schritte befolgen:

  1. TextBox hinzufügen: Füge eine TextBox zu Deinem UserForm hinzu.
  2. Text formatieren: Verwende vbTab für Tabulatoren, um den Text zu formatieren. Zum Beispiel:
    TextBox1.Text = "Erster Eintrag" & vbTab & "Zweiter Eintrag"
  3. Zahlen formatieren: Um eine Zahl mit Tausendertrennzeichen darzustellen, nutze die Format-Funktion:
    Dim Zahl As Double
    Zahl = 1000
    TextBox1.Text = "Die Zahl ist: " & Format(Zahl, "#,##0")
  4. Mehrere Zeilen: Für mehrere Zeilen kannst Du vbNewLine oder vbCrLf verwenden:
    TextBox1.Text = "Erster Eintrag" & vbTab & Format(Zahl, "#,##0") & vbNewLine & "Zweiter Eintrag"

Häufige Fehler und Lösungen

  • Text wird nicht ausgerichtet: Stelle sicher, dass Du eine Monospace-Schriftart (z.B. Arial) verwendest, damit alle Zeichen gleich breit dargestellt werden.
  • Tabulatoren funktionieren nicht: Überprüfe, ob Du vbTab korrekt verwendet hast. Die Syntax sollte immer Text & vbTab & Variable sein.
  • Zahlenformatierung funktioniert nicht: Achte darauf, dass Du die Format-Funktion richtig anwendest, um die gewünschte Darstellung zu erreichen.

Alternative Methoden

Falls Du die TextBox für die Anzeige von Daten nicht verwenden möchtest, gibt es auch alternative Möglichkeiten:

  1. Labels verwenden: Du kannst mehrere Labels verwenden, um die Ausrichtung zu steuern. Jedes Label kann eine Variable darstellen.
  2. MsgBox anpassen: Beachte, dass in einer MsgBox keine Tabulatoren wie vbTab funktionieren. Du müsstest stattdessen auf andere Formatierungen zurückgreifen.
  3. Excel Zellen nutzen: Du kannst die Daten auch direkt in Excel-Zellen ausgeben und dort die Ausrichtung sowie die Formatierung besser steuern.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du Tabulatoren in einer TextBox nutzen kannst:

TextBox1.Text = "Artikel" & vbTab & "Preis" & vbTab & "Menge" & vbNewLine & _
                "Apfel" & vbTab & Format(1.5, "#,##0.00") & vbTab & 10 & vbNewLine & _
                "Banane" & vbTab & Format(1.2, "#,##0.00") & vbTab & 20

In diesem Beispiel werden die Artikel, Preise und Mengen in der TextBox tabellarisch dargestellt.


Tipps für Profis

  • Formatierung optimieren: Experimentiere mit der Format-Funktion, um unterschiedliche Darstellungen für Zahlen und Texte zu erzielen.
  • Daten dynamisch einfügen: Nutze Schleifen, um mehrere Daten in die TextBox einzufügen, was die Wartung des Codes erleichtert.
  • Interaktive Elemente: Überlege, ob Du Buttons oder andere Steuerelemente hinzufügen möchtest, um die Benutzeroberfläche interaktiver zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich eine Zahl immer rechtsbündig ausrichten?
Du kannst das erreichen, indem Du Space und die Länge der Zahl berücksichtigst:

TextBox1.Text = "Text" & vbTab & Space(10 - Len(Zahl)) & Format(Zahl, "###")

2. Funktioniert vbTab auch in MsgBoxen?
Nein, vbTab funktioniert nicht in MsgBoxen. Für die Darstellung in einer MsgBox musst Du andere Methoden verwenden, wie z.B. die Verwendung von Leerzeichen oder Zeilenumbrüchen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige