Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1500to1504
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
VBA Textbox in Spalten und Zeilen
05.07.2016 23:12:05
Thomas
Hallo Gemeinde,
ich habe auch nach einer Recherche hier leider diesmal nix gefunden, obwohl schon sehr oft mir hier geholfen wurde:)
Daher folgende Frage...
Ich habe in einer UserForm eine Textbox mit einer Multiline.
Dort werden je nach Eingabe meiner Bearbeitung eine unterschiedliche Anzahl von Zeilen eingetragen (1-100 St.)
Diese Zeilen sind aber nach dem Quelldaten sehr suboptimal für meine Bedürfnisse erstellt.
Diese Zeilen will ich in einer Tabelle eintragen...
und zwar so:
Quelldatei:
Zeile1Wert1‡Zeile1Wert2‡Zeile1Wert3...‡Zeile1Wert21
Zeile2Wert1‡Zeile2Wert2‡Zeile2Wert3...‡Zeile2Wert21
...
Diese Daten sollen in einem Worksheet (Name: "FQUELLE")
in der Spalte A:
Zeile1Wert1
Zeile2Wert1
in der Spalte B:
Zeile1Wert2
Zeile1Wert2
...etc...
drinstehen.
Sorge bereitet mir aber, das die einzelnen Werte keine direkte Zeichenbegrenzung haben, daher kann ich nicht splitten oder mit MID(...) arbeiten.
Also dachte ich das die Textbox auf einzelne Zeilen getrennt wird, und danach eine "Text In Spalten" Funktion für jede Zeile genutzt wird.
Info: das Zeichen "‡" ist die Trennung für die Text in Spalten Funktion.
Am Ende einer Zeile steht ein Char(10) gefolgt von ein Char(13)
Ich möchte wenn es geht die Bearbeitung auf ein Button setzen, oder in einer Prozudur innerhalb einer UserForm (also bitte kein 2. Modul).
Fragen die ihr mir stellen werdet...
- Ja, die Zeilen an sich können unterschiedlich lang sein, (mal 20 , mal 21, mal nur 8)
- NEIN, die Qelldaten kann ich nicht anders erstellen lassen.
- Excel ist bei meiner Userform garnicht sichtbar, kann also für Eingaben nicht genutzt werden.
Vielen Dank für eure Ideen und

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
TB in Tabellenbereich
06.07.2016 15:22:31
Michael
Hi,
das geht z.B. so:
Private Sub CommandButton1_Click()
Dim t$, i&, z&, k&
Dim zArr, wArr, ausArr ' Zeilen-/Wertearray
Dim qSh As Worksheet
Dim zlS$ ' zlS wie Zeilenschaltung
zlS = Chr(13) & Chr(10)
' so ist das mit Strg+Enter,
' sonst 10 und 13 tauschen...
t = TextBox1.Text
Set qSh = Sheets("FQUELLE")
qSh.Cells.Clear
z = 1
zArr = Split(t, zlS)
For i = LBound(zArr) To UBound(zArr)
If LTrim(Trim(zArr(i))) > 0 Then
wArr = Split(zArr(i), "‡")
If UBound(wArr) >= 0 Then
ReDim ausArr(0, 1 To UBound(wArr) + 1)
For k = 0 To UBound(wArr): ausArr(0, k + 1) = wArr(k): Next
qSh.Range("A" & z).Resize(, UBound(ausArr, 2)) = ausArr
z = z + 1
End If
End If
Next
End Sub
Datei zum Testen: https://www.herber.de/bbs/user/106809.xlsm
Schöne Grüße,
Michael

Anzeige
AW: TB in Tabellenbereich
06.07.2016 19:11:52
Thomas
Hallo,
Vielen Dank das hat mir sehr geholfen;)
Jetzt habe ich aber ein Simples Problem :
Die Daten sind ja jetzt in der Exceltabelle.
Nun soll die Zelle C1 bis L1000 alles kopiert werden
Habe es mit
TEXTBOX=...Rande(C1:L101) probiert, aber das geht nicht...
Kannst du mir da nochmal helfen...
Auf MultiLine ist die Textbox

AW: TB in Tabellenbereich
06.07.2016 19:14:44
Thomas
Meinte Range nicht Rande
Also Workshops("FQUELLE").Range("C1:L1000).value

AW: TB in Tabellenbereich
06.07.2016 21:30:18
Michael
Ich hatte gedacht, Du willst die Daten aus der Textbox RAUSbringen.
Wozu überhaupt eine Textbox? Glaubst Du, jemand schaut sich 2000 Zeilen in einer TEXTBOX an?
Erkläre mir bitte mal, worum es überhaupt geht und lade am besten eine Beispieldatei hoch.
Schöne Grüße,
Michael
Anzeige

369 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige