Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1692to1696
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

Suche und Rückgabe

Suche und Rückgabe
16.05.2019 23:12:39
MaBlu
Hallo
ich habe ein Makro gefunden aber ich müsste es Anpassen und weis nicht wie?
Kann mir hier jemand helfen?
Sub Suchen()
Dim Zelle As Range
Dim Bereich As Range
Dim rngGefunden As Range
Dim Eingabe As String
Set Bereich = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row) 'Suche bis letzte gefüllte  _
Zelle in Spalte A
Eingabe = UCase(InputBox("Was soll gesucht werden?", "Suchbegriff"))
For Each Zelle In Bereich
If InStr(UCase(Zelle.Value), Eingabe) > 0 Then
If Not rngGefunden Is Nothing Then
Set rngGefunden = Union(rngGefunden, Rows(Zelle.Row))
Else
Set rngGefunden = Rows(Zelle.Row)
End If
End If
Next Zelle
If Not rngGefunden Is Nothing Then
'rngGefunden.Select    'auswählen der gefundenen Zeilen
Sheets.Add            'oder kopieren auf ein neues Blatt  Sheets.Add
rngGefunden.Copy ActiveSheet.Cells(8, 1)
Else
MsgBox ">> " & Eingabe & "
Die Suche soll in Tabelle2 von A7:L1500 stattfinden und die Ausgabe in Tabelle3 ab Zeile 8 ausgegeben werden.
das Makro Funktioniert soweit gut nur macht es mir immer ein Neues Sheet und ich möchte das nicht, die gefundenen Daten sollten in Tabelle3 ab Zeile 8 eingetragen werden.
Ich hoffe ich konnte das einigermass erklären?
Gruss MaBlu

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche und Rückgabe
16.05.2019 23:57:58
Matthias
Hallo
und warum machst Du das dann?

Sheets.Add 'oder kopieren auf ein neues Blatt  Sheets.Add
rngGefunden.Copy ActiveSheet.Cells(8, 1)
Durch das Erstellen eines neuen Blattes wird dieses automatisch zum ActiveSheet
Wenn Du das nicht willst, sondern Tabelle3 anprechen möchtest musst Du das Blatt auch referenzieren.
ungetestet so:
rngGefunden.Copy Worksheets("Tabelle3").Cells(8, 1)

