Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Userform Textbox mit Zellbereich befüllen

Userform Textbox mit Zellbereich befüllen
13.12.2006 17:28:39
Emanuel
Hallo Makro-Profis,
folgendes Problem habe ich. Und zwar habe ich auf einem Tabellenblatt einen Zellbereich identifiziert und den möchte ich in einer Textbox in einen Formular anzeigen lassen. Der Zellbereich sieht etwa so aus, dass in der ersten Zeile die Bezeichnung der Spalten steht und in den unteren Zeilen die Werte. Wie kann ich die Textbox dazu kriegen, in der ersten Zeile die Bezeichnung anzuzeigen und darunter die Werte. Der Zellbereich ist 5 Spalten breit.
Vielen Dank schon mal im Voraus.
MFG
Emanuel

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Textbox mit Zellbereich befüllen
14.12.2006 12:17:36
fcs
Hallo Emanuel,
du muss dann eine entsprechende Initialize- oder Activate-Prozedur für das Userform erstellen, die vor der Anzeige des Userforms die Daten in die Textbox schreibt. Allerdings ist es insgesamt einfacher so einen Tabellenausschnitt in einer Listbox darzustellen.
Gruss
Franz
Hier ein Beispiel-Code: Damit die Spalten sauber ausgerichtet werden muss für den Font der Textbox eine nicht-proportionale Schrift festgelegt werden. Die Texte in den Spalten werden jeweils mit Leerzeichen aufgefüllt. Als kleine Hilfe hab ich auch den entsprechenden Code zu Initialisierung einer Listbox eingefügt.

Private Sub UserForm_Initialize()
Dim DatenTextBox As Range, wks As Worksheet, SpalteZeichen(1 To 5) As Integer
Set wks = ActiveWorkbook.Worksheets("Tabelle1") 'Tabelle mit Daten
'Textboxvariante
Set DatenTextBox = wks.Range("I37:M44") 'Bereich mit Daten ohne Spaltentitel
Me.TextBox1.MultiLine = True
Me.TextBox1.Font.Name = "Courier New" 'oder nicht proportionale Schrift
Me.TextBox1.Value = ""
'Max Zeichen je Spalte ermitteln
For J = 1 To DatenTextBox.Columns.Count
For I = 1 To DatenTextBox.Rows.Count
SpalteZeichen(J) = IIf(Len(DatenTextBox(I, J)) > SpalteZeichen(J), _
Len(DatenTextBox(I, J)), SpalteZeichen(J))
Next
Next
'Text eintragen
For I = 1 To DatenTextBox.Rows.Count
If I <> 1 Then Me.TextBox1.Value = Me.TextBox1.Value & vbLf
For J = 1 To DatenTextBox.Columns.Count
If J = 1 Then
Me.TextBox1.Value = Me.TextBox1.Value & DatenTextBox(I, J)
Else
Me.TextBox1.Value = Me.TextBox1.Value & String(SpalteZeichen(J - 1) - _
Len(DatenTextBox(I, J - 1)), " ") & "|" & DatenTextBox(I, J)
End If
Next
Next
'Listboxvariante
Set DatenTextBox = wks.Range("I38:M44") 'Bereich mit Daten ohne Spaltentitel
Me.ListBox1.ColumnHeads = True
Me.ListBox1.ColumnCount = 5
Me.ListBox1.RowSource = "'" & wks.Name & "'!" & DatenTextBox.Address
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige