Supportnet / Forum / Tabellenkalkulation
Zeilen mit Makro asulesen und in neues Tabelleblatt schreiben
Frage
Hallo ich hoffe hier kann mir weitergeholfen werden, müsste aus einer Excel-Tabelle wenn möglich mit einen Makro(Command Button) in der Spalte D1-D4067 gewisse Wörter, Abkürzungen finden wie z.B. FGH, nach Auffinden des Wortes sollte er mir die komplette Zeile(n) auf ein neues Tabellenblatt kopieren, kann dann auch gerne auf dem durchsuchten Tabellenblatt gelöscht werden (kann muss aber nicht).
Danke schon mal für die Unterstützung im vorraus
Kay
Antwort 1 von schnallgonz
Hallo Kay,
kopiere folgenden Code in ein Standardmodul und weise das Makro einer Schaltfläche zu:
Es sucht im Blatt 1 in Spalte F nach dem Suchbegriff, der in der Eingabebox eingegeben wurde und kopiert alle Zeilen in ein neues Blatt. Dieses Blatt wird an das Ende der Mappe gestellt und erhält als Blattnamen den Suchbegriff aus der Eingabebox.
Bei der "Cut"-Variante hast Du anschließend im Blatt 1 leere Zeilen. Am besten Daten sortieren, dann stehen die am Ende, sind also "weg".
mfg
schnallgonz
Ich stimme mit der Mathematik nicht überein.
Ich meine, dass die Summe von Nullen eine gefährliche Zahl ist. (S.J. Lec)
kopiere folgenden Code in ein Standardmodul und weise das Makro einer Schaltfläche zu:
Sub SuchKopier()
´sucht String aus Inputbox in Tabelle 1, Spalte F und kopiert
´alle Zeilen mit Fund in Spalte F in neues Blatt = Name Suchbegriff
Dim zaehler1 As Long
Dim suche1 As Range
Dim letzte As Long
Dim such As String
´Eingabedialog für Suchbegriff und neues Blatt anlegen
such = InputBox("Suchbegriff eingeben", "Finden und Zeilen kopieren")
If such = "" Then Exit Sub
Worksheets.Add.Move After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = such
With Worksheets(such)
For zaehler1 = 1 To Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
´In Spalte F suchen
Set suche1 = Worksheets(1).Range("F" & zaehler1 & ":F" & _
Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row).Find(such)
If Not suche1 Is Nothing Then
´gefundene Zeilen kopieren, falls löschen gewünscht,
´"Copy" durch "Cut" ersetzen
Sheets(1).Rows(suche1.Row).Copy
letzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
.Rows(letzte + 1 & ":" & letzte + 1).Insert Shift:=xlDown
Sheets(1).Application.CutCopyMode = False
zaehler1 = suche1.Row
End If
Next zaehler1
End With
End SubEs sucht im Blatt 1 in Spalte F nach dem Suchbegriff, der in der Eingabebox eingegeben wurde und kopiert alle Zeilen in ein neues Blatt. Dieses Blatt wird an das Ende der Mappe gestellt und erhält als Blattnamen den Suchbegriff aus der Eingabebox.
Bei der "Cut"-Variante hast Du anschließend im Blatt 1 leere Zeilen. Am besten Daten sortieren, dann stehen die am Ende, sind also "weg".
mfg
schnallgonz
Ich stimme mit der Mathematik nicht überein.
Ich meine, dass die Summe von Nullen eine gefährliche Zahl ist. (S.J. Lec)
Antwort 2 von schnallgonz
Oh,
wieso habe ich Spalte F genommen, Du willst Spalte D!
Ersetze also
durch
Vielleicht noch die Kommentierungen von F auf D umstellen
gruß
schnallgonz
wieso habe ich Spalte F genommen, Du willst Spalte D!
Ersetze also
Set suche1 = Worksheets(1).Range("F" & zaehler1 & ":F" & _durch
Set suche1 = Worksheets(1).Range("D" & zaehler1 & ":D" & _Vielleicht noch die Kommentierungen von F auf D umstellen
gruß
schnallgonz
Antwort 3 von Kay789
Danke schnallgonz funtioniert einwandfrei

