Office: Zeile über Makro löschen lassen

Helfe beim Thema Zeile über Makro löschen lassen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich hab ein kleines Makro-Problem .... und zwar habe ich eine Tabelle mit verschiedenen Geschäften. Ich brauche aber nur die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von dobby110, 12. März 2009.

  1. dobby110 Erfahrener User

    Zeile über Makro löschen lassen


    Hallo zusammen,

    ich hab ein kleines Makro-Problem ....
    und zwar habe ich eine Tabelle mit verschiedenen Geschäften. Ich brauche aber nur die Geschäfte, die am Vortag abgeschlossen wurden.
    Alle anderen sollen über ein Makro in der Tabelle gelöscht werden.

    Habe folgendes geschrieben, was aber nicht funktioniert. Kann mir jemand weiterhelfen?
    (Bin kein Experte, eher ein bastelnder Anfänger ohne Erfahrung) ;-))

    Dim Hinweis, Titel, Datum
    Dim i1 As Integer

    Hinweis = "Bitte Vortages-Datum eingeben (JJJJMMTT)"
    Titel = "Eingabe Datum"
    Datum = InputBox(Hinweis, Titel)

    i1 = 3

    Do Until Worksheets("EQF").Cells(i1, 10) < Datum
    If Worksheets("EQF").Cells(i1, 10) < Datum Then
    Delete.Row
    End If


    i1 = i1 + 1
    Loop
     
    dobby110, 12. März 2009
    #1
  2. Exl121150 Erfahrener User
    Hallo dobby110,

    nachfolgend ein Vorschlag zur Lösung des Problems:

    Code:
    Public Sub Vortag_Geschäfte()
      Dim Hinweis$, Titel$, Datum$
      Dim Zeile As Integer, ErsteZeile As Integer, LetzteZeile As Integer
      Dim KritSpalte As Range, Tabelle As Range
      
    ' Inputbox-Anzeige mit Vortagesdatum-Vorbesetzung:
      Hinweis$ = "Bitte Vortages-Datum eingeben (JJJJMMTT)"
      Titel$ = "Eingabe Datum"
      Datum = InputBox(Hinweis$, Titel$, Format$(Now() - 1, "YYYYMMDD"))
      
      If Datum = "" Then Exit Sub  'falls Abbrechen-Schalter gedrückt wurde
      
    ' Die Tabelle der Daten soll also in Zeile 3 beginnen im Arbeitsblatt "EQF".
    ' In der Spalte 10 (also Spalte J) soll das Kriterium stehen
    '    und zwar als Datum in der umgekehrten Schreibweise - ich nehme an
    '    als Text und nicht als Zahl
      Set Tabelle = Worksheets("EQF").Range("A3").CurrentRegion
      
    ' Kriterienspalte = 10.Spalte des Bereiches "Tabelle"
      Set KritSpalte = Tabelle.Columns(10)
      
      ErsteZeile = 1
      LetzteZeile = Tabelle.Rows.Count
      
    ' Es muss bei der letzten Zeile der Tabelle begonnen werden,
    '   zurückschreitend bis zur 1. Zeile der Tabelle:
    ' Überprüfen, ob in Spalte 10 das Vortagesdatum enthalten ist:
    '   falls nicht: lösche die ganze Zeile
    '   falls ja:    tue nichts
      With KritSpalte
          For Zeile = LetzteZeile To ErsteZeile Step -1
            If .Cells(Zeile, 1) <> Datum$ Then
              .Cells(Zeile, 1).EntireRow.Delete
            End If
          Next Zeile
      End With
      
    End Sub
    1) Ein VBA-Makro dieser Art sollte man in ein allgemeines Code-Modul eingeben. Dieses ist im VBA-Editor über das Menü "Einfügen > Modul" erreichbar.
    2) Ein zentrales Problem, das in Deiner Beschreibung enthalten ist, ist ein etwas heimtückisches: Du durchläufst Deine Tabelle von der 1. Zeile bis zur letzten Zeile. Stellst Du fest, dass eine Zeile keine Vortageszeile ist, wird sie gelöscht. Dadurch werden von Excel alle nachfolgenden Zeilen um 1 Zeile nach vor gereiht. Gleichzeitig erhöhst Du aber am Ende der Schleife den Zeilenzähler um 1, sodass beim nächsten Schleifendurchlauf 1 Zeile ungetestet übergangen wird.
    Indem man die Tabelle von der letzten Zeile bis zur 1. Zeile durchläuft (also in umgekehrter Richtung), umgeht man das Problem, das infolge der Löschung von Zeilen entsteht.
     
    Exl121150, 13. März 2009
    #2
Thema:

Zeile über Makro löschen lassen

Die Seite wird geladen...
  1. Zeile über Makro löschen lassen - Similar Threads - Zeile Makro löschen

  2. per VBA Zeile in der Liste löschen

    in Microsoft Excel Hilfe
    per VBA Zeile in der Liste löschen: Hallo Leute, ich brauche eure Hilfe. In einer Liste sollen regelmäßig Einträge vorgenommen werden. Hierzu müssen die Felder Name, Nr. alt, Stück, Bezeichnung, Datum, Kst, Palettennummer,...
  3. VBA programmieren

    in Microsoft Excel Hilfe
    VBA programmieren: Hallo Leute, Bisher hatte ich meine Probleme immer mit dem mitlesen lösen können. Nun ist es soweit und ich brauche eure Hilfe. Ich habe ein Tabellenblatt, nennen wir es mal "Palettenliste", mit...
  4. Makro - Kombination aus Zeile löschen oder Text ersetzen

    in Microsoft Excel Hilfe
    Makro - Kombination aus Zeile löschen oder Text ersetzen: Hallo miteinander, ich würde gerne folgendes Problem per Makro (nicht mit klassischen Formeln) lösen (wichtig, das Makro muss beim Öffnen starten): - wenn in Spalte A nichts steht -> gesamte...
  5. Makro Problem nach Wörtern filtern und Zeilen löschen

    in Microsoft Excel Hilfe
    Makro Problem nach Wörtern filtern und Zeilen löschen: Hallo zusammen! Ich habe ein Makro, dass ich erweitern möchte. Dabei soll in den Daten in der ersten Zeile ein Filter aktiviert werden und alle Datenzeilen löschen, die in Spalte 10 eines von 4...
  6. Löschen von Zeilen mit Makro

    in Microsoft Excel Hilfe
    Löschen von Zeilen mit Makro: Hallo, ich hätte folgendes Vorhaben: ein Makro soll alle Zeilen löschen beginnend ab der zweiten Zeile, bis zu der Zeile, die einen bestimmten Wert enthält (z.B. "XYZ"). Diese soll stehen bleiben....
  7. Makro zum löschen von Zeilen

    in Microsoft Excel Hilfe
    Makro zum löschen von Zeilen: Hi, ich bin auf der Suche nach einem Excel- Makro, mit dem alle Zeilen in einer Tabelle gelöscht werden, bei dem der Text darin durchgestrichen ist. Leider konnte ich bisher nur Scripte...
  8. Excel 2010 - Makro zum Auffinden einer variablen Zeile und Löschen derer Inhalte

    in Microsoft Excel Hilfe
    Excel 2010 - Makro zum Auffinden einer variablen Zeile und Löschen derer Inhalte: Hallo Gemeinde! Kann mir bitte jemand helfen??? Benötige ein Makro, was mir folgendes Problem löst: In Abhängigkeit eines Wertes "x" von Tabellenblatt "A" soll quasi wie als SVERWEIS auf dem...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden