Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

gefundene, dann in Zelle,Zeile springen

Forumthread: gefundene, dann in Zelle,Zeile springen

gefundene, dann in Zelle,Zeile springen
20.11.2014 18:09:28
dieter
Hallo all,
Ein kleines Problem welches ich nicht finden und bewerkstelligen kann.
Ich habe eine Liste, Tabelle mit verschiedene Namen, Tel., Adressen usw. unter sortiert stehen.
Dann eine Tabelle, gefundene wo ich über Userform1 Inputbox nur nach dem Namen ab (A2) suche der mir wenn gefunden in der Tabelle gefundene aufgelistet wird.
Das alles funktioniert wunderbar.
Jetzt möchte ich aber, das wenn der, die Namen gefunden, aufgelistet sind ich per DoubleClick auf dem Namen ab "A2" bis ca. "A30" er mir nur zu der Zelle, Zeile springt von sortiert um dann evt. Änderungen vorzunehmen.
Hoffe konnte mich genügend ausdrücken und
bin im Voraus schon dankbar für jede Hilfe.
Mfg.
dieter

Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Unverständlich
21.11.2014 11:03:40
Frank
Hallo Dieter,
Hoffe konnte mich genügend ausdrücken - dann wohl eher nicht. Dabei ist Dieter ein deutscher Name, da würde ich verständlicheren Text erwarten...
Ich vermute mal wild drauflos:
Deine sortierte Liste mit Adressen und Namen geht bis ca. Spalte 30.
Du hast eine Userform, in die Du einen Namen eingeben kannst, der dann in der sortierten Tabelle gesucht wird.
Ab hier wird's unverständlich... Die Tabelle "gefundene" ist leer? Oder was steht da drin? Es liest sich so, als würde die Zeile mit gefundenen Namen in diese Tabelle kopiert werden. Und Du möchtest dann in dieser kopierten Zeile, in der Tabelle "gefundene" auf eine Zelle doppelklicken, was dazu führen soll, dass Du in der entsprechenden Zeile und Spalte der sortierten Liste Änderungen machen kannst?
Das ist sicher machbar, aber es wäre hilfreich, wenn Du eine Beispieltabelle hochlädst.
Grüsse,
Frank

Anzeige
AW: Unverständlich
21.11.2014 14:54:37
dieter
Hallo Frank,
Du meinst verständlicheren Text möchtest Du haben ? Dann weiß ich nicht warum Du ihn verstanden hast ?
Scheinst wohl ein witziger Typ zu sein. wer lesen kann ist aber im Vorteil. lol.
Wie soll ich Dir einen Code zeigen ? wenn ich nicht weiß wie er geht oder wenn ich kein Beispiel habe.
Habe nur das erst mal, aber weiter ?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Suchbereich As Range
Dim Suchbegriff As Variant
If Intersect(Target, Range("A2:A30")) Is Nothing Then Exit Sub
Cancel = True
Suchbegriff = Target.Text ' oder .Value ?
Set Suchbereich = Worksheets("sortiert").[a:a]
In der Tabelle "gefunden" soll per DoubleClick von A2 - A30
die Zelle, Zeile gesucht angesprungen werden von Tabelle "sortiert"
Hoffe mal jetzt ist es verständlich.?
Mfg.
dieter

Anzeige
Ich bin draussen
21.11.2014 15:22:27
Frank
Du meinst verständlicheren Text möchtest Du haben ? Dann weiß ich nicht warum Du ihn verstanden hast ?
Scheinst wohl ein witziger Typ zu sein. wer lesen kann ist aber im Vorteil. lol.

Das ist mir zu fett. Dein ursprünglicher Beitrag hatte mit Deutsch eher nichts zu tun.
Wer so unbeleckt von dem ist, was er da versucht zu basteln, sollte vielleicht höflicher zu denen sein, die ihm helfen wollen und könnten.
Grüsse,
Frank

Anzeige
AW: Ich bin draussen
21.11.2014 16:29:05
dieter
Hallo Frank,
So ist das eben wenn man einen unüberlegten, nicht angebrachten Satz äußert und bekommt dann Kontra.
Scheinst wohl im Vba gut zu sein, aber vom Leben wenig zu wissen.
Es gibt bestimmt noch andere die helfen könnten und würden.
Nichts für ungut. Bin nicht nachtragend.
Mfg.
dieter

Anzeige
AW: auf Verdacht
22.11.2014 08:57:10
hary
Moin Dieter
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Suchbegriff As Variant
Dim suchbereich As Range
If Intersect(Target, Range("A2:A30")) Is Nothing Then Exit Sub
Cancel = True
Suchbegriff = Target.Value
With Worksheets("sortiert")
Set suchbereich = .Columns(1).Find(what:=Suchbegriff, LookIn:=xlValues, lookat:=xlWhole)
If Not suchbereich Is Nothing Then
.Activate
suchbereich.Select
End If
End With
End Sub

gruss hary

Anzeige
AW: auf Verdacht
22.11.2014 16:27:32
dieter
Hallo Hary,
Vielen Dank für Deinen Code der genau so ist wie ich ihn brauche und er gut funktioniert.
Jetzt komme ich weiter.
Vielen Dank für Deine Hilfe
mfg.
dieter

AW: Ohne zusätzliche Variable
22.11.2014 12:36:12
Gerd
Hallo Dieter!
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A2:A30")) Is Nothing Then
Cancel = True
With Worksheets("sortiert").Columns(1)
If WorksheetFunction.CountIf(.Cells, Target.Value) > 0 Then _
Application.Goto .Parent.Cells(Application.Match(Target.Value, .Cells, 0), 1)
End With
End If
End Sub

Gruß Gerd

Anzeige
AW: Ohne zusätzliche Variable
22.11.2014 16:31:50
dieter
Hallo Gerd,
Auch bei Dir möchte ich mich bedanken für Deinen Code, der ebenso funktioniert wie der von Hary.
Trotz Unruhe hier in meinem Beitrag an allen nochmals ein herzlichen Dank.
Mfg.
dieter

AW: Ohne zusätzliche Variable
22.11.2014 17:07:38
Hajo_Zi
Hallo Dieter,
was ist Offen?
Das konnte ich in Deinem Beitrag nicht lesen.

Anzeige
AW: Ohne zusätzliche Variable
22.11.2014 19:05:16
dieter
Hallo Hajo,
Sorry, habe Haken gesetzt, Ist natürlich erledigt mein Anliegen.
Mfg.
dieter

Genau Folgendes ist kaum zu verstehen, ...
21.11.2014 19:34:38
Luc:-?
…Dieter:
Jetzt möchte ich aber, das wenn der, die Namen gefunden, aufgelistet sind ich per DoubleClick auf dem Namen ab "A2" bis ca. "A30" er mir nur zu der Zelle, Zeile springt von sortiert um dann evt. Änderungen vorzunehmen.
Verstehst du denn dieses ziemlich holprige Deutsch…? Beachte dabei, dass wir deine Tabelle nicht sehen, weil du keine BspDatei hier hochgeladen hast. Ansonsten hört sich das nach Hyperlinks an, die ggf per Formel (xlFkt HYPERLINK), aber auf jeden Fall mit VBA gesetzt wdn müssten. Alternativ und evtl einfacher ginge in VBA auch das Anlegen einer Worksheet_SelectionChange-Ereignis­Prozedur mit entsprd Wirkungs­bereichs­Eingrenzung und ggf dynamischer Ziel­Fest­legung.
Da du aber offensichtlich ein rechter Schlauberger bist, was deine AW an Frank vermuten lässt, wirst du dich sicher auch gut in VBE-Hilfe und hiesigem Archiv (Kopf-Button RECHERCHE) zurecht­finden und das Benötigte zusammen­tragen können… ;->
Im Ggsatz zu dir können wir durchaus auch mal nachtragend sein (man hat da nämlich in den vielen Jahren hier so seine Erfahrungen gemacht)… :-]
Gruß, Luc :-?

Anzeige
AW: Genau Folgendes ist kaum zu verstehen, ...
22.11.2014 16:24:19
dieter
Hallo Luc,
Es wird doch nie so heiß gegessen wie es auf dem Tisch kommt. Frank hätte ja nur sagen brauchen das er mit meiner Aussage nicht zurecht kommt, dann hätte ich es auch anders erklärt. Zudem habe ich auch nicht nur hier im Forum nach einer Lösung gesucht und nichts gefunden was ich bräuchte sondern nur was mit Zellen, Zeilen markieren farblich, kopieren usw. Ich kann auch keine private, teilweise auch geschäftliche Datenbank hochladen was zu verstehen wäre.
Das Ihr hier im Forum auch Stress habt ist nur verständlich wenn Ihr vllt angemacht werdet. Schon aus dem Grund das es viele von euch freiwillig und Ihre Freizeit dafür opfern um anderen zu helfen.
Wie gesagt ich bin nicht nachtragend zu keinem von euch auch nicht bei Frank.
Hoffe konnte ein bisschen Klarheit schaffen und zur Versöhnung beitragen.
Mfg.
dieter

Anzeige
Na, dann iss ja jut...! Gruß owT
22.11.2014 17:29:53
Luc:-?
:-?
;
Anzeige
Anzeige

Infobox / Tutorial

Namen in Excel suchen und per Doppelklick zur Zelle springen


Schritt-für-Schritt-Anleitung

Um in Excel per Doppelklick auf einen Namen in einer Liste zur entsprechenden Zelle in einer anderen Tabelle zu springen, befolge diese Schritte:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge den folgenden Code in das richtige Arbeitsblatt ein:

    • Wähle das Arbeitsblatt aus, in dem du die Doppelklick-Funktion implementieren möchtest (zum Beispiel das Blatt „gefunden“).
    • Füge den Code in das Codefenster ein:
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       Dim Suchbegriff As Variant
       Dim suchbereich As Range
    
       If Intersect(Target, Range("A2:A30")) Is Nothing Then Exit Sub
       Cancel = True
       Suchbegriff = Target.Value
    
       With Worksheets("sortiert")
           Set suchbereich = .Columns(1).Find(what:=Suchbegriff, LookIn:=xlValues, lookat:=xlWhole)
           If Not suchbereich Is Nothing Then
               .Activate
               suchbereich.Select
           End If
       End With
    End Sub
  3. Teste die Funktion:

    • Schließe den VBA-Editor und kehre zu deiner Excel-Tabelle zurück.
    • Doppelklicke auf einen Namen in der Liste (Zellen A2 bis A30) in der „gefunden“-Tabelle. Du solltest automatisch zur entsprechenden Zelle in der „sortiert“-Tabelle springen.

Häufige Fehler und Lösungen

  • Fehler: Nichts passiert beim Doppelklick:

    • Lösung: Überprüfe, ob der Code im richtigen Arbeitsblatt eingefügt wurde. Stelle sicher, dass die Zellen A2 bis A30 im Blatt „gefunden“ tatsächlich die gesuchten Namen enthalten.
  • Fehler: Excel gibt eine Fehlermeldung aus:

    • Lösung: Stelle sicher, dass die „sortiert“-Tabelle existiert und die Namen in der ersten Spalte (Spalte A) stehen.

Alternative Methoden

  1. Hyperlinks verwenden:

    • Du kannst Hyperlinks in Excel erstellen, um direkt zu den entsprechenden Zellen in der „sortiert“-Tabelle zu springen. Dies kann über Formeln oder VBA erfolgen.
  2. Worksheet_SelectionChange-Ereignis:

    • Anstatt Doppelklick zu verwenden, könnte das Worksheet_SelectionChange-Ereignis implementiert werden, um beim Auswählen einer Zelle automatisch zur entsprechenden Zelle in der anderen Tabelle zu springen.

Praktische Beispiele

Hier ist ein Beispiel, wie du den Code anpassen kannst, um die Suche auf eine andere Spalte auszuweiten oder eine zusätzliche Funktion hinzuzufügen:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Suchbegriff As Variant
    Dim suchbereich As Range

    If Intersect(Target, Range("A2:A30")) Is Nothing Then Exit Sub
    Cancel = True
    Suchbegriff = Target.Value

    With Worksheets("sortiert")
        Set suchbereich = .Columns(1).Find(what:=Suchbegriff, LookIn:=xlValues, lookat:=xlWhole)
        If Not suchbereich Is Nothing Then
            .Activate
            suchbereich.Select
        Else
            MsgBox "Name nicht gefunden."
        End If
    End With
End Sub

Tipps für Profis

  • Verwende Option Explicit: Füge am Anfang deines VBA-Moduls Option Explicit hinzu, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.

  • Verfeinere die Suchkriterien: Du kannst die Find-Methode verfeinern, um nach Teilstrings oder in einer bestimmten Art von Daten zu suchen.

  • Nutze benannte Bereiche: Anstatt feste Zellreferenzen zu verwenden, kannst du benannte Bereiche erstellen, um deinen Code flexibler zu gestalten.


FAQ: Häufige Fragen

1. Muss ich VBA aktivieren, um diesen Code zu verwenden? Ja, du musst die Makros in Excel aktivieren, um VBA-Codes auszuführen.

2. Funktioniert dieser Code in allen Excel-Versionen? Der VBA-Code sollte in den meisten modernen Excel-Versionen, einschließlich Excel 2010 und neuer, funktionieren. Achte darauf, dass dein Excel VBA unterstützt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige