Daten kopieren, die einen *Z*en enthalten mit Makro
Hallo!
Ich möchte mit folgendem Makro aus einer Tabelle1 sämtliche Datensätze kopieren, die einen *Z*en (*) enthalten in die Tabelle2 kopieren:
Sub suchen_kopieren()
Application.ScreenUpdating = False
Dim Begriff As String, gefunden As Variant, firstAddress As Variant, _
Zeile As Long
Begriff = InputBox("suche nach:", "Suchbegriff")
If Begriff = "" Then Exit Sub
With Sheets("Tabelle1").Cells
Set gefunden = .Find(Begriff, LookIn:=xlValues)
If Not gefunden Is Nothing Then
firstAddress = gefunden.Address
Do
Zeile = gefunden.Row
Rows(Zeile).Copy
Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial
Set gefunden = .FindNext(gefunden)
Loop While Not gefunden Is Nothing And gefunden.Address <> firstAddress
End If
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Das funktioniert so leider nicht. Für andere Buchstaben/Zeichen funktioniert das prima. Hat jemand eine Idee, wie man das Makro ändern müsste, damit das auch mit dem *Z*en funktioniert? Ich wäre sehr froh um Hilfe!
Vielen Dank schon Mal!
Suki
Antwort schreiben
Antwort 1 von Saarbauer vom 04.12.2020, 13:20 Options
Hallo,
im Moment fällt mir nur Problem mit Groß- und Kleinschreibung ein.
Gruß
Helmut
Antwort 2 von Suki vom 04.12.2020, 13:34 Options
Hm, merkwürdig, ich hatte geschrieben "*Z*", das wurde dann aber *Z* verwandelt.
Also was ich meine: alle Daten, die einen * (Stern) enthalten.
Das hat ja nichts mit Gross-/Kleinschreibung zu tun, oder?
Antwort 3 von Suki vom 04.12.2020, 13:35 Options
Wieder. Also ich schrieb A s t e r i s k, aber halt ohne Leerschläge.
Antwort 4 von Saarbauer vom 04.12.2020, 21:37 Options
Hallo,
habe mal dein makro getestet, funktioniert auch mit *.
Wenn du jedoch nich auf der Tabelle 1 bist, läuft es ins Gebüsch .
Mein Vorschlag
Sub suchen_kopieren()
Application.ScreenUpdating = False
Dim Begriff As String, gefunden As Variant, firstAddress As Variant, _
Zeile As Long
Begriff = InputBox("suche nach:", "Suchbegriff")
If Begriff = "" Then Exit Sub
With Sheets("Tabelle1").Cells
Set gefunden = .Find(Begriff, LookIn:=xlValues)
If Not gefunden Is Nothing Then
firstAddress = gefunden.Address
Do
Zeile = gefunden.Row
[b]Sheets("Tabelle1").Select[/b]
Rows(Zeile).Copy
Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial
Set gefunden = .FindNext(gefunden)
Loop While Not gefunden Is Nothing And gefunden.Address <> firstAddress
End If
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Gruß
Helmut
Antwort 5 von Saarbauer vom 04.12.2020, 21:39 Options
Hallo,
das sollte Fett sein
[b]Sheets("Tabelle1").Select[/b]
Sheets("Tabelle1").SelectGruß
Helmut
Antwort 6 von Suki vom 05.12.2020, 13:13 Options
Danke!
Ich habe es probiert, bei mir kopiert es immer ALLE Daten. Geht irgendwie nicht =(
Antwort 7 von Saarbauer vom 05.12.2020, 13:40 Options
hallo,
kannst du deine Daten mit Makro mal zur Verfügung stellen oder ein gleichwertiges Beispiel, da so dein Problem nicht nachvollziehbar ist
Gruß
Helmut