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

OK + Lösch Button...Code gesucht

OK + Lösch Button...Code gesucht
Peter
Hallo Ihr da,
Hallo auch an Ulf....hoffe du liest das auch, falls Du noch helfen willst, montier Deine Vorschläge doch hier rein......dann haben alle was davon...danke
ich habe eine Combobox zur Datenabfrage erstellt....is zu aufwendig das ganze hier zu schildern....
kurz gesagt: ich schaff es nicht den "OK" und den "Löschen" Button mit dem richtigen Code zu versehen.........Bitte darum um Hilfe.......habe die gepostete Datei als Beispielmappe aufgebaut und werde sie fertig auch wieder posten, dass alle was davon haben:
https://www.herber.de/bbs/user/5578.xls
Danke für Eure Hilfe
Peter S.
AW: OK + Lösch Button...Code gesucht
Kay
Hallo Peter S.
dies in die cmd Loeschen
For iCounter = 1 To 5
Controls("txtEdit" & iCounter) = ""
Next iCounter
entfernt aus den feldern den eintrag.
In der tabelle habe ich im moment keine Idee vieleicht jmd anderes
Gruß
Kay
Bitte weiterhelfen...:)
Peter
Guten Morgen und Hallo Kay,
danke für Deinen Vorschlag von gestern abend, den ich noch etwas erweitert habe, damit auch die cboNamen geleert wird und danach der erste Datensatz angezeigt wird:

Private Sub cmdLoeschen_Click()
MsgBox ("Der Datensatz wird endgültig entfernt")
cboNamen.Text = ""
For iCounter = 1 To 5
Controls("txtEdit" & iCounter) = ""
Next iCounter
cboNamen.ListIndex = 0
End Sub

1)Aber das Hauptproblem besteht weiterhin: Der Datensatz soll natürlich auch aus der Tabelle "Daten" entfernt werden, und
2)Ein Code für den Ok Button, der eine Änderung bestätigen und in "Daten" eintragen soll
Bitte um weitere Hilfe.
Danke
Peter S.
Anzeige
Hallo AndréL....super schau mal
Peter
Hallo AndréL,
bingo das war der richtige Ansatz.....ich habs dann noch ein wenig erweitert, damit sich die Textboxes nach dem schreiben leeren und dass kein Blattwechsel stattfindet, jedenfalls nicht sichtbar..:))

Private Sub cmdOK_Click()
Application.ScreenUpdating = False
Dim z As Integer
With Sheets("Daten").Activate
z = Range("B65536").End(xlUp).Row
Cells(z + 1, 2) = txtEdit1.Value
Cells(z + 1, 3) = txtEdit2.Value
Cells(z + 1, 4) = txtEdit3.Value
Cells(z + 1, 5) = txtEdit4.Value
Cells(z + 1, 6) = txtEdit5.Value
End With
For iCounter = 1 To 5
Controls("txtEdit" & iCounter) = ""
Next iCounter
Sheets("Start").Activate
Application.ScreenUpdating = True
End Sub

Funktioniert prächtig.....jetzt brauch ich noch ne idee für den "Lösch"-Button
Gruß
Peter S.
Anzeige
AW: Hallo AndréL....super schau mal
André
Hallo Peter,
das ist noch einfacher:
nimm
cboNamen.ListIndex = 0
raus, und Du hast das gewünschte Ergebnis.
Gruß und schönes Wochenende
Andrél.
AW: Hallo AndréL....nochmal
Peter
Hallo André,
ich denke da haben wir jetzt aneinander vorbeigeredet:
klar unter Deiner Bedingung sind dann die Textboxes geleert....aber ich will ja den Datensatz auch aus der Liste draussen haben und die entstehende Leerzeile geschlossen.
Danke
Peter S
AW: Hallo AndréL....nochmal
André
Hallo Peter,
da habe ich Dich tatsächlich falsch verstanden!!
Aber das bekommen wir auch noch hin.!!
Bis dann
AndréL.
das klingt toll
Peter
André,
das wäre super..........find ich toll Deine Unterstützung,
hoffe ich kann mich mal revanchieren
Peter S.
Anzeige
AW: das klingt toll
Peter
Hallo André,
schau dir das mal an......:))...da funzt tatsächlich...erst die combobox leeren und dann den "leeren Wert" auf die Zellen schreiben...:))
Hast Du was eleganteres?

Private Sub cmdLoeschen_Click()
MsgBox ("Der Datensatz wird endgültig entfernt")
cboNamen = ""
Dim y As Integer
With Sheets("Daten").Select
y = Range("B65536").End(xlUp).Row
Rows(y + 0) = cboNamen.Value
End With
For iCounter = 1 To 5
Controls("txtEdit" & iCounter) = ""
Next iCounter
End Sub

Gruß
Peter S.
AW: das klingt toll
Peter
war natürlich net soo das gelbe vom ei....überschreibt ja nur die letzte ausgefüllte Zeile mit leer....:((....aber da denk ich noch a bissl drüber nach
Peter S.
Anzeige
AW: das klingt toll
André
Hallo Peter,
setze folgenden(nicht optimalen) Code
in das Löschen Ereignis.

Private Sub cmdLoeschen_Click()
Sheets("Daten").Activate
Range("B1:F6").Select
With Selection
.Find(What:=txtEdit1).Activate
With ActiveCell.EntireRow.ClearContents
End With
End With
End Sub

Wenn Du noch ein wenig bastelst, bekommst Du das sicher
besser hin.
Noch ein Hinweis: Du darfst nicht nach "cboNamen" suchen,
da keine Übereinstimmung in Tabelle Daten. Ich habe "txtEdit1"(Nachname)
genommen!!
Viele Grüße
AndréL.
AW: das klingt toll
Peter
Hallo André,
mit dem Code kann ich leben...wenn es noch gelingt, die txtEdit1 bis 3 zu verketten, dass er sich die richtige Zeile holt (sonst müsste ich vorschlagen dass alle Müller bis auf einen entlassen werden...:))...
Sub Cancel
...
.Find(What:=txtEdit1 & What:=txtEdit2).Activate
...
Hoffe das geht
Peter S.
Anzeige
AW: das klingt toll
André
Hallo Peter,
ich würde eine Hilfsspalte nehmen!!
Mit den Vor und NAchnahmen.
Mehr fällt mir im Moment nicht ein.
Gruß
AndréL.
AW: das klingt toll
Peter
das wäre nicht nötig, denn dann nehm ich das Merkmal Serien-Nr, denn das kommt ja ohne Doppel vor.
Also André dann danke ich vielmals und wünsch Dir ein schönes WE.
Man sieht sich bestimmt hier wieder
Viele Grüße aus der Nürnberger Ecke
Peter S.
AW: das klingt toll
André
Auch Dir ein schönes WE,
bestimmt sehen wir uns hier mal wieder!
Grüße aus Ahrensburg(nördl. von Hamburg)
AndréL.
AW: das klingt toll
Peter
also in etwa so, jedoch die verkettung müsste noch rein, weil bei diesem code holt er sich als merkmal die txtEdit3 (die letzte)ansonsten aber funzt es so wie ich es bräuchte.

Private Sub cmdLoeschen_Click()
Application.ScreenUpdating = False
MsgBox ("Der Datensatz wird endgültig entfernt")
Sheets("Daten").Activate
Range("B1:F100").Select
With Selection
.Find(What:=txtEdit1).Activate
.Find(What:=txtEdit2).Activate
.Find(What:=txtEdit3).Activate
With ActiveCell.EntireRow.Delete
End With
End With
For iCounter = 1 To 5
Controls("txtEdit" & iCounter) = ""
Next iCounter
Sheets("Start").Activate
Application.ScreenUpdating = True
End Sub

VBA is wirklich ein Geduldsspiel(jedenfalls wenn man zwar seit jahren mit excel arbeitet, aber mit VBA erst in den Anfängen steckt)
Danke Dir
Peter S.
Anzeige
sieht gut aus !! :-) oT.
André
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige