Anzeige
Archiv - Navigation
424to428
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
424to428
424to428
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

code beigefügt...eine kleine frage zum verständnis

code beigefügt...eine kleine frage zum verständnis
12.05.2004 18:16:23
Peter
Hallo Ihr,
wenn ich mit untenstehendem code den datensatz nicht löschen, sondern überschreiben will.....muss ich dann "paste" statt "delete" einsetzen?

Private Sub cmdLoeschen_Click()
Dim myArr As Variant
Dim rng As Range
MsgBox ("Der Kundensatz wird endgültig entfernt")
Set rng = Sheets("Kunden").Range("A3:W1000").Find(What:=txtEdit1)
If Not rng Is Nothing Then rng.EntireRow.Delete
myArr = Sheets("Kunden").Range("A3:W1000")
cboNamen = ""
cboNamen.List = myArr
For iCounter = 1 To 23
Controls("txtEdit" & iCounter) = ""
Next iCounter
End Sub

Danke Peter S.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Womit denn überschreiben?
Boris
Hi Peter,
grundsätzlich musst du dann halt nicht "Delete" sondern "ClearContents" schreiben - allerdings bleibt die Zeile dann einfach leer, da du uns bisher verheimlichst, was du denn stattdessen da drin stehen haben möchtest.
Grüße Boris
AW: Womit denn überschreiben?
12.05.2004 18:53:24
Peter
Hallo Boris,
ja klar sorry....also die daten hab ich in einer tabelle und lese sie über ne combobox in diverse textboxes ein..........mit dem code leere ich bisher die textboxes und die combobox und lösche gleichzeitig die zeile aus der tabelle.....
und jetzt möchte ich eben noch nen button kreieren, mit dem ich die daten, die in den textboxes von mir überarbeitet wurden...dann zurückschreibe in die ursprungszeile der tabelle
Hoffe ich hab mich verständlich ausgedrückt
Danke
Peter S
Anzeige
Arbeite mit einer Publicvariable
Boris
Hi Peter,
dann würde ich die "Fundzeile" (rng) in einer Publicvariable speichern, die du in einem allgemeinen Modul deklarierst mit z.B.:
Public rngZeile as Long
In deinem bereits geposteten Makro dann in etwa so:

Private Sub cmdLoeschen_Click()
Dim myArr As Variant
Dim rng As Range
MsgBox ("Der Kundensatz wird endgültig entfernt")
Set rng = Sheets("Kunden").Range("A3:W1000").Find(What:=txtEdit1)
If Not rng Is Nothing Then rngZeile = rng.Row: rng.ClearContents
myArr = Sheets("Kunden").Range("A3:W1000")
cboNamen = ""
cboNamen.List = myArr
For iCounter = 1 To 23
Controls("txtEdit" & iCounter) = ""
Next iCounter
End Sub

In deinem noch zu erstellenden Code kannst du dann den Ursprungsbereich wieder ermitteln mit:
Range("A" & rngZeile, "W" & rngZeile)
Ist ungetestet - sollte aber funktionieren.
Grüße Boris
Anzeige
So funzt es....:)
13.05.2004 08:49:15
Peter
Hallo Boris,
wie gesagt hole ich über eine cboBox einen Datensatz aus der Tabelle ("Kunden")und lese die Daten in TextBoxes ein.... dann editiere ich den Inhalt verschiedener Textboxes und schreibe den Inhalt zurück in die gleiche Zeile:

Private Sub cmdÜberschreiben_Click()
Dim z As Integer, myArr As Variant
Application.ScreenUpdating = False
Sheets("Kunden").Activate
z = Range("A3:W1000").Find(What:=txtEdit6).Row
Cells(z, 1) = txtEdit1.Value
Cells(z, 2) = txtEdit2.Value
Cells(z, 3) = txtEdit3.Value
Cells(z, 4) = txtEdit4.Value
Cells(z, 5) = txtEdit5.Value
Cells(z, 6) = txtEdit6.Value
Cells(z, 7) = txtEdit7.Value
Cells(z, 8) = txtEdit8.Value
Cells(z, 9) = txtEdit9.Value
Cells(z, 10) = txtEdit10.Value
Cells(z, 11) = txtEdit11.Value
Cells(z, 12) = txtEdit12.Value
Cells(z, 13) = txtEdit13.Value
Cells(z, 14) = txtEdit14.Value
Cells(z, 15) = txtEdit15.Value
Cells(z, 16) = txtEdit16.Value
Cells(z, 17) = txtEdit17.Value
Cells(z, 18) = txtEdit18.Value
Cells(z, 19) = txtEdit19.Value
Cells(z, 20) = txtEdit20.Value
Cells(z, 21) = txtEdit21.Value
Cells(z, 22) = txtEdit22.Value
Cells(z, 23) = txtEdit23.Value
myArr = Sheets("Kunden").Range("A3:W1000")
cboNamen = ""
cboNamen.List = myArr
For iCounter = 1 To 23
Controls("txtEdit" & iCounter) = ""
Next iCounter
Sheets("Bearbeitung").Activate
Application.ScreenUpdating = True
End Sub

Danke für Deine Unterstützung
Peter S.
Anzeige
Gehe somit von "Geschlossen" aus,,,oT
"Geschlossen"

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige