Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SVERWEIS Lösung als MsgBox ausgeben

SVERWEIS Lösung als MsgBox ausgeben
04.06.2007 20:14:42
mehmet
Hallo Forum,
ich habe in Tab1 D2:D Codes (Abkürzungen) als String.
Z.B. steht
in Zelle D2 "mfg"
in Zelle D3 "asap"
in Zelle D4 "usw"
in Zelle D5 "asap"
..
In Tabelle Einstellungen stehen in Spalte B4:B40 die Codes und in Spalte A4:A40 die Erklärung.
Ist es Möglich, dass wenn man in Tab1 eine Zelle in Spalte D anklickt und ein Msgbox mit einem Klick sagt, was dieser Code heisst.
Dank und Gruss
mehmet

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SVERWEIS Lösung als MsgBox ausgeben
04.06.2007 20:44:00
Beverly
Hi Mehmet,
das könnte man mit VBA lösen. Wenn ich deinen Tabellenaufbau richtig interpretiert habe, könntest du folgenden Code verwenden

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim raZelle As Range
Set raZelle = Worksheets("Einstellungen").Range("B4:B40").Find(Target)
MsgBox Worksheets("Einstellungen").Cells(raZelle.Row, 1)
Cancel = True
End Sub


Er wird bei einem Doppelklick auf die betreffende Zelle ausgelöst, da es vielleicht störend ist, wenn bei jedem Klick in die Zelle die MsgBox aufgerufen wird.
Mit einem Rechtsklick auf den Tabellenreiter der Tab1 gelangst du in die VBA-Umgebung. Kopiere dann diese Code in das Codefenster rechts.
________________________________________

Anzeige
AW: SVERWEIS Lösung als MsgBox ausgeben
04.06.2007 20:53:38
mehmet
Hello Berverly,
ich bekomme eine Fehlermeldung
Laufzeitfehler '91':
Objektvariable oder With-Blockvarible nicht festgelegt
Duggen zeigt auf:
MsgBox Worksheets("Einstellungen").Cells(raZelle.Row, 1)
Gruss
mehmet

AW: SVERWEIS Lösung als MsgBox ausgeben
04.06.2007 22:13:00
Beverly
Hi Mehmet,
dieser Fehler tritt auf, wenn es den Code in deiner Einstellungstabelle nicht gibt. Das lässt sich aber mit einer Fehlerbehandlung umgehen

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim raZelle As Range
Set raZelle = Worksheets("Einstellungen").Range("B4:B40").Find(Target)
If Not raZelle Is Nothing Then
MsgBox Worksheets("Einstellungen").Cells(raZelle.Row, 1)
Else
MsgBox "Diesen Begriff gibt es nicht"
End If
Cancel = True
End Sub


Bis später,
Karin

Anzeige
AW: SVERWEIS Lösung als MsgBox ausgeben
04.06.2007 22:39:22
mehmet
Hallo Berverly,
erstmal Dnke für deine weitere Unterstützung.
Zu meinem Bedauern läuft der Makro immer noch nicht.
Ich bekomme ständig die Meldung:
"Diesen Begriff gibt es nicht"
Obwohl diese in Tabelle "Einstellungen" vorhanden ist.
Gruss
mehmet

AW: SVERWEIS Lösung als MsgBox ausgeben
04.06.2007 22:54:16
Beverly
Hi Mehmet,
das kann ich in meinem Beispiel nicht nachvollziehen https://www.herber.de/bbs/user/43030.xls. Vielleicht wäre es gut, wenn du deine Arbeitsmappe mal hochlädst, weil ein nachgebautes Beispiel nicht immer alle Bedingungen des Originals berücksichtigen kann.
Bis später,
Karin

Anzeige
AW: SVERWEIS Lösung als MsgBox ausgeben
04.06.2007 22:57:00
mehmet
Hallo Berverly,
gerade habe ich Jan beschrieben, dass es in den Beispieldateien geht, jedoch bei meiner nicht.
Kannsz du bitte dein Makro komentieren, damit ich es nachfolziehen kann.
Es könnte sein, dass ich bestimmte kriterien beachten muss.
Danke und Gruss
mehmet

AW: SVERWEIS Lösung als MsgBox ausgeben
04.06.2007 23:10:31
Beverly
Hi Mehmet,
natürlich, hier der code noch einmal mit Kommentar

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'   Variable für Suchbegriff als Range definiert
Dim raZelle As Range
'   Begriff aus der doppelgeklickten Zelle in Tabelle "Einstellungen" Bereich B4:B40 suchen
Set raZelle = Worksheets("Einstellungen").Range("B4:B40").Find(Target)
'   der Suchbegriff wurde gefunden
If Not raZelle Is Nothing Then
'       Begriff aus der selben Zeile jedoch Spalte A in MsgBox ausgeben
MsgBox Worksheets("Einstellungen").Cells(raZelle.Row, 1)
'   Suchbegriff nicht gefunden
Else
MsgBox "Diesen Begriff gibt es nicht"
End If
'   Cursor verbleibt nicht in der Zelle
Cancel = True
End Sub


Bis später,
Karin

Anzeige
AW: SVERWEIS Lösung als MsgBox ausgeben
04.06.2007 23:47:00
mehmet
Ich komme nicht weiter 8-(

Die Datei https://www.herber.de/bbs/user/43031.xls wurde aus Datenschutzgründen gelöscht


Bitte schau mal nach
Es will bei mir nicht
Gruss
mehmet

AW: SVERWEIS Lösung als MsgBox ausgeben
05.06.2007 08:14:00
Beverly
Hi Mehmet,
der Fehler liegt in deiner Tabelle: die Werte in Tab1 haben ein Leerzeichen zu Beginn, die in "Einstellungen" nicht - heißen z.B. " M39" vs. "M39". Deshalb können sie dort nicht gefunden werden.
Ergänze den Code außerdem nach der Dimensionierung noch durch diese Zeile, womit der Code nur in Spalte D ausgeführt wird
If Target.Column 4 Then Exit Sub
Bis später,
Karin

Anzeige
AW: SVERWEIS Lösung als MsgBox ausgeben
05.06.2007 08:45:49
mehmet
guten morgen beverly,
sorry, wo soll
If Target.Column 4 Then Exit Sub
intigriert werden
gruss
mehmet

AW: SVERWEIS Lösung als MsgBox ausgeben
05.06.2007 09:00:48
Beverly
Hi Mehmet,
diese Zeile soll als 3. Codezeile stehen.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim raZelle As Range
If Target.Column  4 Then Exit Sub
Set raZelle = Worksheets("Einstellungen").Range("B5:B40").Find(Target)
End Sub


Bis später,
Karin

Anzeige
AW: SVERWEIS Lösung als MsgBox ausgeben
05.06.2007 09:12:24
mehmet
8-( geht immer noch nicht!
Klappt es den bei dir mit meiner Datei und deinem Code?
Gruss
mehmet

AW: SVERWEIS Lösung als MsgBox ausgeben
05.06.2007 09:26:00
Beverly
Hi Mehmet,
ich hoffe, du hast in Tab1 Spalte D vor allen Einträgen das Leerzeichen entfernt oder in Tabelle Einstellungen in Spalte B ein Leerzeichen davor geschrieben? Im vorletzten Beitrag hatte ich ja geschrieben, dass sich die beiden Tabellen durch dieses Leerzeichen unterschieden und deshalb der Begriff nicht gefunden werden kann. Ich habe in deiner Arbeitsmappe die Leerzeichen entfernt und der Code funktionert.
https://www.herber.de/bbs/user/43035.xls
________________________________________

Anzeige
AW: SVERWEIS Lösung als MsgBox ausgeben
05.06.2007 09:38:00
mehmet
Owei, jetzt verstehe ich.
Wie peinlich ..
Dank dir 8-)
Eine Frage noch bitte.
Wenn in Einstellungen in Spalte B " 5U" 4 mal vorkommt und diese jeweils 4 verschiedene Bedeutung haben könnten, wie könnte man dies am besten dem User Darstellen.
So wie ich es jetzt verstanden haben, wird bei der ersten Findung beendet.
A-Spalte B-Spalte
REPORT LABEL
A5 H1
A6 ?
A7 3K
A8 3B
A9 31
A10 31
A11 3L
A12 B9
A13 M39
A14 M3A
A15 M3C
A16 42
A17 5U
A18 5U
A19 5U
A20 5U
A21 3S
A22 3S
A23 ?
Gruss
mehmet

Anzeige
AW: SVERWEIS Lösung als MsgBox ausgeben
05.06.2007 10:17:22
Beverly
Hi Mehmet,
das hast du richtig verstanden, es wird nur der erste Suchbegriff gefunden und dann die Prozedur beendet. Wenn die Begriffe mehrfach vorkommen dürfenn, dann könntest du es mit diesem Code versuchen

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim raZelle As Range        ' Variable für Suchbegriff als Range definiert
Dim strStart As String      ' Variable für die erse gefundene Zelladresse
Dim strAnzeige As String    ' Variable für Anzeige der ermittelten Einträge
'   Prozedur verlassen wenn nicht in Spalte D
If Target.Column  4 Then Exit Sub
'   in Tabelle Einstellungen
With Worksheets("Einstellungen")
'       Begriff aus der doppelgeklickten Zelle der Tab1 im Bereich B4:B40 suchen
Set raZelle = .Range("B5:B40").Find(Target)
'       der Suchbegriff wurde gefunden
If Not raZelle Is Nothing Then
'           Startadresse auf Variable schreiben
strStart = raZelle.Address
'           Schleife über alle Zellen die den Suchbegriff enthalten
Do
'               alle Einträge aus Spalte A auf Variable schreiben
strAnzeige = strAnzeige & vbCrLf & .Cells(raZelle.Row, 1)
'               nächste Zelle suchen
Set raZelle = .Range("B5:B40").FindNext(raZelle)
'           Schleife durchlaufen solange noch Suchbegriffe gefunden werden und Zelladresse  _
nicht mit der Startadresse übereinstimmt
Loop While Not raZelle Is Nothing And raZelle.Address  strStart
'           alle gefundenen Begriffe in MsgBox ausgeben
MsgBox Target & " hat folgende Bedeutungen:" & vbCrLf & strAnzeige, , "Hinweis"
'       Suchbegriff nicht gefunden
Else
MsgBox "Diesen Begriff gibt es nicht"
End If
End With
'   Cursor verbleibt nicht in der Zelle
Cancel = True
'   Variable leeren
Set raZelle = Nothing
End Sub


Bis später,
Karin

Anzeige
AW: SVERWEIS Lösung als MsgBox ausgeben
05.06.2007 10:30:15
mehmet
Beverly, was soll ich sagen.. 8-)
Es funktionier super.
Echt cool. Herzlichen Dank für deine Hilfe und Gedult mit mir.
Du hast es sogar kommentiert.
Viele Grüsse aus Kölle 8-)
mehmet

AW: SVERWEIS Lösung als MsgBox ausgeben
05.06.2007 09:42:00
Jan3
Hi,
Wie Beverly schon angemerkt hat, stimmen die Einträge nicht überein. Mit der Funktion GLÄTTEN kannst Du die Leerzeichen eliminieren und dann auf die daten der Spalte D mit Menü Bearbeiten-Inhalte einfügen-Werte
einfügen. Dann funktioniert es auch.
Jan

AW: SVERWEIS Lösung als MsgBox ausgeben
05.06.2007 09:59:00
mehmet
Ja, sorry. War mein fehler!
Peinlich ... von mir.
und es funktioniert 8-)
Dank dir.
Gruss
mehmet

AW: SVERWEIS Lösung als MsgBox ausgeben
04.06.2007 21:47:00
Jan3
Hi,
Folgender Code müßte funktionieren:
  • 
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    Set Target = Application.Intersect(Target, Range("D2:d65536"))
    If Target Is Nothing Then
    MsgBox "Der Bereich ist nicht zwischen D2 bis D65536!"
    Else
    suchwert = ActiveCell.Value
    With Worksheets("Einstellungen").Range("B4:B40")
    Set c = .Find(suchwert, LookIn:=xlValues, Lookat:=xlWhole)
    If Not c Is Nothing Then
    MsgBox "Zugeordnete Erklärung ist: " & Worksheets("Einstellungen").Cells(c.Row, 1)
    End If
    End With
    End If
    End Sub
    



  • Jan

    AW: SVERWEIS Lösung als MsgBox ausgeben
    04.06.2007 22:42:02
    mehmet
    Hallo Jan,
    bei dieser Lösung bekomme ich bei Doppelklick keine Meldung.
    Leider kann ich mit F8 nicht schrittweise dem Makro folgen zwecks Nachfolge und Fehlerfindung.
    Gruss
    mehmet

    AW: SVERWEIS Lösung als MsgBox ausgeben
    04.06.2007 22:54:00
    mehmet
    Ich wollte gerade ein Beispiel Hochladen.
    Bei den Beispielen geht es. In meiner Datei jedoch nicht.
    Ich habe in meiner Datei nachträglich alle Formate gelöscht.
    Wieder kein Erfolg.
    Könntest du bitte dein Makro komentieren zwecks Verständnis.
    Oder kurz erklären worauf unbedingt geachtet werden muss.
    Dank und Gruss
    mehmet

    AW: SVERWEIS Lösung als MsgBox ausgeben
    05.06.2007 05:14:00
    Jan3
    Hi,
    Stell mal eine abgespeckte Form Deiner Orginaldatei ins Forum.
    Jan

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige