Office: Zellen nach bestimmten zeichen durchsuchen

Helfe beim Thema Zellen nach bestimmten zeichen durchsuchen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi, hab ein kleines Problem, ich hab eine Spalte mit werten(keine Datumwerte) zb "28/4/4524"; "3-523-54" usw. Jetzt lass ich mit einer Scheife jede... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von User, 7. Februar 2007.

  1. Zellen nach bestimmten zeichen durchsuchen


    Hi,

    hab ein kleines Problem, ich hab eine Spalte mit werten(keine Datumwerte)
    zb "28/4/4524"; "3-523-54" usw.
    Jetzt lass ich mit einer Scheife jede Zeile in der Spalte anschaun, und möchte immer wenn das "/" zeichen vorkommt zb eine Msgbox mit 1, und wenn das "-" zeichen vorkommt ne Msgbox mit 2.

    Es gibt nur diese 2 darstellungsweisen, und ich möchte also die zellen auf ein bestimmtes zeichen durchsuchen lassen

    :)
     
  2. Hi Stimpers,
    ein paar Varianten für eine Nicht-VBA-Lösung kannst Du hier finden
    http://www.ms-office-forum.de/forum/...d.php?t=203256

    Mit VBA gäbe es diese Möglichkeit:
    Code:
    Das ist jetzt ungetestet und aus dem Kopf... Dürfte aber funktionieren.
    Der Code geht davon aus, dass die Zeichenkette in der ersten Spalte in Tabelle 1 steht. Die ersten 100 Zeilen werden durchsucht. Das anzupassen dürfte aber kein Problem sein, denke ich.
    Schöne Grüße
    Costi
     
  3. Moin, Cosri,

    InStr dürfte gerade bei größeren Mengen von zu prüfenden Zellen und längerem Text zeitsparender sein... *wink.gif*
     
  4. Zellen nach bestimmten zeichen durchsuchen

    Hi Jinx,

    wird schon stimmen, wenn Du das sagst*wink.gif* Ich habe bisher noch nicht mit InStr gearbeitet, müsste ich mir erstmal anschauen.
    Meine Lösung war aus dem Kopf gepostet... ...und bei den heutigen Rechnerleistungen.*wink.gif*

    Schöne Grüße
    Costi
     
  5. Hi,
    danke für die hilfe, aber ich hab es nicht wirklich hinbekommen, ich dachte ich habe es auf die Spalte S (19)angepasst aber es läuft einfach nur durch, und zählt die variable hoch...
     
  6. Moin, Stimpers,

    magst Du bitte Deinen nicht funktioniernden Code posten?
     
  7. Hi, ja ich möchte das er die Spalte S in meinen Tabellenblatt(ist eine variable) strName2 durchsucht, das ist ja noch so ziemlich der ursprungscode...

    Dim symbol As Integer
    Dim Zeile_s As Integer
    For Zeile_s = 1 To 100
    For Zeichen = 1 To Len(strName2.Cells(Zeile_s, 1))
    If Mid(strName2.Cells(Zeile_s, 1), symbol, 1) = "-" Then
    MsgBox "Ich habe ein - gefunden"
    Exit For
    End If
    If Mid(strName2.Cells(Zeile_s, 1), symbol, 1) = "/" Then
    MsgBox "Ich habe ein / gefunden"
    Exit For
    End If
    Next
    Next
     
  8. Zellen nach bestimmten zeichen durchsuchen

    Hi Stimpers,

    sorry. Hab gerade erst gesehen, dass Du noch Schwierigkeiten mit dem Code hast.
    Ich vermute, dass der Fehler folgender ist: In meinem Beispielcode ist "Tabelle1" der VBA-Name und nicht der Name, der auf dem Tabellenreiter steht. Möchtest Du diesen benutzen, musst Du SHEETS("TABELLE1").CELLS(x,y) nutzen.

    Schau mal im VBA-Editor, nach dem VBA-Namen der Tabelle. Den siehst Du im Eigenschaftsfenster. Unter "Diese Arbeitsmappe" sind die einzelnen benutzten Tabellen aufgelistet. Dort steht einmal etwas vor der Klammer und einmal in der Klammer. In der Klammer steht der Name des Tabellenreiters, davor steht der VBA-Name der Tabelle.

    Ich habe Dir mal eine Datei angehängt, die jetzt auf Dein Beispiel abgestimmt ist. Frag nach, wenn noch was unklar ist, kein Problem!

    Schöne Grüße
    Costi
     
  9. hi all

    ich würde weder instr noch mid verwenden!!
    1000 mal schneller geht es mit find
    dann könnte auch mill. Daten sein

    Code:
     
    chris-kaiser, 13. Februar 2007
    #9
  10. Hi Chris!

    Ich wollte bei meinem ursprünglichen Beispiel bleiben, um nicht noch mehr Verwirrung bei Stimpers zu stiften *wink.gif* Jinx und Du habt sicherlich recht, dass es mit Find/Instr vielleicht (oder bestimmt) schneller geht. Ich persönlich habe beide Varianten noch nicht benutzt, werde es mir aber in jedem Fall bei Gelegenheit mal anschauen. Da ich an einem Großprojekt arbeite, ist die Info auf alle Fälle nützlich für mich.
    Nur, ob sich die 3 Varianten zeitlich viel aus dem Weg gehen bei der geringen Datensatzmenge (100 Sätze)?? Bei mehr Sätzen wahrscheinlich schon.
    Dazu kommt, dass Stimpers (meinem Eindruck nach) noch in den VBA-Anfängen ist (ist in keinster Weise ironisch oder abwertend gemeint!!), da ist mein Code vielleicht ein wenig einfacher zu durchschauen!? Aber einen anderen Ansatz hätte ich aus dem Stegreif eh nicht gewusst *wink.gif* Außer das Ganze mit simplen Formel oder dem Autofilter zu lösen.

    Aber davon abgesehen finde ich es immer super, wenn Alternativ-Lösungen gezeigt werden! Man kann immer nur dazulernen!
    Schöne Grüße
    Costi
     
  11. HI, es geht aber ich weiß net warum^^

    könnte mir jemand zum Verständnis mal einfach die IF Bedingung schreiben, die prüft ob in Zelle S2 ein "/" oder "-"vorkommt und wenn ja eine MsgBox mit der jeweiligen Antwort kommt...

    PS: Vielen Danke für die Antworten

    @chris-kaiser: Die Messagebox habe ich halt einfach mal so genannt... Sinn machts nicht das ist wahr...
     
  12. Hi Stimpers,
    ich gehe mal davon aus, dass Du den Code in meiner Tabelle meinst???
    Dann versuch ichs mal:

    If Mid(strName2.Cells(Zeile, 19), Zeichen, 1) = "-" Then
    MsgBox "Ich habe ein - in Zeile " & Zeile & " gefunden"
    Exit For
    End If



    If/End if - Beginn und Ende der If-Abfrage
    Mid -> Abfrage eines Teiles einer Zeichenkette
    Der Befehl lautet in der Syntax MID(Originaltext, Position des Zeichens was "ausgeschnitten" werden soll, Länge der Zeichenkette die "ausgeschnitten" werden soll)
    strName2 -> VBA-Name der Tabelle in der die Originalzeichenketten stehen, NICHT der Name auf dem Tabellenreiter!
    Cells(Zeile, 19) -> Zelle (Schleifenzähler, Spalte 19 entspricht Spalte S)
    Zeichen, 1 -> Position in der Originalzeichenkette ("Zeichen", Schleifenzähler), Anzahl der Zeichen (1)
    MsgBox "Ich habe ein - in Zeile " & Zeile & " gefunden" -> Messagebox, die ausgibt in welcher Zeile das "-" oder "/" gefunden wurde.
    Exit For -> Sorgt dafür, dass nach dem finden des entsprechenden Zeichens die For-Schleife sofort wieder verlassen wird. Würde man das weglassen, würde das kleine VBA-Prog bei "29-43-45-2" sich dreimal melden: Für jedes "-" einmal. Da Du gesagt hast, dass es in einer Zeichenfolge nur "-" ODER "/" geben kann, habe ich es eingebaut, damit er gleich beim ersten gefundenen Zeichen aus der Schleife herausgeht. Spart unterm Strich ein klein wenig Rechenzeit ein.

    Hoffe, dass es jetzt deutlicher wird. Wenn nicht, einfach fragen!
    Schöne Grüße
    Costi
     
  13. Zellen nach bestimmten zeichen durchsuchen

    Hallo Costi

    stimmt Du hast Recht!!
    es muss nicht immer "die Lösung" sein, ein einfacher Code ist für jemanden der das vielleicht noch selber anpassen muss sicherlich die bessere Option.

    mein Code sollte wirklich nur als Alternative dastehen!!
    bei 100 Datensätzen ist auch vollkommen egal ob mid instr. oder find
    aber bei größeren Datensätzen ist find sicherlich 100 mal schneller
    zum Testen einfach den Bereich auf A1:X10000 erweitern *Smilie


    und @Stimpers
    mein Code unterscheidet ob ein - oder / gefunden wurde
    und gibt das auch so aus

    wenn Du noch beschreiben würdest was das Endziel ist ,würden wir sicher den/die Codes dementsprechend anpassen.
     
    chris-kaiser, 13. Februar 2007
    #13
  14. Nja also dieser Code soll wie gesagt rausfinden ob die Zahlen durch "/" oder "-" getrennt sind, es geht um ein Projekt, wo die Plandaten die ich zum arbeiten bekomme in diesen 2 Varianten ankommen(ja is ziemlich doof weil nicht einheitlich aber egal) und dann will ich diese Zahlenreihe trennen, und für meinen "trenn" code is es wichtig mit was diese Zahlen getrennt sind, sonst ==>Fehler

    Da ich meinen Code ja schon länger fertig hatte, und auf die "-" fixiert habe war ja alles toll, aber jetzt sind die "/" dazugekommen, jetzt wollte ich eben eine IF Bedingung, die das unterscheidet.

    Eigentlich brauch ich keine Schleife, die die Zeilen runterzählt, da ich sowas schon habe...(die Variable "zeilenvariable")
    Was mir voll reichen würde(hab mich am Anfang nicht genau ausgedrückt... sry) ist eine IF Funktion, die nur schaut, ob ein "/" oder "-" in der Zelle auftaucht und dann in meine richtige Trennfunktion leitet.

    Und was ich noch net ganz verstanden habe ist das mit dem Tabellennamen, ich hab eine Variable(strName2) und da soll er in der Spalte 19 suchen.
    Bei mir kommt immer eine Fehlermeldung das ein Objekt erwartet wird...

    PS: ich bin Stimpers, ich teile mir nur einen Internet PC mit meiner Kollegin, die sich angemeldet hat
     
    jenny_oo, 13. Februar 2007
    #14
  15. hiho

    Code:
    hmm, Du sagst der Code hat für - schon funktioniert??
    wenn Du in Spalte 19 suchen möchtest muß auch Spalte 19 eingegeben werden

    For Zeichen = 1 To Len(strName2.Cells(Zeile_s, 1))
    If Mid(strName2.Cells(Zeile_s, 1), symbol, 1) = "-" Then


    strName2 wäre der Codename der Tabelle (VBAName)
    symbol ?? wäre immer 0 da ja diese Variable ja nicht erhöht wird
     
    chris-kaiser, 13. Februar 2007
    #15
Thema:

Zellen nach bestimmten zeichen durchsuchen

Die Seite wird geladen...
  1. Zellen nach bestimmten zeichen durchsuchen - Similar Threads - Zellen bestimmten zeichen

  2. Bestimmte Ziffern in Zelle entfernen

    in Microsoft Excel Hilfe
    Bestimmte Ziffern in Zelle entfernen: Hallo zusammen, Ich habe z.B. in meiner Spalte A/ Zelle 146 folgendes stehen "P-100-301783-10001". Ich möchte gerne in Spalte B/ Zelle 146 den gleichen Text von Spalte A/ Zelle 146 kopieren und...
  3. Wenn in Zelle bestimmter Wert dann kopieren

    in Microsoft Excel Hilfe
    Wenn in Zelle bestimmter Wert dann kopieren: Hallo, ich bin absolut neu was Excel angeht und suche eine Lösung für mein Problem. Ich habe zwei Arbeitsblätter ("Übersicht Zimmer & "Bereiche") mit Haushaltsaufgaben und deren Turnus. Nun...
  4. Hyperlink / bestimmte Zeichen aus Zelle

    in Microsoft Excel Hilfe
    Hyperlink / bestimmte Zeichen aus Zelle: Hi Community, habe zwei Fragen: In einer Zelle befindet sich eine Telefonnummer, diese soll in einer anderen Zelle in den HYPERLINK mit eingebunden werden, allerdings ohne das erste Zeichen,...
  5. Bestimmte Zeichen aus einer Zelle nehmen

    in Microsoft Excel Hilfe
    Bestimmte Zeichen aus einer Zelle nehmen: Hallo Leute, ist es möglich aus einer Zelle einen bestimmen Text raszuziehen? Text in Spalte funktioniert nicht richtig. [ATTACH] z.B würde ich alle MXX raus nehmen wollen oder alle SWXX...
  6. Zeilenumbruch in Zelle zwischen bestimmten Zeichen

    in Microsoft Excel Hilfe
    Zeilenumbruch in Zelle zwischen bestimmten Zeichen: Hallo zusammen, ich hätte da mal wieder eine Frage? Ich habe in einer Zelle folgenden Text stehen: Dieser Text wurde durch verketten mehrerer Zellen erzeugt und formatiert (Zeilenumbruch z.B.)....
  7. Aus Zellen alles RECHTS neben einen bestimmten Zeichen

    in Microsoft Excel Hilfe
    Aus Zellen alles RECHTS neben einen bestimmten Zeichen: Hallo, Ich habe ein Excel Problem und bräuchte dafür eure Hilfe. Ich möchte aus einer Spalte nur das auslesen, was rechts neben dem letzten / steht. Hier ein Beispiel:...
  8. Farbliche Zellen Hervorhebung durch bestimmte Zeichen und ausblendung dieser Zeichen?

    in Microsoft Excel Hilfe
    Farbliche Zellen Hervorhebung durch bestimmte Zeichen und ausblendung dieser Zeichen?: Guten Tag liebe Excel Experten, Ich benötige Hilfe denke aber dass mein Problem nicht allzuschwer von euch zu lösen ist :) Folgendes ich möchte durch bestimmte Zeichen eine Zelle Farblich...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden