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

löschen und einfügen

löschen und einfügen
30.08.2005 07:51:16
frank
hallo,
ich habe hier mal eine kleine tabelle gebastelt die so ungefähr mein porblem darstellt: https://www.herber.de/bbs/user/26168.xls
nun möchte ich folgendes erreichen was ich aber nicht hinbekomme weil ich nicht weiß wie ich die if abfrage per vba lösen soll...
also eine zeile soll gelöscht werden wenn in zelle f ja eingetragen wird und die formatierung der oberen zeile soll immer als letzte wieder eingefügt werden
(ich weiß nicht ob das was ausmacht wenn in spalte e, g und h noch eine bedingte formatierung ist)
möglich wäre auch das ja/nein in zelle f durch eine checkbox zu ersetzen nur muss diese dann auch kopiert und eingefügt werden...
ich hoffe mal ich habe mich verständlich genug ausgedrückt, wenn nicht einfach fragen
vielen dank und gruß
frank

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: löschen und einfügen
30.08.2005 08:06:39
Reinhard
Hi Frank,
Alt+F11,Doppelklick auf Tabelle1, Code einnfügen, Editor schliessen.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Or Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "Ja" Then Rows(Target.Row).Delete
End Sub

......und die formatierung der oberen zeile soll immer als letzte wieder eingefügt werden....
Verstehe ich nicvht was damit gemeint ist.
Gruß
Reinhard
AW: löschen und einfügen
30.08.2005 08:18:01
frank
hallo reinhard,
erstmal danke für deine hilfe das löschen passiert jetzt über:
Public

Sub i()
Dim i As Long
For i = Range("F65536").End(xlUp).Row To 1 Step -1
On Error Resume Next
If WorksheetFunction.CountIf(Cells(i, 6), "JA") > 0 Then Cells(i, 6).EntireRow.Delete
Next
End Sub

zu deiner frage:
in der letzten zeile soll praktisch ein leerer datensatz stehen (gleiche formatierungen wie die restlichen zeilen)
schönen gruß
frank
Anzeige
AW: löschen und einfügen
30.08.2005 08:27:52
TobiM4
Hier mal mein Code müsste eigentlich funzen

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Spalte, Zeile, letzteZeile, i As Byte
Spalte = Target.Column
Zeile = Target.Row
If Spalte = 6 And Range("F1").Value > 0 Then
Rows(Zeile).Select
Selection.Delete Shift:=xlUp
For i = 3 To 100
If Cells(i, 6).Value <> "Ja" And Cells(i, 6).Value <> "Nein" Then
letzteZeile = i
i = 100
End If
Next i
Range("A3:H3").Select
Selection.Copy
Range(Cells(letzteZeile, 1), Cells(letzteZeile, 8)).Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Target.Select
End If
End Sub

Gruß TobiM4
Anzeige
AW: löschen und einfügen
30.08.2005 08:48:12
frank
hallo,
irgentwas stimmt da nicht ganz weil das makro löscht zwar wenn ich einen vorhandenen datensatz auf ja setze fügt aber nicht immer einen neuen ein bzw. wenn ich in einen neuen datensatz entweder ja oder nein schreibe wird dieser automatisch wieder gelöscht
gruß frank
AW: löschen und einfügen
30.08.2005 09:23:47
TobiM4
Hi Frank
habe dein Problem nicht ganz verstanden, aber ich habe auch jetzt leider keine Zeit mehr mir das noch mal genauer anzusehen.
Könnte man dein Problem auch mit einem Button lösen, der einen Datensatz anhängt, und damit das Löschen und das einfügen von einander trennt, oder muß nach jedem Löschen zwangsläufig ein datensatz angefügt werden. Ich denke eher nicht oder ? Ich werde das dann mal im laufe des tages zusammenstricken.
TobiM4
Anzeige
leeren datensatz am ende anfügen
30.08.2005 09:46:37
frank
hallo,
also ich habe die mappe jetzt nochmals abgeändert und das mit dem löschen wird über einen commandbutton gemacht... jetzt fehlt mir nur die automatische erstellung eines leeren datensatz (mit den formatierungen der vorherigen) in der letzten zeile
https://www.herber.de/bbs/user/26171.xls
AW: leeren datensatz am ende anfügen
30.08.2005 14:53:22
TobiM4
Hi frank
Problem gelöst ?
oder soll ich noch mal etwas basteln ?
Wenn ja, dann habe ich das jetzt so verstanden, dass es einen zweiten Button geben soll, mit dem man am Ende der Liste eine Zeile mit der Formatierung der ersten Zeile einfügen kann.
TobiM4
Anzeige
AW: leeren datensatz am ende anfügen
31.08.2005 07:48:41
frank
hallo tobi,
wenn du mir den button für die letzte zeile basteln könntest bzw. das makro wäre ich dir sehr dankbar...
schöne grüße
frank
AW: leeren datensatz am ende anfügen
31.08.2005 08:21:03
frank
hallo tobi,
vielen dank erstmal für deine hilfe jetzt muss ich nur noch die gültigkeitsliste bei ja/nein einfügen und dann ist alles geregelt aber ich denke das bekomme ich durch paste special xlvalidations oder so auch hin...
gruß frank
noch eine frage
31.08.2005 08:53:55
frank
was mache ich wenn alle zeilen ja aufweisen und ich auf löschen klicke... wie kann ich verhindern, dass bei so einem fall sämtliche formatierungen usw. verloren gehen?
schöne grüße
frank
Anzeige
AW: noch eine frage
31.08.2005 10:48:17
TobiM4
Hm tja
Da muß wohl der Code noch ergänzt werden, der diesen Fall berücksichtigt.
Das funktioniert wohl nach folgendem System.
Wenn die letzte zu löschende Zeile die Zeile 2 ist, dann nur den Inhalt löschen und nicht die ganze Zeile.
Kannst ja mal versuchen. habe leider keine Zeit.
TobiM4

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige