Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
656to660
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
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Text Suchen => Zelle Wert eintragen => Weitersuche

Text Suchen => Zelle Wert eintragen => Weitersuche
29.08.2005 19:56:42
Hartmut
Nach langem Suchen im Forum rufe ich um hilfe:
Habe eine tabelle in der in einzelnen zellen,
in text versteckt, ein bestimmter begriff steht.
Quasi: lakfljsf hallo akdklajsfldj
Wird dieser begriff gefunden soll in dieser zeile in einer bestimmten
spalte ein wert eingetragen werden.
in der eingabe müssten also gemacht werden:
1. suchbegriff (z.B. hallo)
2. spalte für den wert (z.B. AE)
3. wert der eingetragen werden soll (eigentlich immer nur eine 1)
um es schön rund zu machen das ganze in VB....
das sind ja drei wünsche auf einmal ;-)
ich hoffe auf euere hilfe....

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text Suchen => Zelle Wert eintragen => Weiters
29.08.2005 20:05:23
Ramses
Hallo
"...in der in einzelnen zellen, ..."
Im gnazen Blatt oder in einem bestimmten Bereich ?
"...in einer bestimmten spalte.."
Immer in die gleiche oder sind die unterschiedlich, z.B. bestimmter Versatz vom suchbegriff
Gruss Rainer
AW: Text Suchen => Zelle Wert eintragen => Weiters
29.08.2005 20:18:19
Hartmut
Hallo
Wow das ging ja schnell....
"...in der in einzelnen zellen, ..."
Im gnazen Blatt oder in einem bestimmten Bereich ?
Eigentlich in zwei bestimmten Spalten (x und y)
"...in einer bestimmten spalte.."

immer in einer bestimmten spalte, abhängig von dem suchbegriff,
deshalb die eingabe der spalte (bei meiner tabelle sind dies die
Spalten AD-AK die in den entsprechenden zeilen die werte bekommen
könnten) Die begründung dafür: einmal ist der suchbegriff
haallo und ein anderes mal hallo soll aber in der für diesen
suchbegriff in der zugehöringen spalte den wert 1 haben.
(es handelt sich bei den suchbegriffen um produktnamen, die je nach zelle
unterschiedlich geschrieben wurden (kann nicht geändert werden)
die tabelle wird später
exportiert dafür brauche ich diese werte (0 = suchbegriff nein
oder 1 = suchbegriff ja) zur aktivierung von funktionen im wahrenwirtschafts-
system.)
Immer in die gleiche oder sind die unterschiedlich, z.B. bestimmter Versatz vom suchbegriff
Immer die gleichen spalten, siehe oben...
Gruss Rainer
gruss hartmut
Anzeige
AW: Text Suchen => Zelle Wert eintragen => Weiters
29.08.2005 20:51:05
Ramses
Hallo
probier mal das
Option Explicit

Sub Suchbegriff_markieren()
    'by Ramses
    'Sucht in einem bestimmten Bereich nach einem Begriff
    'und schreibt einen bestimmten Wert in eine definierte Offset Spalte
    'Allgemeine Variablen
    Dim tarWks As Worksheet
    Dim rng As Range, sAddress As String
    'Suchbegriff
    Dim sFind As Variant
    'Ergebnis wert
    Dim srchResult As Variant
    'Suchspalten
    Dim col1 As Integer, col2 As Integer
    'Ergebnisspalte
    Dim col3 As Integer
    'Startzeile
    Dim startR As Integer
    'Sonstige Variablen für den Code
    Dim lr As Long, cr As Long, cr1 As Long, cr2 As Long
    '-------------
    'Name_der Tabelle in der gesucht werden soll
    'Bitte Anpassen !!!!
    Set tarWks = Worksheets("Tabelle1")
    startR = 1 'Beginne mit der Suche in Zeile 1
    col1 = 24 'Spalte X
    col2 = 25 'Spalte Y
    col3 = 27 'Spalte AA
    srchResult = 1 'Schreibt 1 in die Ergebnis spalte
    '-------------
    'Ab hier nichts mehr ändern
    cr = 65536
    With tarWks
        If .Cells(cr, col1) = "" Then
            cr1 = .Cells(cr, col1).End(xlUp).Row
        End If
        If .Cells(cr, col2) = "" Then
            cr2 = tarWks.Cells(cr, col2).End(xlUp).Row
        End If
    End With
    If cr1 > cr2 Then lr = cr1 Else lr = cr2
    'Suchbegriff definieren
    sFind = InputBox("Bitte Suchbegriff eingeben:")
    If sFind = "" Then Exit Sub
    'Suchbegriff auf Zelle definieren
    'sFind = Worksheets("Tabelle1").Range("A1")
    With tarWks
        Set rng = .Range(.Cells(startR, col1), .Cells(lr, col2)).Find(What:=sFind, _
            LookAt:=xlPart, LookIn:=xlValues)
        If Not rng Is Nothing Then
            sAddress = rng.Address
            Do
                .Cells(rng.Row, col3) = srchResult
                Set rng = .Range(.Cells(startR, col1), .Cells(lr, col2)).FindNext
                If rng.Address = sAddress Then Exit Do
            Loop
        End If
        NextStart:
    End With
    MsgBox prompt:="Keine neue Fundstelle!"
End Sub



Gruss Rainer
Anzeige
AW: Text Suchen => Zelle Wert eintragen => Weiters
29.08.2005 21:21:42
Hartmut
Hallo Ramses,
selten einen so gut dokumentierten code gesehen,
ich habe meine tabelle1 in ta umbenannt und dies in der entsprechenden
programmzeile eingetragen,
Set tarWks = Worksheets("ta")
dies wird auch bei einem falschen eintrag mit einem fehlerstop erkannt...
in meinem text hatte ich geschrieben das in spalte x und y gesucht wird,
dies ist falsch es sind w und x. dies habe ich in deinem code geändert
col1 = 23 'Spalte W
col2 = 24 'Spalte X
col3 = 30 'Spalte AD (zähle ich da falsch?)
leider läuft der code durch, ohne den suchbegriff gefunden zu haben.
ich habe auch nach einem vollständigen zellinhalt gesucht (kompletten text ins
suchfeld kopiert) auch dies brachte leider nicht den gewünschten erfolg.
auch die suche von teilen des begriffes brachte nichts....
gruss hartmut
Anzeige
AW: Text Suchen => Zelle Wert eintragen => Weiters
29.08.2005 21:28:44
Ramses
Hallo
Tut mir leid, der Code funktioniert bei mir einwandfrei
Kannst du die Tabelle mal hochladen ?
Gruss Rainer
AW: Text Suchen => Zelle Wert eintragen => Weiters
29.08.2005 21:42:15
Hartmut
Hallo Ramses
https://www.herber.de/bbs/user/26160.xls
Wenn ich nach "DD" suche findet er mir W2 aber nicht die W3...
gruß hartmut
AW: Text Suchen => Zelle Wert eintragen => Weiters
29.08.2005 21:56:58
Ramses
Hallo
Msgbox dar nicht sAddress lauten sonder rng.address
Ausserdem ist mir da beim anpassen etwaas verloren gegangen
.findNext(After:=rng)
Ausserdem gehört der Code nicht in das Klassenmodul der Tabelle, sondern in ein Modul
Option Explicit

Sub Suchbegriff_markieren()
    'by Ramses
    'Sucht in einem bestimmten Bereich nach einem Begriff
    'und schreibt einen bestimmten Wert in eine definierte Offset Spalte
    'Allgemeine Variablen
    Dim tarWks As Worksheet
    Dim rng As Range, sAddress As String
    'Suchbegriff
    Dim sFind As Variant
    'Ergebnis wert
    Dim srchResult As Variant
    'Suchspalten
    Dim col1 As Integer, col2 As Integer
    'Ergebnisspalte
    Dim col3 As Integer
    'Startzeile
    Dim startR As Integer
    'Sonstige Variablen für den Code
    Dim lr As Long, cr As Long, cr1 As Long, cr2 As Long
    '-------------
    'Name_der Tabelle in der gesucht werden soll
    'Bitte Anpassen !!!!
    Set tarWks = Worksheets("ta")
    startR = 1 'Beginne mit der Suche in Zeile 1
    
    col1 = 23 'Spalte W
    col2 = 24 'Spalte X
    col3 = 30 'Spalte AD
    srchResult = 1 'Schreibt 1 in die Ergebnis spalte
    '-------------
    'Ab hier nichts mehr ändern
    cr = 65536
    'cr = 1
    With tarWks
        If .Cells(cr, col1) = "" Then
            cr1 = .Cells(cr, col1).End(xlUp).Row
        End If
        If .Cells(cr, col2) = "" Then
            cr2 = tarWks.Cells(cr, col2).End(xlUp).Row
        End If
    End With
    If cr1 > cr2 Then lr = cr1 Else lr = cr2
    'Suchbegriff definieren
    sFind = InputBox("Bitte Suchbegriff eingeben:")
    If sFind = "" Then Exit Sub
    'Suchbegriff auf Zelle definieren
    'sFind = Worksheets("Tabelle1").Range("A1")
    With tarWks
        Set rng = .Range(.Cells(startR, col1), .Cells(lr, col2)).Find(What:=sFind, _
            LookAt:=xlPart, LookIn:=xlValues)
        If Not rng Is Nothing Then
            sAddress = rng.Address
            Do
                MsgBox (rng.Address)
                .Cells(rng.Row, col3) = srchResult
                Set rng = .Range(.Cells(startR, col1), .Cells(lr, col2)).FindNext(after:=rng)
                If rng.Address = sAddress Then Exit Do
            Loop
        End If
        NextStart:
    End With
    MsgBox prompt:="Keine neue Fundstelle!"
End Sub

Gruss Rainer
Anzeige
AW: Text Suchen => Zelle Wert eintragen => Weiters
29.08.2005 22:06:19
hartmut
Hallo Ramses,
Eh..wow klasse danke für deine hilfe,
es funktioniert perfekt! so wie
ich es brauche...
jetzt muss ich nur den code mal für
mich stück für stück durchgehen damit
ich das alles mal richtig lerne... ;-)
noch mal vielen dank für deine schnelle
und umfassende hilfe.
gruß
hartmut
AW: Text Suchen => Zelle Wert eintragen => Weiters
29.08.2005 20:18:29
Hartmut
Hallo
Wow das ging ja schnell....
"...in der in einzelnen zellen, ..."
Im gnazen Blatt oder in einem bestimmten Bereich ?
Eigentlich in zwei bestimmten Spalten (x und y)
"...in einer bestimmten spalte.."

immer in einer bestimmten spalte, abhängig von dem suchbegriff,
deshalb die eingabe der spalte (bei meiner tabelle sind dies die
Spalten AD-AK die in den entsprechenden zeilen die werte bekommen
könnten) Die begründung dafür: einmal ist der suchbegriff
haallo und ein anderes mal hallo soll aber in der für diesen
suchbegriff in der zugehöringen spalte den wert 1 haben.
(es handelt sich bei den suchbegriffen um produktnamen, die je nach zelle
unterschiedlich geschrieben wurden (kann nicht geändert werden)
die tabelle wird später
exportiert dafür brauche ich diese werte (0 = suchbegriff nein
oder 1 = suchbegriff ja) zur aktivierung von funktionen im wahrenwirtschafts-
system.)
Immer in die gleiche oder sind die unterschiedlich, z.B. bestimmter Versatz vom suchbegriff
Immer die gleichen spalten, siehe oben...
Gruss Rainer
gruss hartmut
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige