Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
712to716
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
712to716
712to716
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Spalte nach String durchsuchen
05.01.2006 09:22:30
andS
Hi,
ich habe ein Tabellenblatt "Daten". Dieses Blatt möchte ich in Spalte C nach einem String durchsuchen und jede Fundstelle in das Blatt "Start" kopieren.
Wie mache ich das?
Gruß Andi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte nach String durchsuchen
05.01.2006 09:32:51
Ramses
Hallo
Probier mal
Sub Var_MultiSeek()
    'by Ramses
    'Sucht in der gesamten Mappe nach einem Begriff und kopiert die
    'gefundene Zeile in eine zu definfierende Ergebnistabelle
    Dim tarWks As Worksheet, srcWks As Worksheet
    Dim rng As Range
    Dim sAddress As String
    'Suchbegriff
    Dim sFind As Variant
    Dim cr As Long
    'Name_der_Zieltabelle
    'Bitte Anpassen !!!!
    Set tarWks = Worksheets("Tabelle3")
    'Name der zu durchsuchenden Tabelle
    Set srcWks = Worksheets("Tabelle1")
    cr = 65536
    If tarWks.Cells(cr, 1) = "" Then
        cr = tarWks.Cells(cr, 1).End(xlUp).Row
    End If
    If cr = 0 Then cr = 1
    'Suchbegriff definieren
    sFind = InputBox("Bitte Suchbegriff eingeben:")
    If sFind = "" Then Exit Sub
    'Suchbegriff auf Zelle definieren
    'sFind = Worksheets("Tabelle1").Range("A1")
    Set rng = srcWks.Range("C:C").Find(What:=sFind, _
        lookat:=xlPart, LookIn:=xlFormulas)
    If Not rng Is Nothing Then
        sAddress = rng.Address
        Do
            Application.GoTo rng, True
            'Für die Automation kann die "If"-Anweisung auskommentiert werden
            '---
            If MsgBox("Suchbegriff: " & sFind & ",gefunden in " _
                & srcWks.Name & ", " & rng.Address, vbYesNo + vbQuestion, "Weitersuchen ?") = vbNo Then Exit Sub
            '---
            srcWks.Rows(rng.Row).Copy Destination:=tarWks.Rows(cr)
            cr = cr + 1
            Set rng = srcWks.Cells.FindNext(after:=ActiveCell)
            If rng.Address = sAddress Then Exit Do
        Loop
    End If
    NextStart:
    MsgBox prompt:="Keine neue Fundstelle!"
End Sub

Gruss Rainer
Anzeige
AW: Spalte nach String durchsuchen
05.01.2006 10:16:11
andS
Hi,
hatte mir das etwas einfacher gedacht:

Sub test()
'String aus Combobox
s = cboMasch.Value
Sheets("Daten").Select
For j = 2 To 60
If Cells(j, 3) = s Then
Sheets("Maschinenauswertung").Cells(22, 2).Value = "gefunden"
End If
Next
Sheets("Maschinenauswertung").Select
End Sub

Leider läuft's so nicht...
Was muss ich da ändern?
Gruß Andi
AW: Spalte nach String durchsuchen
05.01.2006 10:26:39
Ramses
Hallo
du hattest eine Frage, die habe ich beantwortet.
Ich habe keine Zeit alle Möglichkeiten durchzuspielen um herauszufinden warum DEIN Code nicht funktioniert.
Ausserdem erfüllt dein Code nicht die grundlegenden Anforderungen, die deiner eigenen Frage zugrunde liegen.
Gruss Rainer
Anzeige
AW: Spalte nach String durchsuchen
05.01.2006 10:34:45
andS
Hi,
bitte sei mir nicht böse, aber dein Code ist mir etwas zu komplex... Außerdem steht er (fast) so in den FAQ...
Es geht auch einfacher:
Wert in Spalte C finden:

Sub test()
For j = 3 To 60
If Cells(j, 3).Value = "test" Then
Cells(j, 3).Select
Selection.Interior.ColorIndex = 3
End If
Next
End Sub

Ist eventuell nicht so sauber, aber läuft...
Außerdem möchte ich mit einer direkten Zuweisung arbeiten...
Ich muss den Code auf meine Bedürfnisse anpassen, daher brauche ich das Verständnis...
Außerdem kann ich nicht meine ganzen Anforderungen (String aus Combobox, mehrere Zellen kopieren etc.) in die Frage packen, da sie dann wahrscheinlich eh nicht beantwortet werden würde!?
Vielleicht hat ja jemand anders Zeit und möchte mir helfen:
s = cboMasch.Value
Sheets("Daten").Select
With ActiveSheet
For j = 3 To 60
If Cells(j, 3).Value = s Then
Cells(j, 3).Select
'Selection.Interior.ColorIndex = 3
Sheets("Maschinenauswertung").Cells(22, 2).Value = Cells(j, 3).Value
End If
Next
End With
Sheets("Maschinenauswertung").Select
Danke für jede Hilfe.
Gruß Andi
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige