Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
292to296
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
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Werte aus mehreren Textboxen in Tabelle zurückschr

Werte aus mehreren Textboxen in Tabelle zurückschr
08.08.2003 17:55:23
René P.
Hallo Excelfreunde,
ich habe eine Tabelle erstellt, in der in einem Formular Daten angelegt und geändert werden können. Beim Zurückschreiben wird aber immer nur die erste Spalte geändert, obwohl ich 11 Spalten habe . Mein Code sieht so aus:

Private Sub cmdAendern_Click()
Dim lngZeilennummer As Long
Worksheets("Tabelle1").Activate
lngZeilennummer = txtLfdNummer.Value + 1
ActiveSheet.Cells(lngZeilennummer, 1).Value = Me.txtAenAnrede.Value
ActiveSheet.Cells(lngZeilennummer, 2).Value = Me.txtAenVorname.Value
ActiveSheet.Cells(lngZeilennummer, 3).Value = Me.txtAenNachname.Value
ActiveSheet.Cells(lngZeilennummer, 4).Value = Me.txtAenStrasse.Value
ActiveSheet.Cells(lngZeilennummer, 5).Value = Me.txtAenPLZ.Value
ActiveSheet.Cells(lngZeilennummer, 6).Value = Me.txtAenStadt.Value
ActiveSheet.Cells(lngZeilennummer, 7).Value = Me.txtAenMarke.Value
ActiveSheet.Cells(lngZeilennummer, 8).Value = Me.txtAenTyp.Value
ActiveSheet.Cells(lngZeilennummer, 9).Value = Me.txtAenKennzeichen.Value
ActiveSheet.Cells(lngZeilennummer, 10).Value = Me.txtAenFGN.Value
ActiveSheet.Cells(lngZeilennummer, 11).Value = Me.txtAenGarantie.Value
End Sub

Kann mir jemand weiterhelfen, ich finde keine Lösung?
Gruß
René

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus mehreren Textboxen in Tabelle zurückschr
08.08.2003 18:04:28
Ramses
Hallo
Werte aus einer Textbox sind Text und können zur Berechnung nicht herangezogen werden.
Versuch mal den Inhalt zu konvertieren
lngzeilennummer = CLng(txtLfdNummer.Value) + 1
Gruss Rainer

AW: Werte aus mehreren Textboxen in Tabelle zurückschr
08.08.2003 18:11:04
Rene P.
Hallo Ramses,
das hilft leider auch nicht. Trotzdem Danke.
Gruß René

Gibt es nicht ....
08.08.2003 18:19:52
Ramses
Hallo
... ich habe mir gerade die Mühe gemacht das ganze mal zu testen ( Userform und Textboxen ).
Wenn du den Wert umwandelst funktioniert es das Schreiben in die Tabelle korrekt
Wenn bei dir nur die erste Spalte geändert wird, vermute ich mal, dass die anderen 10 entweder ausgeblendet oder so verkleinert sind, dass sie nicht sichtbar sind.
Gruss Rainer

Anzeige
AW: Gibt es nicht ....
08.08.2003 18:32:01
R. Paschke
Hallo Rainer,
funktioniert leider immer noch nicht. Ich habe aber festgestellt, dass immer nur ein Wert geändert wird. Wenn ich die anderen Textfelder auskommentiere, schreibt er in die jeweilige Spalte, sobald ich aber 2 Werte ändern will, wird immer nur der erste Wert geändert.
Gruß René

AW: Gibt es nicht ....
08.08.2003 18:40:10
Knut
Liest du die (sozusagen) gleichzeit wieder zu Anzeigenzwecken ein?
Knut

AW: Gibt es nicht ....
08.08.2003 18:53:57
René P.
Hallo Knut, ich weiß nicht genau, was du meinst, aber ich lese die Tabelle beim Öffnen der xl-Datei in eine Listbox ein, wo sie dann per Click in die Textfelder eingelesen werden, welche dann geändert werden sollen und per Commandbtn. in die Tabelle zurückgeschrieben werden.
René

Anzeige
AW: Gibt es nicht ....
08.08.2003 19:35:20
Knut
Das Einlesen in die Listbox ist es, was sich die Katze in den Schwanz
beißen läßt.
Poste mal, wie die Listbox gefüllt wird, sicher über RowSource?
Knut

AW: Gibt es nicht ....
08.08.2003 19:39:27
Ramses
Hallo Knut,
er hat im Spotlight Forum die gleiche Frage schon um 18:36 Uhr nochmal gestellt :-)
Gruss Rainer

AW: Gibt es nicht ....
08.08.2003 19:44:00
Knut
Hallo Rainer,
mich belastet crossposting nicht, wenn ich Lust habe, zu antworten,
mach ichs dennoch. Das muss natürlich jeder für sich entscheiden.
Gruß Knut

AW: Gibt es nicht ....
08.08.2003 20:01:37
Rene P.
Hallo Knut,
hier der Code für die Listbox:
'Kundenliste füllen
Dim lZ As Long, WS As Worksheet
Set WS = Tabelle1
lZ = 65536
If WS.[a65536] = "" Then lZ = WS.[a65536].End(xlUp).Row
lstKundenliste.RowSource = "Tabelle1!A2:L" & lZ
Übrigens: verstößt es gegen die Netiquette, wenn man seine Frage in verschiedenen Foren stellt?
René

Anzeige
AW: Gibt es nicht ....
08.08.2003 20:06:17
Knut
Wo passiert das denn in Private Sub UserForm_Initialize()?
zu übrigens:
Crossposting(gleiche Frage in mehr als einem Forum) wird nirgends
gern gesehen.
Knut

AW: Gibt es nicht ....
08.08.2003 20:11:09
Rene P.
Hallo Knut,
ja es passiert mit Private Sub UserForm_Initialize
Danke für den Hinweis.
René

AW: Gibt es nicht ....
08.08.2003 20:46:43
Knut
Dadurch, dass die Listbox mit Rowsouce an eine Datenquelle
gebunden ist, tritt das Change- Ereignis der Listbox auf, sobald
sich an der Quelle was ändert. Sobald also die erste textbox in die Zelle
geschrieben wird, wird das Change- Ereignis augelöst und somit die
ursprünglichen Daten aufgerufen.
Definiere im Deklarationsteil des Klassenmoduls des userform eine
Boolsche Variable z.B. so: Dim locked as Boolean
In der Prozedur des Ok- Button schreibst du dann:
Locked = true und am Ende der Prozedur locked = false.
In das Change- Ereignis der Listbox schreibst du :
If locked Then exit sub.
Knut

Anzeige
Kleines Problemchen
09.08.2003 11:19:33
René P.
Hallo Knut,
danke für deine Hilfe, das ist auf jeden Fall der Fehler. Leider funzt es bei mir trotz deiner Anleitung nicht. Wahrscheinlich habe ich sie auch falsch interpretiert (ich bin halt ein blutiger Anfänger). So habe ichs gemacht:
' In der Userform (Was heißt eigentlich Deklarationsteil des Klassenmoduls)
Option Explicit
Dim locked As Boolean
'Prozedur des OK-Buttons

Private Sub cmdAendern_Click()
locked = True
With Worksheets("Tabelle1")
Dim lngZeilennummer
lngZeilennummer = CLng(txtLfdNummer.Value) + 1
ActiveSheet.Cells(lngZeilennummer, 1).Value = txtAenAnrede.Value
ActiveSheet.Cells(lngZeilennummer, 2).Value = txtAenVorname.Value
ActiveSheet.Cells(lngZeilennummer, 3).Value = txtAenNachname.Value
ActiveSheet.Cells(lngZeilennummer, 4).Value = txtAenStrasse.Value
ActiveSheet.Cells(lngZeilennummer, 5).Value = txtAenPLZ.Value
ActiveSheet.Cells(lngZeilennummer, 6).Value = txtAenStadt.Value
ActiveSheet.Cells(lngZeilennummer, 7).Value = txtAenMarke.Value
ActiveSheet.Cells(lngZeilennummer, 8).Value = txtAenTyp.Value
ActiveSheet.Cells(lngZeilennummer, 9).Value = txtAenKennzeichen.Value
ActiveSheet.Cells(lngZeilennummer, 10).Value = txtAenFGN.Value
ActiveSheet.Cells(lngZeilennummer, 11).Value = txtAenGarantie.Value
End With
locked = False
End Sub

'Im Change-Ereignis der Listbox

Private Sub UserForm_Initialize()
'Anrede-Box füllen
With Me.cboAnrede
.AddItem "Herr"
.AddItem "Frau"
.AddItem "Firma"
.AddItem "Herr Dr."
.AddItem "Frau Dr."
.ListIndex = "0"
End With
'Kundenliste füllen
If locked Then Exit Sub
Dim lZ As Long, WS As Worksheet
Set WS = Tabelle1
lZ = 65536
If WS.[a65536] = "" Then lZ = WS.[a65536].End(xlUp).Row
lstKundenliste.RowSource = "Tabelle1!A2:L" & lZ
End Sub

Ich weis, dass ich nerve, aber meine Tabelle ist fast fertig, nur an diesem verdammten Zurückschreiben sitze ich schon seit 2 Wochen.
Also vielen Dank nochmal für deine Hilfe.
Gruß René

Anzeige
AW: Kleines Problemchen
09.08.2003 13:40:25
Knut
Deklarationteil ist oben im Modul unter OptionExplicit und unbedingt
v o r der ersten Sub oder Function.
Hast du in deinem Code keine lstKundenliste_Change oder Click
Prozedur? Wozu ist die Kundenliste überhaupt da, daraus werden doch
bestimmt die Daten in die Textboxen geschrieben, oder?
Knut

AW: Kleines Problemchen
09.08.2003 13:48:54
Rene P.
Danke Knut,
ich habe es falsch eingefügt, es musste natürlich in die Kundenliste. Jetzt klappts.
Das kommt davon, wenn man keine Übersicht hat.
Gruß René

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige