Textbox mehrmals verwenden.
Jockel
ich habe eine Tabelle, da sind in der Spalte C ab Zeile 7 Daten drin. Weil die Datenmenge manchmal recht groß ist, wollte ich die Spalte C durchlaufen und in jede Zelle, wo Text drin ist (egal, wie viel) diesen in eine Textbox kopieren und die gefüllte Textbox nachhher dahin kopieren, wo der Text entnommen wurde.
Dannach noch die Zeile so hoch machen, dass die Textbos reinpasst.
Ich habe das mal so programmiert, dass es für die Zelle C7 funktioniert.
With Worksheets("Übersicht")
.TextBox1.ShapeRange.Left = .Range("C7").Left + 4
.TextBox1.ShapeRange.Top = .Range("C7").Top + 4
.TextBox1.ShapeRange.Width = .Range("C7").Width - 4
.TextBox1.Value = .Range("C7").Value
.Range("C7").Value = ""
.TextBox1.Font.Size = 11
.TextBox1.AutoSize = True
.Range("C7").RowHeight = .TextBox1.Height + 4
End With
Das funktioniert soweit. Nun das Problem:
Ich habe auf dem Tabellenblatt die benötigte Textbox einmal als "Textbox1" abgelegt. (Das ist ein Muster, da sie betimmte Formatierungen haben soll) Die soll zur verarbeitung der Daten verwendet werden. Wenn ich nun den Code einmal in C7 durchlaufen lasse, schnappt sich der Code die Textbox und verwendet sie für C7.
Wenn der Code nun weiter läuft und in C8 Daten in eine Textbox schreiben will, würde er die, von zuvor verwendete C7 verwenden. Das heist, das ursprüngliche Muster wird bin nach ganz unten durchgerreicht.
Nun meine Fragen dazu.
- wie kann ich den Code so verwenden, dass sich der Code von der Textbox1 nur eine KOPIE macht und diese verwendet. Sprich, das Muster Textbox1 soll immer für alle Zellen verfügbar sein.
- Wie bekomme ich das ganze in eine Schleife, damit die Spalte C komplett durchlaufen wird. Im Prinzip würde es da reichen, wenn ich immer nur prüfen, WENN NICHT LEER.
Hoffe, ich konnte alles gut erklären, sonst bitte fragen.
Danke mal
Jockel
Anzeige