Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
928to932
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
928to932
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

DATENSATZ WIRD KOPIERT U. NACH OBEN GEREIHT

DATENSATZ WIRD KOPIERT U. NACH OBEN GEREIHT
04.12.2007 07:10:00
christian
guten morgen
ich ändere mit diesem code die daten in meiner tabelle"Daten" in "Userform2" mit 1-7 textboxen
was auch funkioniert. nur wenn ich den untersten datensatz in meiner tabelle ändere, dann wird der geänderte datensatz kopiert und nach oben gereiht.
FRAGE ?
WARUM WIRD DER LETZTE DATENSATZ NACH OBEN KOPIERT WENN MAN EINE ÄNDERUNG EINER ZELLE
VORNIMMT?

Private Sub CommandButton35_Click()
'Daten ändern
ListBox28.Tag = "X"
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 1).Value = TextBox1.Text  'Daten!A5  ukv
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 2).Value = TextBox2.Text  'Daten!B5  username
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 3).Value = TextBox3.Text  'Daten!C5  email
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 4).Value = TextBox4.Text  'Daten!D5  guthaben  _
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 5).Value = TextBox5.Text  'Daten!E5  datum
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 6).Value = TextBox6.Text  'Daten!F5  guthaben  _
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 7).Value = TextBox7.Text  'Daten!G5  notiz
ListBox28.Tag = ""
End Sub
wie lauted der richtige vba code?


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

Betreff
Datum
Anwender
Anzeige
AW: DATENSATZ WIRD KOPIERT U. NACH OBEN GEREIHT
04.12.2007 10:09:26
Rudi
Hallo,
warum auch immer: Das ist nicht der Code, der das verursacht.
Du kannst dir übrigens viel Schreibarbeit sparen:

Private Sub CommandButton35_Click()
'Daten ändern
ListBox28.Tag = "X"
With Sheets("Daten").Rows(ListBox28.ListIndex + 4)
.Cells(1).Value = TextBox1.Text  'Daten!A5  ukv
.Cells(2).Value = TextBox2.Text  'Daten!B5  username
.Cells(3).Value = TextBox3.Text  'Daten!C5  email
.Cells(4).Value = TextBox4.Text  'Daten!D5  guthaben
.Cells(5).Value = TextBox5.Text   'Daten!E5  datum
.Cells(6).Value = TextBox6.Text   'Daten!F5  guthaben
.Cells(7).Value = TextBox7.Text   'Daten!G5  notiz
End With
ListBox28.Tag = ""
End Sub


Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.

Anzeige
AW: DATENSATZ WIRD KOPIERT U. NACH OBEN GEREIHT
04.12.2007 10:47:09
christian
danke erst mal für deine antwort.
dann sollte es was anderes sein? ich gebe dir mal alles was in dieser userform ist vieleicht siehst was.

Private Sub CommandButton35_Click()
'Daten aendern
ListBox28.Tag = "X"
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 1).Value = TextBox1.Text 'ukv
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 2).Value = TextBox2.Text 'username
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 3).Value = TextBox3.Text 'email
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 4).Value = TextBox4.Text 'guthaben 1
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 5).Value = TextBox5.Text 'datum
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 6).Value = TextBox6.Text 'guthaben 2
Sheets("Daten").Cells(ListBox28.ListIndex + 4, 7).Value = TextBox7.Text 'notiz
ListBox28.Tag = ""
End Sub


'DATEN PER LISTBOX KLICK IN TEXTBOXEN EINLESEN


Private Sub ListBox28_Change()
If ListBox28.Tag  "" Then Exit Sub
TextBox1 = ListBox28.List(ListBox28.ListIndex, 0)
TextBox2 = ListBox28.List(ListBox28.ListIndex, 1)
TextBox3 = ListBox28.List(ListBox28.ListIndex, 2)
TextBox4 = ListBox28.List(ListBox28.ListIndex, 3)
TextBox5 = ListBox28.List(ListBox28.ListIndex, 4)
TextBox6 = ListBox28.List(ListBox28.ListIndex, 5)
TextBox7 = ListBox28.List(ListBox28.ListIndex, 6)
End Sub


'Datumsformat in der textbox


Private Sub TextBox5_Change()
TextBox5 = Format(TextBox5, "dd.mmm.yyyy")
End Sub



Private Sub UserForm_Initialize()
'LISTBOX 28 spalten breite
With UserForm2.ListBox28
.ColumnCount = 7
.ColumnHeads = False
.ColumnWidths = "1,2cm; 5cm; 5cm; 2cm; 3cm; 3cm; 8cm;"
.RowSource = "Daten!A4:G" & Sheets("Daten").Range("A65536").End(xlUp).Row
End With
End Sub



Private Sub CommandButton34_Click()
'Neuen Datensatz  EINGABEN
'Dim Zeile As Long
'With Sheets("Daten")
Zeile = .Cells(65536, 1).End(xlUp).Row + 1
Cells(Zeile, 1) = TextBox1.Text
Cells(Zeile, 2) = TextBox2.Text
Cells(Zeile, 3) = TextBox3.Text
Cells(Zeile, 4) = TextBox4.Text
Cells(Zeile, 6) = TextBox5.Text
Cells(Zeile, 7) = TextBox7.Text
End With
ListBox28.RowSource = "Daten!A5:G" & Sheets("Daten").Range("G65536").End(xlUp).Row
MsgBox ("Sie haben einen neuen Eintrag erstellt !!")
End Sub


'NUR ZAHLEN ZULASSEN IN TEXTBOXEN


Private Sub TextBox1_Change()
Call EintraginTextbox(1)
End Sub



Private Sub TextBox4_Change()
Call EintraginTextbox(4)
End Sub



Private Sub TextBox6_Change()
Call EintraginTextbox(6)
End Sub



Private Sub EintraginTextbox(intNo As Integer)
If Not IsNumeric(Controls("TextBox" & intNo)) Then
Beep
Controls("TextBox" & intNo).Text = ""
End If
End Sub



Private Sub CommandButton36_Click()
Unload Me
End Sub


DAS HABE ICH IN DER TABELLE "DATEN" STEHEN


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' Prüfen, ob Änderung in Spalte  vorgenommen wurde
If Target.Column = 6 Then
' Datum und Uhrzeit  schreiben, wenn Zelle noch leer
' (also nur beim ersten Füllen
If IsEmpty(Cells(Target.Row, 5)) Then Cells(Target.Row, 5).Value = Now()
End If
End Sub


Anzeige
AW: DATENSATZ WIRD KOPIERT U. NACH OBEN GEREIHT
04.12.2007 11:29:00
Rudi
Hallo,
warum lädst du nicht einfach mal die Mappe hoch?
Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.

AW: DATENSATZ WIRD KOPIERT U. NACH OBEN GEREIHT
04.12.2007 12:39:07
christian
hi
danke für deine mühe habe deinen code jetzt drinnen läuft runder.in meiner db habe ich vertrauliche kundendaten.
fehler gefunden!!! DIESER CODE HABE IHN DEAKTIVIERT JETZT GEHTS

Private Sub CommandButton34_Click()
'Neuen Datensatz  EINGABEN
'Dim Zeile As Long
'With Sheets("Daten")
Zeile = .Cells(65536, 1).End(xlUp).Row + 1
Cells(Zeile, 1) = TextBox1.Text
Cells(Zeile, 2) = TextBox2.Text
Cells(Zeile, 3) = TextBox3.Text
Cells(Zeile, 4) = TextBox4.Text
Cells(Zeile, 6) = TextBox5.Text
Cells(Zeile, 7) = TextBox7.Text
End With
ListBox28.RowSource = "Daten!A5:G" & Sheets("Daten").Range("G65536").End(xlUp).Row
MsgBox ("Sie haben einen neuen Eintrag erstellt !!")
End Sub


dieser code sollte eigentlich einen neuen eintrag in der db erstellen.
danke nochmal
gruss
christian

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige