Anzeige
Archiv - Navigation
1020to1024
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

bestimmte Zeilen mit Hilfe eines Makros löschen

bestimmte Zeilen mit Hilfe eines Makros löschen
06.11.2008 14:36:44
Veronika
Hallo liebe Excel-Experten,
ich habe folgende Anliegen.
Erstes Problem:
In einer Tabelle die ich täglich bearbeite befinden sich in Spalte L die Werte A und R. Da ich die Zeilen in denen sich ein A befindet für die weitere Arbeit nicht mehr benötige Würde ich diese gerne mit Hilfe eines Makro löschen.
Mein Ansatz dazu war:
Absteigend nach Spalte L zu sortieren und dann vom ersten bis zum letzten (die Tabelle ist jeden Tag unterschiedlich lang) A alle Zeilen zu löschen.
Zweites Problem:
In Spalte B werden Werteangegeben (Beispiel: 12.53 / 315.86 / etc.). Hier würde ich gerne alle Beiträge die größer als 1500.00 sind kopieren und in eine seperate Tabelle einfügen und am besten auch automatisch speichern. Die Überschriften aus der Ausgangsdatei sollten in dieser Tabelle auch wieder Verwendung finden.
Mein Ansatz dazu:
Auch hier wieder zuerst sortieren, diesmal aufsteigend und vom ersten Wert größer als 1500.00 bis zum letzte kopieren und in eine seperate Tabelle einfügen.
Leider mangelt es bei mir an der Umsetzung in VB.
Vielen Dank schonmal an jeden der sich mein Problem durchliest und eventuell den ein oder anderen Gedanken macht.
mit freundlichen Grüßen,
Veronika

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bestimmte Zeilen mit Hilfe eines Makros löschen
06.11.2008 15:01:00
Chris
Servus Veronika,
evtl so:

Sub löschen()
Dim i As Long
For i = Cells(Rows.Count, 12).End(xlUp).Row To 2 Step -1
If Cells(i, 12).Value = "A" Then
Cells(i, 12).EntireRow.Delete
End If
Next i
End Sub



Sub kopieren()
Dim i As Long
For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
If IsNumeric(Cells(i, 2)) And Cells(i, 2) > 1500 Then
Cells(i, 2).EntireRow.Copy Sheets("Tabelle2").Cells(Sheets("Tabelle2").Cells(Rows.Count,  _
2).End(xlUp).Row + 1, 1)
End If
Next i
ActiveWorkbook.Save
End Sub


Tabelle2 muss durch den Namen deines ZielSheets ersetzt werden.
Gruß
Chris

Anzeige
AW: bestimmte Zeilen mit Hilfe eines Makros löschen
06.11.2008 15:15:11
Veronika
Also das Problem mit dem Löschen habe ich gelöst.
Nun fehlt nur noch der Filter, der die Werte größer als 1500.00 in eine eigene Tabelle speichert. Wichtig hierbei ist, dass diese Tabelle einzeln (mit nur einem Sheet) gespeichert wird.
Vielen Dank an alle die sich Gedanken machen.
MfG
Veronika
AW: bestimmte Zeilen mit Hilfe eines Makros löschen
06.11.2008 16:25:58
Chris
Servus Veronika,
dann so:

Sub kopieren()
Dim i As Long, ShName As String
Application.ScreenUpdating = False
Sheets.Add After:=Sheets(Sheets.Count)
ShName = ActiveSheet.Name
With ThisWorkbook.Sheets("c")
.Cells(1, 1).EntireRow.Copy Sheets(ShName).Range("A1") ' Überschriften kopieren
For i = 2 To .Cells(Rows.Count, 2).End(xlUp).Row
If IsNumeric(.Cells(i, 2)) And .Cells(i, 2) > 1500 Then
.Cells(i, 2).EntireRow.Copy Sheets(ShName).Cells(Sheets(ShName).Cells(Rows.Count, 2).End( _
xlUp).Row + 1, 1)
End If
Next i
End With
ThisWorkbook.Sheets(ShName).Copy
Dim myFileName As String
myFileName = Format(Now(), "dd.mm.yyyy-hh.mm.ss") & ".xls"
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\Kopie vom " & myFileName
Application.DisplayAlerts = False
ActiveWorkbook.Close
ThisWorkbook.Sheets(ShName).Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Das Makro kopiert alle Datensätze größer 1500 in ein neues Workbook und speichert dieses als Kopie + Datum und Uhrzeit im Pfad der Originaldatei.
bei With ThisWorkbook.Sheets("c") musst du statt c den Namen deiens Quellsheets schreiben. Das Makro kommt in das Tabellenmodul, in dem es laufen soll oder auch in ein allgemeines Modul.
Gruß
Chris

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige