Herbers Excel-Forum - das Archiv

Daten in Datenblatt schreiben

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
TextBox UserForm
Bild

Betrifft: Daten in Datenblatt schreiben
von: Josef

Geschrieben am: 04.01.2007 09:09:38
Hallo!
Wenn ich es richtig verstanden habe, dann sagt .ControlSource aus dass wenn ich in einer TextBox in einer UF eine Änderung durchführe, diese Änderung sofort im Tabellenblatt aktualisiert wird.
Ich habe in einer UserForm 110 TextBoxen von TextBox1 bis TextBox110.
Ich möchte jedoch erreichen dass nicht in allen Textboxen eine Änderung durchgeführt werden kann.
Dass z.B. in der TextBox6,11,16,21 usw. keine Änderung erfolgt sondern dfer darin stehende Wert bestehen bleibt und eine Änderung nur in den TextBoxen 7,8,9,10,12,13 usw. erfolgen kann.
Wie müßte ich hier bitte den VBA Text ändern?
Mit Case?
For int_Zähler = 1 To int_AnzFelder
'unter Hinzuziehung der Nummer des aktuellen Datensatzes
'der Inhalt der einzelnen Zellen des Datensatzes
'in die dafür vorgesehenen Textboxen geschrieben und
'diese Textbox als Controlsource eingerichtet
Controls("Textbox" & int_Zähler).ControlSource = r_Liste.Cells(lng_Datensatz, int_Zähler).Address
Next
Danke
Josef
Bild

Betrifft: AW: Daten in Datenblatt schreiben
von: Ramses

Geschrieben am: 04.01.2007 09:58:16
Hallo
Nein, nicht mit Case sondern, wenn keine Logik dahinter ist, mit
Me.Textbox1.enabled = False
Me.Textbox3.enabled = False
Me.TExtbox7.enabled = false
Beim anlegen eines neuen Datensatzes kannst du mit einer Schleife wie in deinem Beispiel alle wieder auf "True" setzen
Gruss Rainer
Bild

Betrifft: AW: Daten in Datenblatt schreiben
von: Josef

Geschrieben am: 04.01.2007 10:50:18
Hallo Rainer!
Danke für Deine Antwort.
Das wird leider nicht funktionieren.
Ich habe im Tabellenblatt F2 bis I2 Werte stehen und in der Zelle J2 eine Formel.
=F2+G2-I2.
Wenn ich jetzt über die TextBox einer UF die Werte eingebe
z.B.TextBox6 = F2, TextBox7=G2 und TextBox9 = I2 dann wird das Endergebnis in die Zelle J2 (TextBox10) eingetragen und damit die Formel überschrieben. die Formel sollte jedoch stehen bleiben.
Josef
Bild

Betrifft: AW: Daten in Datenblatt schreiben
von: Ramses
Geschrieben am: 04.01.2007 13:01:51
Hallo
Sei mir nicht böse,... aber warum erstellst du dann Textboxen für diese Zellen ?
Lass Sie doch einfach weg.
Gruss Rainer
Bild

Betrifft: AW: Daten in Datenblatt schreiben
von: Josef

Geschrieben am: 04.01.2007 13:10:27
Hallo Rainer!
Es müssen vom VBA Code her soviele Textboxen vorhanden sein, soviele Spalten es gibt.
Fehlt eine Textbox, wird die Userform nicht geöffnet und eine Fehlermeldung erscheint.
Deswegen habe ich ja das Problem. Und eine TextBox, egal mit welchem Namen auch immer würde ich jedoch in der Userform brauchen, damit das Ergebnis in der UF angezeigt wird.
Josef
Bild

Betrifft: AW: Daten in Datenblatt schreiben
von: Ramses

Geschrieben am: 04.01.2007 15:02:55
Hallo
Ich krieg die Krise :-)
"...Es müssen vom VBA Code her soviele Textboxen vorhanden sein, soviele Spalten es gibt...."
Das also mal mit Sicherheit nicht !!
Dann musst du den Code halt umschreiben.
WAS soll denn passieren, wenn du die Textfelder "Enabled=False" setzt ?
Der Anwender kann doch nichts rein schreiben ?
Und wenn du die Daten zurückschreibst, dann lass halt diese Felder wo deine Formeln drin stehen aus.
Die Ausgabe kann ja trotzdem erfolgen.
Gruss Rainer
Bild

Betrifft: AW: Daten in Datenblatt schreiben
von: Josef

Geschrieben am: 05.01.2007 07:46:39
Hallo Ramses!
bitte keine Krise bekommen.
Ich habe den nachstehenden VBA Text in einer Musterdatei im Innternet beim Suchen im Archiv gefunden. Ich habe Dir da jetzt nur ein kleines Muster zusammengestellt.Bis jetzt lief ja auch alles bestens. Nur wenn Berechnungen erfolgen sollen, wird alles überschrieben auch wenn die TextBoxen auf enabled false gesetzt sind.
https://www.herber.de/bbs/user/39397.xls
Josef
 Bild
Excel-Beispiele zum Thema "Daten in Datenblatt schreiben"
Legende eines Datenblattes einschließlich der Farbmarkierung Fehlermeldung abfangen und in sequentielle Datei schreiben
Arbeitsmappe anlegen und Workbook_Open-Prozedur schreiben Text aus UserForm in eine Zelle schreiben
Zellinhalte in Verbindung mit Variablen in Textdatei schreiben Bei Eingabe von "j" "Ja" und von "n" "Nein" schreiben
Text in NotePad schreiben, speichern, in Excel aufrufen Ersten mit einem neuen Buchstaben beginnenden Namen fett schreiben
Emailrundschreiben mit vorgegebenem Text über Outlook Zahlen eines Bereiches jeweils 4 mal in eine Spalte schreiben.