Office: Zellinhalt suchen und gefundene Zelle markieren

Helfe beim Thema Zellinhalt suchen und gefundene Zelle markieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo ihr VBA-Spezialisten, ich habe folgendes Problem und komme, trotz probieren mehrere Möglichkeiten aus diversen Foren nicht weiter. Ich habe das... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von User, 22. August 2011.

  1. Zellinhalt suchen und gefundene Zelle markieren


    Hallo ihr VBA-Spezialisten,

    ich habe folgendes Problem und komme, trotz probieren mehrere Möglichkeiten aus diversen Foren nicht weiter.

    Ich habe das Problem, dass ich in einem Tabellenblatt (Excel 2003) in Spalte A verschiedene Benutzernamen stehen habe. Nun möchte ich per VBA die Adresse der Zelle, in der der angemeldete Benutzername steht in eine Variable schreiben und diese Zelle auch markieren. Außerdem möchte ich eine Fehlermeldung ausgeben, wenn der Benutzer nicht gefunden wurde.

    Mein bisher "erfolgreichster" Versuch lautete wie folgt:

    Option Explicit
    Dim User As String
    Dim View As String
    Dim Plan As String

    Private Sub CBUserView_Click()
    Dim SearchVar As Range
    Dim Zelle As String

    User = Application.UserName
    View = "Benutzersicht"
    Plan = "Lieferplanung"

    Set SearchVar = Columns(1).Find(User)
    If SearchVar Is Nothing Then

    MsgBox ("Benutzer " & User & " wurde in Tabellenblatt " & View & _
    " nicht gefunden. Bitte legen Sie Ihren Benutzernamen gemäß " _
    & "Anleitung an und wählen die Spalten aus, die für Sie interessant sind.")
    Exit Sub
    End If
    Zelle = SearchVar.Address
    Cells(Zelle).Activate
    End Sub

    Wäre schön, wenn ihr mir helfen könntet, da ich an dem Problem langsam verzweifle. Das Problem ist, dass ich in Spalte A nie einen Sucherfolg habe, obwohl mein Benutzername, der auch korrekt in der Variable steht (allerdings mit Anführungsstrichen???), auch im Tabellenblatt in Spalte A steht.

    Vielen Dank im Voraus und viele Grüße

    VBA-Anfänger

    :)
     
  2. Beverly
    Beverly Erfahrener User
    Hi,

    gesucht wird auch im richtigen Tabellenblatt? Wenn es nicht das aktvie Tabellenblatt ist, musst du noch den Namen das Blattes ergänzen
    Code:
    Ich würde außerdem nach einer eindeutigen Übereinstummung suchen: .Find(User, LookAt:=xlWhole)


    Zellinhalt suchen und gefundene Zelle markieren grusz.gif
     
    Beverly, 24. August 2011
    #2
  3. Hallo Beverly/All,

    vielen Dank für Deine Hilfe. Leider versteh ich nicht so genau, warum es bei mir nicht funktioniert hatte. Ich hatte, wenn auch aus Versehen nicht in den Thread kopiert, vor der Set-Anweisung eine Zeile

    Worksheets(View).Select bzw.
    Worksheets(View).Activate

    stehen und es ging trotzdem nicht!? Auch mit dem "xlWhole" hat es bei nochmaligen Tests mit "meiner Lösung" eben nicht funktioniert. Wenn Du/Ihr mir da noch eine Antwort hättest, könnte ich heute vermutlich besser schlafen ;-)

    Inzwischen hat sich auch noch ein weiteres Problem aufgetan, dass ich ebenso wenig verstehe. Nachdem ich den Range SearchVar gefüllt habe, will ich die Spalte und Zeile der gefundenen Zelle in Variablen auslesen und diese dann auswählen. Hier meine Syntax:

    Row = SearchVar.Row
    Column = SearchVar.Column
    Worksheets(View).Select
    Cells(Row, Column).Select

    Funktioniert einwandfrei, bis zum Cells(Row, Column).select, dann kommt ein "Laufzeitfehler 1004" und ich weiß nicht warum? Die Variablen Row und Column hatte ich schon als String und Single deklariert.

    Wäre schön, wenn Du/Ihr mir noch einmal helfen könntet.

    Vielen Dank im Voraus und viele Grüße
    VBA-Anfänger

    P.S.: Gibt es eigentlich einen Unterschied zwischen .select und .activate?
     
  4. Beverly
    Beverly Erfahrener User

    Zellinhalt suchen und gefundene Zelle markieren

    Hi,

    dein ursprünglicher Code mit der ergänzten Zeile zum Aktivieren des Tabellenblattes funktioniert bei mir (Excel2010) problemlos - ich kann also leider nicht sagen, weshalb es bei dir nicht funktioniert hat. Ich war mit meiner Antwort nur davon ausgegangen, dass der Name nicht gefunden wird, da eben in einem falschen (da gerade nicht aktiven) Tabellenblatt gesucht wird.

    Weshalb bei Cells(Row, Column).Select (nach dem Aktivieren des Tabellenblattes) ein Fehler ausgelöst wird, kann ich ebenfalls nicht nachvollziehen. Die einzige Möglichkeit, die mir einfällt wäre, dass das Tabellenblatt geschützt ist und nur ungeschützte Zellen ausgewählt werden dürfen. Allerdings wird in Excel2010 dabei kein Fehler ausgelöst.

    Versuche es stattdessen mit der folgenden Codezeile:
    Code:
    Unterschied zwischen Select und Activate: Select wählt das angegebene Objekt aus und Activate macht es zum aktiven Objekt, aktiviert es also. Laut VBA-Hilfe ist Select für einen Zellbereich, Activate für einzelne Zellen gedacht - allerdings sind beide Methoden in etwas gleichwertig. Einen Unterschied kannst du z.B. feststellen, wenn du die folgenden beiden Codes testest:

    Code 1
    Code:
    Code 2
    Code:
    In Code 1 wird der Bereich zuerst markiert und bleibt auch markiert, obwohl A3 nun die aktive Zelle ist. In Code 2 wird der Bereich zuerst markiert und dann die Markierung gelöscht, weil nun Zelle A3 sowohl die Markierung als auch die aktive Zelle ist.


    Zellinhalt suchen und gefundene Zelle markieren grusz.gif
     
    Beverly, 24. August 2011
    #4
  5. Vielen Dank für Deine Hilfe, mit der goto-Anweisung funktioniert es. Geschützte Zellen gibt es auf der Seite in dem Sinn nicht, ich habe lediglich die Gültigkeit für einen Großteil der Zellen eingestellt.

    Ich habe jdf. beschlossen (vorerst) nicht weiter nachzuforschen, warum meine Codezeilen nicht funktionieren.

    Bin mal gespannt, wann das nächste Problem auftaucht...

    Viele Grüße

    VBA-Anfänger
     
Thema:

Zellinhalt suchen und gefundene Zelle markieren

Die Seite wird geladen...
  1. Zellinhalt suchen und gefundene Zelle markieren - Similar Threads - Zellinhalt gefundene Zelle

  2. Teil des Zellinhaltes abfragen in VBA

    in Microsoft Excel Hilfe
    Teil des Zellinhaltes abfragen in VBA: Guten Tag, ich möchte in Zelle E1 den linken 4-stelligen Teil in Zelle A3 abfragen. Habs versucht mit IF (LEFT(R[2]C[-3],4) = "8396") then ... Else ... End If Wer kann...
  3. Arbeitsblätter ein- bzw ausblenden nach Zellinhalt geschützte Arbeitsmappe

    in Microsoft Excel Hilfe
    Arbeitsblätter ein- bzw ausblenden nach Zellinhalt geschützte Arbeitsmappe: Arbeitsblätter ein- bzw ausblenden nach Zellinhalt in einer geschützten Arbeitsmappe Hallo zusammen, dass habe ich bisher hinbekommen...wenn die Arbeitsmappe nicht geschützt ist dann geht es...
  4. Zellinhalt als Datei im Notepad speichern

    in Microsoft Excel Hilfe
    Zellinhalt als Datei im Notepad speichern: Hallo Experten da komme ich nicht mehr weiter...... nur der Zellinhalt von zB. Zelle H3 (bis zu 10000 Zeichen, weder harte noch weiche Zeilenumbrüche sind zugelassen - eine Text- oder CSV-Datei...
  5. Filtern nach Wert in Zellinhalt

    in Microsoft Excel Hilfe
    Filtern nach Wert in Zellinhalt: Hallo. In der angehängten Datei habe ich in "E2" ein Auswahlfeld. Abhängig von diesem Feld möchte ich, daß die Tabelle automatisch nach den Einträgen in den Zellen "F6" bis "F14" gefiltert wird....
  6. VBA Hilfe für Zahlen eingeben und addieren + zellinhalt löschen

    in Microsoft Excel Hilfe
    VBA Hilfe für Zahlen eingeben und addieren + zellinhalt löschen: Hallo Leute ich brauche dringend Hilfe von einem VBA Spezialisten. Ich hoffe ihr seit mir nicht böse wenn ich sage das ich alles in der Datei beschrieben habe. Würde mich sehr freuen wenn jemand...
  7. Zahlen eingeben und addieren + zellinhalt löschen

    in Microsoft Excel Hilfe
    Zahlen eingeben und addieren + zellinhalt löschen: Hallo Leute ich habe ein Problem. Würde gerne wissen ob einer eine Idee hat das mit VBA gelöst werden kann. In einer Tabelle sind werte eingegeben. Gutstücke , Ausschuss jeweils für Früh Spät und...
  8. Zellinhalt suchen und gefundene Zelle ausgeben

    in Microsoft Excel Hilfe
    Zellinhalt suchen und gefundene Zelle ausgeben: Hallo zusammen, ich habe jetzt folgenden Code zum Inhalt einer Zelle suchen gefunden : Code: Set rngzelle = wksstmcredit.Columns("A:A").Find( _ What:=strSearch, _ LookIn:=xlValues, _...
  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