Registriert seit: 18.01.2016
Version(en): 2010
Guten Tag zusammen,
ich möchte gern ein Makro erstellen, welches in einer Datei -> Spalte einen Wert sucht, diese Spalte dann löscht.
Z.B. in Spalte A soll nach dem Wert "8" gesucht warden.
Alle Zeilen mit dem Wert "8" sollen gelöscht warden.
Vielen Dank !
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
Moin,
ich habe den Eindruck, dass du in Sachen VBA absolut unbedarft bist. Das ist zwar nicht schlimm, aber warum soll es denn dann unbedingt ein Makro sein? Das geht schließlich recht passabel mit einfachem filtern und dann löschen.
Du kannst ansonsten ja einfach einmal anfangen, das Ganze mit dem Makrorecorder aufzuzeichnen, dann hast du zumindest eine kleine Basis.
Beste Grüße
Günther
Excel-ist-sexy.de …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:1 Nutzer sagt Danke an GMG-CC für diesen Beitrag 28
• technoente
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
Hallo,
Zitat:Du kannst ansonsten ja einfach einmal anfangen, das Ganze mit dem Makrorecorder aufzuzeichnen, dann hast du zumindest eine kleine Basis.
wenn Du das dann aufzeichnest und bearbeitest, solltest Du beachten, daß Du Dich beim Löschen von Zeilen
von unten nach oben vorarbeitest und nicht umgekehrt. Sonst verschluckt Excel sich.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!
Grüße aus Norderstedt, Peter
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
Das ist natürlich richtig, Peter.
Ich dachte allerdings weniger an die "lahme" Lösung per Schleife als eher an das filtern der zu eliminierenden Zeilen, die dann mit einem Rutsch gelöscht werden.
Beste Grüße
Günther
Excel-ist-sexy.de …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:1 Nutzer sagt Danke an GMG-CC für diesen Beitrag 28
• technoente
Registriert seit: 18.01.2016
Version(en): 2010
Hallo ihr zwei,
danke für die schnelle Antwort.
Ich versuche mir standing Sachen zusammen zu basteln.
Z.B.
Code: Sub Löschenrückwärts()
' Löschenrückwärts Makro
ActiveSheet.Name = "SAPausfuhr"
Range("AB:AB,AA:AA,V:V,S:S,R:R,Q:Q,P:P,O:O,L:L,I:I").Select 'Spalten welche gelöscht werden von hinten auswählen
Range("I1").Activate 'ausgewählten Bereich aktivieren
Selection.Delete shift:=xlToLeft 'ausgewählten Bereich löschen
Range("K:K,I:I,G:G,C:C,A:A").Select 'die leeren Spalten löschen, falls var. anderer Befehl
Range("A1").Activate 'ausgewählten Bereich aktivieren
Selection.Delete shift:=x1toLeft 'ausgewählten Bereich löschen
Dim Zeile As Long 'Var. festlegen mit Zahlen von -2.147.483.648 - +2.147.483.647
With Tabelle1 'worksheet Name
For Zeile = .UsedRange.Row + .UsedRange.Rows.Count - 1 To 1 Step -1 'Schleife sucht von HINTEN nach Leerzeilen
If Application.CountA(.Rows(Zeile)) = 0 Then .Rows(Zeile).EntireRow.Delete 'wenn eine Leerzeile gefunden wird, diese löschen
Next 'Schleife
End With 'Ende der Schleife
Range("A1,B1,D1").Select 'makieren von einzelnen Zellen
Selection.ClearContents 'Inhalt makierte Zellen löschen
Range("D2").Select 'D2 auswählen
ActiveCell.FormulaR1C1 = "Verk.Org" 'in aktive Zelle reinschreiben
Dim Bereich As Range
Set Bereich = Sheets("SAPausfuhr").cell(B).Find("NU,FS,NRT,FM,NGU,FP,PU", LookAt:=xlWhole)
End If
End Sub
die Kommentare habe ich mir slebst, nach bestem Gewissen gemacht.
Ich versuche immer mehr zu lernne und selbstständig Sachen anzueignen.
Nun hackt es aber Z.B. bei dem oben beschriebenen Problem.
Liebe Grüße
Und danke!
Registriert seit: 06.12.2015
Version(en): 2016
Hallo,
in der Ursprungsfrage stand etwas von "wenn Wert=8 dann löschen". Der gezeigte Code macht aber etwas anderes:
Code: .Find("NU,FS,NRT,FM,NGU,FP,PU",
Auch wenn es ohne die Daten zu kennen nicht so einfach zu beurteilen ist, der Code funktioniert (vermutlich) nicht.
Ist es möglich, eine kleine, aber in der Struktur richtige Beispiel-Datei hochzuladen und das Ziel noch etwas präziser zu beschreiben?
mfg
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28
• technoente
Registriert seit: 18.01.2016
Version(en): 2010
21.02.2018, 15:19
(Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2018, 15:19 von technoente.)
ups, die habe ich vergessen rauszulöschen. das war einer meiner Versuche welcher nicht geklappt haben.
habe anbei eine Datei angehängt.
Testdatei.xlsx (Größe: 11,09 KB / Downloads: 4)
Ich möchte eigentlich nur, dass es sozusagen entweder in Spalte A den Wert "8" sucht, und die komplette Zeile makiert, und diese dann gelöscht wird.
Oder
In Spalte "B" die Werte FM, FP , FS etc. sucht, dann die Zeile makiert und ebenfalls löscht.
Code: Columns("B:B").Select
Selection.Find(What:="FM", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
So jetz müsste ich sagen, Ergebnise makieren, auswählen und betroffenne Zeilen anwählen und löschen, von unten nach oben, richtig?
Registriert seit: 06.12.2015
Version(en): 2016
Hallo,
ohne Makros:
mit Autofilter in Spalte A die 8 auswählen
Das Menü-Icon "nur sichtbare Zellen auswählen" aktivieren.
Per Maus von A3 bis Tabellenende markieren: löschen
Spalte A markieren: F5, Inhalte: leere Zellen
Rechte Maustaste: löschen:ganze Zeile
mfg
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28
• technoente
Registriert seit: 06.12.2015
Version(en): 2016
kleiner Nachtrag:
Bis auf die zweite Überschrift geht:
Code: Sub Fen_()
With ActiveSheet.UsedRange
.AutoFilter 1, 8
.EntireRow.Delete
.AutoFilter
End With
End Sub
mfg
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28
• technoente
Registriert seit: 18.01.2016
Version(en): 2010
vielen Dank für deine Antwort!
Aber ware es nicht am Besten, wenn ich es als Makro mache? Ich möchte das ja in mein oben gepostetes Makro mit einfügen.
Liebe Grüße
und vielen Dank für eure Hilfe !!
|