und die Zeile mit Sheets.Add lässt Du weg.
Aber auch Dein:
Set Bereich bezieht sich nicht auf Tabelle2! Sondern auf das gerade aktive Blatt!
Immer sauber referenzieren!
Außerdem suchst Du nicht in A7:L1500, sondern nur in Spalte("A") ab A1
Set Bereich = Range("A1:A" & ...
Gruß Matthias
Anzeige
AW: Suche und Rückgabe, String Markiert
17.05.2019 07:53:53
MaBlu
Hallo Matthias L
vielen Dank deine Angaben und Google haben mir sehr weitergeholfen, das übertragen der Daten geht soweit ich das bis jetzt festgestellt habe, nun möchte ich den gesuchten String bei der Übergabe in Tabelle3 noch markiert haben, kann mir hier noch jemand weiterhelfen vielen Dank.
Das geänderte Makro hier:
Sub Suchen()
Dim Zelle As Range
Dim Bereich As Range
Dim rngGefunden As Range
Dim Eingabe As String
Sheets("Daten").Select
Range("A8").Select
Set Bereich = Range("A8:L" & Cells(Rows.Count, 1).End(xlUp).Row) 'Suche bis letzte gefüllte _
Zelle in Spalte A bis L
Eingabe = UCase(InputBox("Was soll gesucht werden?", "Suchbegriff"))
For Each Zelle In Bereich
If InStr(UCase(Zelle.Value), Eingabe) > 0 Then
If Not rngGefunden Is Nothing Then
Set rngGefunden = Union(rngGefunden, Rows(Zelle.Row))
Else
Set rngGefunden = Rows(Zelle.Row)
End If
End If
Next Zelle
If Not rngGefunden Is Nothing Then
'rngGefunden.Select    'auswählen der gefundenen Zeilen
'oder kopieren auf ein neues Blatt  Sheets.Add
rngGefunden.Copy Tabelle3.Cells(8, 1)
Else
MsgBox ">> " & Eingabe & "
Für eure Hilfe vielen Dank Gruss MaBu
Anzeige
AW: Suche und Rückgabe, String Markiert
17.05.2019 08:30:34
Hajo_Zi
Tabelle3.Cells(8, 1).interior.color=255

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: Suche und Rückgabe, String Markiert
17.05.2019 08:48:15
MaBlu
Hallo Hajo
wenn ich das eingebe läuft das Makro nicht weiter?
Und will Debuggen?
Gruss MaBlu
AW: Suche und Rückgabe, String Markiert
17.05.2019 09:01:43
Hajo_Zi
dazu kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue und ich baue keine Datei nach.
Bei mir geht es.
Gruß Hajo
hier (m)eine Bsp-Datei ...
17.05.2019 08:50:19
Matthias
Hallo
Mal etwas angepasst ...
https://www.herber.de/bbs/user/129836.xlsm
Du bist Dir darüber im Klaren, das Du den ZielBereich in Tabelle3(Zeile 8) immer überschreibst?
Gruß Matthias
Anzeige
AW: hier (m)eine Bsp-Datei ...
17.05.2019 09:09:36
MaBlu
Hallo Matthias
Danke für deine Hilfe
Ja ich weis dass bei jeder Suche die Daten überschrieben werden ist gewollt.
Das mit dem Markieren ist noch nicht so wie ich das möchte, die String können mehrfach vorkommen darum möchte ich sie Farblich Markieren, das hab ich eventuell nicht korrekt ausgedrückt.
Ich habe deine Beispielmappe mit mehrfach gleichen Strings genacht und diese dann farblich markiert so wie ich es mir vorstelle.
Userbild
eventuell kannst du mir hier Helfen?
Besten Dank Gruss MaBLu
Anzeige
AW: hier (m)eine Bsp-Datei ...
17.05.2019 09:31:01
Werner
Hallo,
so:
Sub Suchen()
Dim Zelle As Range, Bereich As Range
Dim rngGefunden As Range, Eingabe As String
'Blatt auf dem du suchst, ggf anpassen
With Worksheets("Suchen")
Set Bereich = .Range("A8:L" & .Cells(Rows.Count, 1).End(xlUp).Row)
Eingabe = UCase(InputBox("Was soll gesucht werden?", "Suchbegriff"))
For Each Zelle In Bereich
If InStr(UCase(Zelle), Eingabe) > 0 Then
If Not rngGefunden Is Nothing Then
Set rngGefunden = Union(rngGefunden, Rows(Zelle.Row))
Zelle.Interior.Color = vbYellow
Else
Set rngGefunden = Rows(Zelle.Row)
Zelle.Interior.Color = vbYellow
End If
End If
Next Zelle
End With
If Not rngGefunden Is Nothing Then
'Ausgabeblatt ggf. anpassen
rngGefunden.Copy Worksheets("Daten").Cells(8, 1)
Else
MsgBox ">> " & Eingabe & "
Gruß Werner
Anzeige
AW: hier (m)eine gelöst
17.05.2019 10:23:25
MaBlu
Hallo Werner
vielen Dank für dein Makro Vorschlag, er Markiert tadellos aber für mich im Falschen Blatt.
Der Vorschlag von Matthias macht genau was ich möchte.
Aber eventuell kann ich das Makro mal benutzen wenn ich die Aktive Tabelle Markieren will.
Gruss MaBlu
Sub markiere() ... tauschen
17.05.2019 09:31:27
Matthias
Hallo
Sub einfach austauschen ...
Option Explicit
Sub markiere()
Dim RnG As Range
For Each RnG In Tabelle3.UsedRange.Cells
If UCase(RnG.Value) = UCase(Eingabe) Then RnG.Interior.Color = vbYellow
Next
End Sub
Gruß Matthias
AW: Sub markiere() ...gelöst
17.05.2019 10:21:22
MaBlu
Hallo Matthias
vielen Dank das war's genau was ich wollte besten Dank und einen schönen Tag.
Gruss MaBlu
Anzeige
noch ein Tipp ...
17.05.2019 10:54:10
Matthias
Hallo
Lösche erst den Zielbereich bevor Du eine neue Suche startest.
Gruß Matthias
AW: Sub markiere() ...gelöst
17.05.2019 10:21:23
MaBlu
Hallo Matthias
vielen Dank das war's genau was ich wollte besten Dank und einen schönen Tag.
Gruss MaBlu

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige