Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Excel VBA: in Zelle suchen...
Gehe zu Seite 1, 2  Weiter
zurück: Daten in bestimmten Bereichen mittels Code ausgeben weiter: per Makro Text in Zahlen (Datum) umwandeln Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
mohi
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Jul 2006, 11:39
Rufname:

Excel VBA: in Zelle suchen... - Excel VBA: in Zelle suchen...

Nach oben
       

hallo,

Hab ne Exceldatei in der ich nach bestimmten Buchstaben suchen möchte.

Also, steht Beispielsweise in Spalte "C" unter einander (z.B. von C1 -C1500), irgendwelche Sätzchen und in diesen Sätzchen würde ich gerne nach 2 Buchstaben suchen, z.B. "he"

Wie mach ich nun Excel klar, das ich nur diese Buchtstaben in einer Zelle einer Spalte suchen möchte???

Wenn ich (ActiveCell.Value="he") eingebe, sucht er ja nur die Zellen ab, die wirklich nur den Inhalt "he" haben.
Wenn aber in den Zellen z.B: Wir gehen nach Haus, die Sterne sind aus" steht, wird Excel nix finden können.

Also müsste ich irgendwie Excel sagen: Schau bitte in jeder Zelle nach, ob du die Buchstaben "he" findest.

Excel sollte die Buchstaben nebeneinander finden. Nicht das h am anfang eines Satzes steht und e am Ende, also er sollte wirklich nur nach "he" in Reihe suchen und finden.

Ich wäre sehr glücklich, wenn ihr mir helfen könntet.

1000Dank

mohi
Karl_pb
Anfänger


Verfasst am:
13. Jul 2006, 11:47
Rufname:
Wohnort: Zu Hause


AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

Hallo,

vielleicht ist das ein Ansatz:

Code:

Sub check()
Dim rg As Range
Dim firstAdr$
Set rg = Cells.Find("he", LookIn:=xlValues, lookat:=xlPart)
If Not rg Is Nothing Then
    firstAdr = rg.Address
    Do
        MsgBox rg.Value
        Set rg = Cells.FindNext(rg)
    Loop Until (rg.Address = firstAdr)
End If
End Sub


kopiert in die CodeSection des betreffenden Sheets

_________________
Der Karl 8)

What time is love?
mohi
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Jul 2006, 12:08
Rufname:

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

Das ging ja verdammt schnell mit der Antwort!!!
Allein für die schnelle Antwort, freu ich mich wie verrückt, vielen Dank...

Also ich lass mal die Katze ausm Sack, ich hab folgenden Code geschrieben:

Option Explicit
Private Sub Start_Click()

Dim Anzahl As Integer
Dim CC As String

Sheets("Reports").Select
Range("B3").Value = 0
Range("C3").Value = 0



Sheets("Data").Select
Sheets("Data").Range("A2").Select

Anzahl = 0
While (ActiveCell.Value <> "End")
If ((ActiveCell.Value = "x") Or (ActiveCell.Value = "X")) And (ActiveCell.Value = "CH") Then
Anzahl = Anzahl + 1
End If
ActiveCell.Offset(1, 0).Select
Wend

Sheets("Reports").Select

Sheets("Reports").Range("B3").Select



Sheets("Data").Select
Sheets("Data").Range("AC2").Select

Anzahl = 0
While (ActiveCell.Value <> "End")
If ((ActiveCell.Value = "y") Or (ActiveCell.Value = "Y")) And (ActiveCell.Value = "IT") Then
Anzahl = Anzahl + 1
End If
ActiveCell.Offset(1, 0).Select
Wend

Sheets("Reports").Select
Sheets("Reports").Range("C3").Select

End Sub


So, ich hoffe, du drehst jetzt nicht durch, wegen dem Chaos, wäre aber cool, wenn ich hier vorwärts kommen würde.

Also, ich versuch nun ein Code zu erstellen, der in der Spalte A nach einem x bzw einem e sucht und in Spalte f nach den Buchtsaben CH oder IT

Auf einem anderen Tabellenblatt ist dann die Ausgabe des ergebnis.

Soweit funktioniert dieser Code, nur kann er halt nicht nach diesen Buchstaben suchen, weil halt mehr als nur diese Buchstaben in einer Zelle steht...

Auf dem zweiten Tabellenbaltt ist halt n Knöpche und wenn ich auf den klicke, dann startet die Suche...

Was meinst du, wie könnte ich deinen Code hier einbauen???

Was mir etwas Kopfschmerzen macht ist z.B. das hier:
If ((ActiveCell.Value = "x") Or (ActiveCell.Value = "X")) And (ActiveCell.Value = "CH") Then

Das hier: ((ActiveCell.Value = "x") Or (ActiveCell.Value = "X")) soll er in Spalte A suchen und das hier: (ActiveCell.Value = "CH") in Spalte H

Hier beginnen bei mir die Koppfschmerzen


Vielen Dank nochmal für deine Mühe...
Karl_pb
Anfänger


Verfasst am:
13. Jul 2006, 13:21
Rufname:
Wohnort: Zu Hause

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

He,

davon war nix erw�hnt, gleich zwei Suchbedingungen auf einmal? Dann ist Find nicht die richtige Methode. Aber ich gebe mal einen Hinweis:

Zitat:

InStr-Funktion


Gibt einen Wert vom Typ Variant (Long) zur�ck, der die Position des ersten Auftretens einer Zeichenfolge innerhalb einer anderen Zeichenfolge angibt.

Syntax

InStr([Start, ]Zeichenfolge1, Zeichenfolge2[, Vergleich])



N�heres �ber F1, wenn der Cursor auf InStr steht. Wink

_________________
Der Karl 8)

What time is love?
mohi
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Jul 2006, 13:55
Rufname:


AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

Ja nicht nur das, ich hab auch nen Fehler reingeschrieben, am besten du schaust dir mal meinen Excel-Datei an...

Im Grunde genommen besteht meine ExcelListe aus zwei Spalten.

Spalte A und Spalte B

In Spalte A steht, wer da ist und wer nicht da ist und in Spalte B stehen die Adressen.

Ich möchte nun wissen, von denen die da sind, wieviele Schweizer und wieviele Italiener da sind...

Wenn du mir per PN deine Email gibst, dann kann ich dir gerne mal die Excel-Datei schicken...

Sie Funktioniert auch soweit, nur schaffe ich es nicht, in zwei Zellen auf einmal zu schauen und nicht nur das, er muss ja dann auch in einer Zelle nach dem Ländercode suchen...

Im Moment habe ich etwas die Nase voll von der Versucherei, aber spätestens dann, wenn es klappt, freu ich mich, wie ein Schnitzel Smile


Schade, das ich hier in dieses Forum nix raufladen kann, dann wäre nämlich die Email-Geschichte überflüssig...
Karl_pb
Anfänger


Verfasst am:
13. Jul 2006, 14:46
Rufname:
Wohnort: Zu Hause

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

So:

Code:
Private Sub Start_Click()

Dim Anzahl&
Dim cntIt&, cntCH&, temp$
Dim i&

With Sheets("Status")
    .Range("B3").Value = 0
    .Range("C3").Value = 0
End With
With Sheets("Daten")
    While Not IsEmpty(.Range("A1").Offset(i + 1, 0).Value) and i<65536
        i = i + 1
        temp = CStr(.Range("A1").Offset(i, 0).Value)
        If InStr(1, temp, "Da") Then
            If InStr(1, .Range("A1").Offset(i, 1).Value, "CH") Then
                'es ist ein Schweizer
                cntCH = cntCH + 1
            ElseIf InStr(1, .Range("A1").Offset(i, 1).Value, "IT") Then
                'es ist ein Italiener
                cntIt = cntIt + 1
            End If
        End If
    Wend
End With
With Sheets("Status")
    .Range("B3").Value = cntCH
    .Range("c3").Value = cntIt
End With
End Sub

_________________
Der Karl 8)

What time is love?
mohi
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Jul 2006, 15:02
Rufname:

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

Karl, ab heut bist du Karl der Große für mich...

ich habs rauskopiert und dann in meinem Sheet rein kopiert und es funktioniert einwandfrei...

So, jetzt muss ich dich aber mal was fragen, Offset sagt ja aus, in wlecher Zelle er weiter suchen soll, oder???

Wenn ich jetzt Offset (1,0), dann jumpt Excel immer indie Nächste Zelle darunter, soweit, sogut, aber was bedeutet (i + 1, 0)? Was soll dieses i?
oder ist dieses i die Variable, die du da oben bei Dim reingeschrieben hast???

Mir fehlt noch einwen ig der Durchblick, aber langsam dämmerts...

10000000000000 Dank dir...
mohi
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Jul 2006, 15:03
Rufname:

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

und noch ne Frage: oben bei den Dims steht manchmal $ und manchmal &, warum???
mohi
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Jul 2006, 15:08
Rufname:

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

Entschuldige, das ich dir jetzt total auf den Keks gehe, was hast du gemacht, damit das nicht bis ganz unten durchcheckt???

Also ich schreibe normalerweise unter dem letzten Eintrag Ende, in dem VBEditor schreibe ich dann (ActiveCell.Value <> Ende) und wenn mein Programm dann an diese zelle ankommt, stopt er, mach ich das nicht, rattert VBA das alles runter bis zur letzten Zelle und das kann bei 65tsd Zellen dauern...
Karl_pb
Anfänger


Verfasst am:
13. Jul 2006, 15:13
Rufname:
Wohnort: Zu Hause

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

Hallo,

"der Große" hieß ich auch schon vorher Razz

Die Variable i ist eine Zählvariable und soll mit Offset die Entfernung von A1 darstellen. Range("A1").Offset (1,0) heißt nix anderes als A2 und .Offset(2,0) hat A3 und demzufolge .Offset(0,1) also B1. Das wars.

Die lustigen Zeichen sind Abkürzungen für Schreibfaule (sogenannte Typkennzeichen $=String, &=Long, #=Double etc.)

[Edit]

Wenn in A... nichts mehr drin steht, kann man ja die Schleife beenden und das ist die Abbruchbedingung: while not isempty(.range("A1").offset(i+1,0).value). Wenn alle Zeilen beschrieben sind, dann muss aber spätestens bei 65536 Sense sein (Blattgrenze).

_________________
Der Karl 8)

What time is love?
mohi
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Jul 2006, 15:33
Rufname:

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

Sei froh, das du nicht mein Nachbar bist, das sage ich dir, ich würd dich tausendmal am Tag nerven Smile

Weißt du was ich richtig Klasse finde???
Das du mir hilfst, ohne zu meckern und zu Jammern, wirklich!!!!
Andere scheißen einen da wirklich an...

Also Großes Lob an dich!!!


Wie würdest du die Variablen schreiben, wenn du nicht schreibfaul wärst und du sagen wir beispielsweise mohi heißen würdet?

Du schreibst:

Dim Anzahl&
Dim cntIt&, cntCH&, temp$
Dim i&

Ich schreibe wie?
Karl_pb
Anfänger


Verfasst am:
13. Jul 2006, 16:00
Rufname:
Wohnort: Zu Hause

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

Dim Anzahl as Long
Dim cntIT as Long, cntCH as Long, temp as String
Dim i as Long

That´s it.

_________________
Der Karl 8)

What time is love?
mohi
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Jul 2006, 16:07
Rufname:

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

Noch eine letzte Sache und dann hab ichs drauf,ne am besten noch zwei Sachen und dann lass ich dich in Ruhe, ganz ehrlich!!!

Was beudeutet das cnt in cntIT?

IT steht ja für Italien und cnt?

Soll das etwa count heißen???


Und nun die letzte Sache:

Wenn ich Range("a2").Select schreibe, dann bedeutet es, das er in A2 springen soll.

Wenn ich Sheets("Data").Select schreibe, dann bedeutet das, das er in das Tabellenblatt Data springen soll

Wie kann ich beides kombinieren?

z.B. so: Sheets.("Data"/"A2").Select

oder so: Sheets.("Data").Range("A2").Select

Oder kann man das nur so schreiben:
Sheets.("Data").Select
Range("A2").Select
Karl_pb
Anfänger


Verfasst am:
13. Jul 2006, 16:16
Rufname:
Wohnort: Zu Hause

AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

cnt = count (interne Bezeichnung vom großen Karl, da könnte aber auch desoxyribonukleinsaeure stehen)

Select wählt ein Objekt aus - ist aber meistens überflüssig, verbraucht zuviel Zeit. Man kann den Wert auch direkt zugreifen, ohne dass die Zelle den Fokus hat:

Sheets("Data").Range("A2").Value

(völlig ohne Selects) Wink

_________________
Der Karl 8)

What time is love?
mohi
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Jul 2006, 16:24
Rufname:


AW: Excel VBA: in Zelle suchen... - AW: Excel VBA: in Zelle suchen...

Nach oben
       

Ich muss wohl noch vieeeel lernen Sad

Aber was solls, lernen macht Spaß (wenn das mein Vater hören könnte Very Happy)

Vielen Dank nochmal für deine Hilfe

Da ich jetzt öftrs mit VBA rummache, werd ich mich bestimmt hier öfters aufhalten, alles Gute dir...

mohi
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Bei der Formel "=C5-((B6-B5)*G3)" soll die Zelle G 2 Gast 1502 26. Nov 2004, 15:55
Gast Bei der Formel "=C5-((B6-B5)*G3)" soll die Zelle G
Keine neuen Beiträge Excel Formeln: Suchen eines Wertes in einer Zeile 1 AxelChris 1731 25. Nov 2004, 17:25
Patrick0705 Suchen eines Wertes in einer Zeile
Keine neuen Beiträge Excel Formeln: SVERWEIS, Wert aus der nächsten zelle 9 Dave 5483 11. Okt 2004, 13:50
Dave SVERWEIS, Wert aus der nächsten zelle
Keine neuen Beiträge Excel Formeln: Leerzeichen in Zelle löschen 3 pkegelking 1807 01. Okt 2004, 11:57
pkegelking Leerzeichen in Zelle löschen
Keine neuen Beiträge Excel Formeln: inhalt einer zelle suchen und wiedergeben 2 winni 5568 23. Sep 2004, 16:47
winni inhalt einer zelle suchen und wiedergeben
Keine neuen Beiträge Excel Formeln: werte innerhalb eines bestimmten bereichs suchen 3 infantil88 3545 17. Sep 2004, 10:54
Arnim werte innerhalb eines bestimmten bereichs suchen
Keine neuen Beiträge Excel Formeln: Wert in einem Bereich suchen. 5 khummel 16979 16. Sep 2004, 19:54
khummel Wert in einem Bereich suchen.
Keine neuen Beiträge Excel Formeln: Frage... (suchen und löschen) 2 fs-racing 695 01. Sep 2004, 12:13
fs-racing Frage...  (suchen und löschen)
Keine neuen Beiträge Excel Formeln: Autom. Farbänderung einer Zelle. 1 Stefan 66 5197 19. Aug 2004, 14:51
fl618 Autom. Farbänderung einer Zelle.
Keine neuen Beiträge Excel Formeln: Suche Zelle nach einem ähnlichem Wert ab... (wildcart) 2 Ranzi 2538 09. Aug 2004, 18:22
icke Suche Zelle nach einem ähnlichem Wert ab... (wildcart)
Keine neuen Beiträge Excel Formeln: Text und fortlaufende Nr. in eine Zelle 2 Strebe nach Können 1013 16. Jul 2004, 19:19
Strebe nach Können Text und fortlaufende Nr. in eine Zelle
Keine neuen Beiträge Excel Formeln: punkt am ende der zelle? 3 marKUSS 1815 08. Jul 2004, 14:26
Gast punkt am ende der zelle?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks