Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1184to1188
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
Inhaltsverzeichnis

VBA schreiben zum Zeilen löschen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA schreiben zum Zeilen löschen
31.10.2010 18:51:40
fcs
Hallo Ludwig,
das folgende Makro im VBA-Editor unter "DieseArbeitsmappe" einfügen.
Beim Öffnen der Datei werden dann alte Einträge automatisch gelöscht.
Gruß
Franz
Private Sub Workbook_Open()
'Alte "Abholbereit" löschen
Dim Zeile As Long, wks As Worksheet
Set wks = ThisWorkbook.Worksheets("Eingabe")
Application.ScreenUpdating = False
Application.StatusBar = "Alte Zeilen ""Abholbereit"" werden gelöscht"
With wks
For Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row To 4 Step -1
If .Cells(Zeile, 9).Value = "Abholbereit" And _
.Cells(Zeile, 7).Value > 0 And .Cells(Zeile, 7).Value 

Anzeige
AW: VBA schreiben zum Zeilen löschen
01.11.2010 09:35:10
Ludwig
Hallo,
danke für die Hilfe. Aber ich bräuchte etwas, wo genau dieser Vorgang nach einer vorgegebenen Zeit (24h) abläuft.
Die gelöschten Zeilen bzw. abholbereiten Einträge sollten dann in der Tabelle 3 aufgelistet sein.
AW: VBA schreiben zum Zeilen löschen
01.11.2010 23:38:30
fcs
Hallo Ludwig,
du ja auch gleich schreiben können, dass du die Einträge nicht nur löschen willst, sondern vorher in ein anderes Blatt eintragen.
Zeitsteuerungen innerhalb von Excel zu realiseren, setzt voraus, dass das Excel ständig geöffnet ist. D.h. dass bei 24 h Zyklus Rechner und Excel rund um die Uhr laufen müssen. Alternativ kann man noch mit dem Zeitplaner im Windows-Betriebssystem arbeiten. Dann kämpft man aber ggf. mit dem Zugriff auf die Datei wenn diese zum Zeitpunkt der Makroausführung in Benutzung ist.
In soweit halte ich meinen Lösungsvorschlag für wesentlich praktikabler, bei dem die Einträge vom Vortag oder älter (z.B. Einträge vom Freitag, die dann ggf. erst am Montag übertragen und gelöscht würden) beim ersten Öffnen der Datei am jeweiligen Tag abgearbeitet werden.
Wenn du wirklich jeden Eintrag nach genau 24 Stunden aus der Hauptliste entfernen willst, dann muss du in deiner Tabelle ausser dem Datum auch die Uhrzeit eintragen. Sonst ist es nicht möglich Sekunden/Minutengenau? zu arbeiten.
Du solltest dir also nochmals genau Überlegen, welche Anforderungen du an den zeitlichen Ablauf des Verschiebens der "Abgearbeitet"-Einträge stellen willst.
Nachfolgend noch die Anpassung für das Verschieben der Einträge nach Tabelle3
Gruß
Franz
Private Sub Workbook_Open()
'Alte "Abholbereit" nach Tabelle 3 verschieben
Dim Zeile As Long, wks As Worksheet, wksZiel As Worksheet
Set wks = ThisWorkbook.Worksheets("Eingabe")
Set wksZiel = ThisWorkbook.Worksheets("Tabelle3")
Application.ScreenUpdating = False
Application.StatusBar = "Alte Zeilen ""Abholbereit"" werden gelöscht"
With wks
For Zeile = 4 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(Zeile, 9).Value = "Abholbereit" And _
.Cells(Zeile, 7).Value > 0 And .Cells(Zeile, 7).Value = 4 Then
.Range(.Cells(4, 1), .Cells(.Rows.Count, 1).End(xlUp)). _
SpecialCells(xlCellTypeBlanks).EntireRow.Delete shift:=xlShiftUp
End If
End With
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub

Anzeige
AW: VBA schreiben zum Zeilen löschen
02.11.2010 10:03:58
Ludwig
Hallo,
habe die Datei nochmal angehängt ob es so richtig ist.
danke für die Hilfe
Tolles Forum
lg Ludwig
https://www.herber.de/bbs/user/72128.xls
AW: VBA schreiben zum Zeilen löschen
03.11.2010 05:28:56
fcs
Hallo Ludwig,
wenn das Makro Verschieben und Löschen so ausführt wie du es gerne hättest, dann ist alles OK.
Das Modul1 im VBA-Projekt ist nicht erforderlich. Das könntest du entfernen.
Gruß
Franz
AW: VBA schreiben zum Zeilen löschen
03.11.2010 10:52:41
Ludwig
Hallo,
danke für die tolle und rasche Hilfe

333 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige