Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1048to1052
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

Find

Find
10.02.2009 09:20:00
Björn
Guten Morgen liebe Community :)
kleine Frage mit hilfe nachfolgendem Code kann ich ja relativ schnell und einfach einen Datensatz finden
sBegriff$ = Suche
Set gZelle = ActiveSheet.Range("D702:DF3000").Find(sBegriff)
wie muss ich ihn umschreiben wenn ich mehrere Datensätze gleichzeitig überprüfen möchte Bsp.
If InStr(1, rng, Suche1, 3) > 0 Or InStr(1, rng, Suche2, 3) > 0 Or InStr(1, rng, Suche3, 3) > 0 Then
Lieben Dank
grüße
Björn

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Find
10.02.2009 09:29:25
Ramses
Hallo
Das geht nicht, weil du hier zwei Dinge kombinierst die nicht gehen.
FIND kann nur einen Begriff verarbeiten
INSTR untersucht auch immer nur einen Begriff, aber mit der IF_AND Verknüpfung sieht es so aus, als ob mehrere Begriffe gleichzeitig geprüft werden können.
FIND für die suche nach einem Begriff
INSTR bietet sich in einer Schleife an, die alle Zellen durchläuft und den Inhalt einer Zelle auf mehrere Vorkommen eines Begriffes überprüft
Also bau dir eine Schleife welche alle Zellen deines Bereiches durchläuft und prüfe jede Zelle mit INSTR
Gruss Rainer
Anzeige
AW: Find
10.02.2009 11:26:31
Björn
Ich hab mal ein bischen gebastelt...
Jemand eine idee wie ich den Code noch vereinfachen könnt.
Vor allem würde ich gerne den Zellbereich als Const / Variable definieren. Hab es mit Bereich versucht aber das hat leider nicht funktioniert.

Sub Auswahl()
Dim gZelle1, gZelle2, gZzelle3 As Range, sBegriff$
Suche1 = "perleffekt"
Suche2 = "metallic"
Suche3 = "schwarz"
With Worksheets("Template")
For Each rng1 In Range(Cells(38, 28), Cells(49, 28))
If rng1.Value = "Lackierung 1" Then
Row_Pos2 = rng1.Row
Col_Pos2 = rng1.Column
sBegriff1 = Suche1
sBegriff2 = Suche2
sbegriff3 = Suche3
Set gZelle1 = .Range(Cells(10, 11), Cells(25, 13)).Find(sBegriff1)
Set gZelle2 = .Range(Cells(10, 11), Cells(25, 13)).Find(sBegriff2)
Set gZelle3 = .Range(Cells(10, 11), Cells(25, 13)).Find(sbegriff3)
If gZelle1 Is Nothing And gZelle2 Is Nothing And gZelle3 Is Nothing Then
Cells(Row_Pos2, Col_Pos2 + 1).Value = "Nein"
Else
Cells(Row_Pos2, Col_Pos2 + 1).Value = "Ja"
End If
End If
Next rng1
End With
End Sub


Anzeige
Was ist den das?
10.02.2009 12:15:00
geschlossen
Hi Björn,
Du magst zwar VBA gut sein und ich bin Verstehen & VBA schlecht, aber kannst du mir mal erklären:
  • was dieser Code mit dem ersten Problem zu tun hat?

  • warum die Referenzierungen in deinem Code einmal auf das ActiveSheet und andermal auf Sheet("Template") zeigen?

  • Warum es in deinem Code Variablen gibt die nicht gebraucht werden und andere die nicht definiert sind?

  • Was das Ganze mit Vor allem würde ich gerne den Zellbereich als Const / Variable definieren. zu tun hat, oder was du damit erreichen willst?

  • Grüsse RS (Erklärung schlecht)
    Anzeige
    Frage immer noch Offen
    10.02.2009 13:37:00
    Björn
    Hallo RS,
    1. es geht nach wie vor um die Function "Find".
    2. Es handelt sich hierbei und einen Code den ich gerade teste, da kann es schonmal passieren, dass die Bezeichnung der Arbeitsmappe differiert. Wobei ich das nicht als Weltuntergang sehe.
    Ferner sind alle meine Variablen und Constanten Global definiert. Was bei der Menge an Code den ich grade schreibe zum lesen für andere unabdingbar ist.
    3. Es geht um diese CodeZeile,
    Set gZelle1 = .Range(Cells(10, 11), Cells(25, 13)).Find(sBegriff1)
    Hier möchte ich gerne den Zellbereich als Variable od. Constante definieren.
    Meine VBA Kenntnisse reichen an die einiger netter User bei weitem nicht ran, daher kann man mich gerne darauf hinweisen, wenn ich etwas unklar schreibe. Doch bitte sollte hierbei die Höflichkeitsform bewahrt werden, und nicht einfach ein Thread auf geschlossen gesetzt werden.
    Vielen Dank für Dein Verständniss
    grüße
    Björn
    Anzeige
    Const sRange="K10:M25" (owT)
    10.02.2009 13:40:42
    RS

    AW: Const range für Cells?
    10.02.2009 13:47:00
    Björn
    Hallo RS,
    leider benötige ich hier die Betrachtung mit Hilfe von Cells.
    grüße
    Björn
    Was ist eine Konstante (Const)? Bitte VBE-...
    10.02.2009 13:57:00
    Luc:-?
    ...Hilfe bemühen, Björn!
    Gruß Luc :-?
    PS: Was machen Laptop & "Himba-Ziegen"bei 40±x°C, Renie...? Wir haben Minus°! ;-)
    Besser informiert sein!
    AW: Was ist eine Konstante (Const)? Bitte VBE-...
    10.02.2009 14:09:00
    Björn
    Hallo Luc,
    ich kann Dir nicht ganz folgen.
    Aber okay, eine Konstante ist ein festdefinierter Wert.
    für mein Beispiel
    With Sheets("Tabelle1")
    .Range(Cells(10, 11), Cells(15, 13))
    End with
    Nun möchte ich lediglich wissen
    wie ich den Teil als Konstante definieren kann '.Range(Cells(10, 11), Cells(15, 13))'
    also zur Verdeutlichung
    Bereich = Range(Cells(10, 11), Cells(15, 13)) was ja nicht funktioniert!
    Grüße
    Björn
    Anzeige
    AW: Was ist eine Konstante (Const)? Bitte VBE-...
    10.02.2009 14:15:00
    D.Saster
    Hallo,
    ungenügende Referenzierung und Set!!!
    With Sheets("Tabelle1")
    Set Bereich = .Range(.Cells(10, 11), .Cells(15, 13))
    End with
    Gruß
    Dierk
    AW: Was ist eine Konstante (Const)? Bitte VBE-...
    10.02.2009 14:42:19
    Björn
    Hallo Dierk,
    da ist der Fehler. Wobei wofür stehen die Punkte vor Cells.
    'Set Bereich = .Range(.Cells(10, 11), .Cells(15, 13))' Wenn Du mir dieses geduldigerweise noch kurz erklären oder vielleicht mit einem Hilfe Link aufwarten könntest :)
    Vielen Lieben Dank
    Grüße
    Björn
    AW: Was ist eine Konstante (Const)? Bitte VBE-...
    10.02.2009 14:54:00
    D.Saster
    Hallo,
    ganz einfach
    in 'Langschrift' müsste es heißen
    Set Bereich = Sheets("Tabelle1").Range(Sheets("Tabelle1").Cells(10, 11), Sheets("Tabelle1").Cells(15, 13))
    Durch den With-Rahmen sparst du Sheets("Tabelle1"), der . muss aber bleiben.
    Ohne . bezieht sich Cells auf das aktive Blatt. Du kannst aber keinen Range auf einem Blatt mit Zellen auf einem anderen Blatt definieren.
    Gruß
    Dierk
    Anzeige
    AW: Was ist eine Konstante (Const)? Bitte VBE-...
    10.02.2009 14:57:00
    Björn
    hmm
    ach deswegen. Okay.
    Danke für das Feedback.
    Björn
    Ziege ist in CH...
    10.02.2009 14:19:00
    RS
    Hi Luc,
    Die Ziegen ziehen umher, so wie ich ;-)
    Bei mir ist grad um die 2°C, bei bis zu 160km/h Sturm.
    Wie gesagt, ich hab Ferien.
    Letzte Woche im weissen 'Sand' mit Brettern an den Füssen die Berge runtergerutscht und jetzt in der warmen Stube bei meinem Schweizer-Host vor der Kiste....;-))
    Was der arme Björn dir und mir erklären will ist mir nicht klar....
    Ich hab sowieso das Gefühl, seit meiner letzten Tät(l)i(ch)gkeiten vor etwa 8 Monaten ist es mit den Deutschkenntnissen in diesem Forum rapide abwärts gegangen. Hat das ev. mit den anderen 'Welt'krisen zu tun, oder sind das nur allgemeine Zerfallserscheinungen?
    GreetZ Renée
    Anzeige
    Auch mit mir geht's bergab...
    10.02.2009 14:36:00
    Renee
    Ich hab sowieso das Gefühl, seit meinen letzten Tät(l)i(ch)gkeiten, vor etwa 8 Monaten, ist es mit den Deutschkenntnissen in diesem Forum rapide abwärts gegangen.
    Renée
    AW: Auch mit mir geht's bergab...
    10.02.2009 14:45:21
    Björn
    Hmm,
    kann es sein, dass Du vielleicht nur einfach einen schlechten Tag erwischt hast.
    Grüße
    Björn
    und Fett kannst du auch nicht richtig setzen
    10.02.2009 14:47:00
    Rudi
    Original:
    meiner letzten Tät(l)i(ch)gkeiten
    Korrektur:
    meinen letzten Tät(l)i(ch)gkeiten
    muss sein:
    meinen letzten Tät(l)i(ch)gkeiten
    Gruß
    Rudi
    Jetzt krieg ich auch mal Fett ab ;-) (owT)
    10.02.2009 14:49:00
    Renee

    Ja, die Deutschkenntnisse,...
    10.02.2009 15:07:55
    Luc:-?
    ...Renée,
    lassen neben den Ausdrucksmöglichkeiten wirklich immer mehr zu wünschen übrig. Eine Erklärung des Phänomens findest du bspw hier... ;-)
    Die ggw Krise wird uns mehr kosten als nur das - und euch da unten mit eurer Ponzi-Staatsfinanzierung noch viel mehr...
    Noch fahren wir in den Ferien meist dahin, wo es warm ist - gern auch in die Urheimat! Und du kommst hierher, in die Urheimat von Vetter Neandertaler... Irgendwie lustig! Schade, dass du da unten wohl keine Netz-Möglichkeiten hast... Wenn man bedenkt, dass hier auch Leute aus Mexico, Kanada, den Emiraten und China schreiben... Aber Afrika ist auch hier benachteiligt. Manchmal kommt mir das alles wie eine Art Strafe dafür vor, dass eure Vorfahren nicht ausgewandert bzw wieder rückgewandert sind... Aber letztlich erwischt es uns doch alle - wie vor 13Tsd Jahren der Komet die Aborigines in Australien und nach nur 200 Jahren Auswanderung die Clovis in NAmerika, oder der Meteorit die Kelten vor ca 2,5Tsd Jahren im nördlichen Alpenvorland. Unsere Meteoriten heißen viell Finanz-& Wirtschaftskrise (Ursache sehr gut erklärt hierin.
    Gruß Luc :-?
    Besser informiert sein!
    Anzeige
    AW: Ziege ist in CH...
    10.02.2009 14:43:00
    Rudi
    Hallo,
    
    oder sind das nur allgemeine Zerfallserscheinungen?
    


    das ist der Untergang des Abendlandes.
    Gruß
    Rudi

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige