Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1160to1164
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
Inhaltsverzeichnis

Sverweis / InputBox

Sverweis / InputBox
Hoffmann
Hallo,
ich habe eine Schlüssel-Liste erstellt mit vielen unterschiedlichen Makros.
Wenn ich die Datei starte erscheint bei mir ein Dialogfenster (Formular) mit unterschiedlichen Buttons.
Einer davon ist Suchen.
Mit den Button Suchen möchte ich das ein InputBox-Fenster öffnet und dort entweder eine Zahl (dreistellig) oder einen Namen (Vor-und Zuname) eingeben. Sobald ich das bestätige soll er im hintergrund die Sverweis-Funktion ablaufen.
Das Ergebnis, wenn Nummer in der InputBox eingegeben wurde, soll der Name in einer MsgBox angezeigt werden. Wenn ich den Namen eingebe, soll das Ergebnis (Schlüsselnummer) in einer MsgBox angezeigt werden.
Ergänzung:
Die Schlüsselnummern stehen in der Spalte A ab Zeile 5
Die Namen stehen in der Spalte B ab Zeile 5
Es ist möglich das weitere Personen Schlüssel erhalten, daher sollte dieses Makro dementsprechend angepasst werden
Wie gehe ich am besten vor?
Für weitere Fragen stehe ich gerne zur Verfügung.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Sverweis / InputBox
03.06.2010 17:44:54
Josef

Hallo ?,
versuch mal diesen Code.

' **********************************************************************
' Modul: Modul3 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub SearchAndShow()
  Dim objShSrc As Worksheet
  Dim rng As Range, strFirst As String, strSearch As String, strMsg As String
  Dim lngSearchColumn As Long, lngResColumn As Long
  
  strSearch = InputBox("Bitte Suchbegriff eingeben!", "Suche")
  
  If strSearch <> "" Then
    If IsNumeric(strSearch) Then
      lngSearchColumn = 1
      lngResColumn = 2
    Else
      lngSearchColumn = 2
      lngResColumn = 1
    End If
    
    Set objShSrc = Sheets("Tabelle1") 'Tabelle in welcher gesucht wird
    
    Set rng = objShSrc.Columns(lngSearchColumn).Find(What:=strSearch, LookIn:=xlValues, _
      LookAt:=xlWhole, after:=objShSrc.Cells(Rows.Count, lngSearchColumn))
    If Not rng Is Nothing Then
      strFirst = rng.Address
      Do
        strMsg = strMsg & objShSrc.Cells(rng.Row, lngResColumn).Text & vbLf & vbTab
        Set rng = objShSrc.Columns(lngSearchColumn).FindNext(rng)
      Loop While Not rng Is Nothing And strFirst <> rng.Address
    End If
    If Len(strMsg) Then
      MsgBox "Die Suche nach '" & strSearch & "' ergab folgende Treffer" & vbLf & vbLf & vbTab & strMsg, vbInformation, "Suche"
    Else
      MsgBox "Kein Treffer!", vbInformation, "Suche"
    End If
  End If
  
  Set rng = Nothing
  Set objShSrc = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Sverweis / InputBox
04.06.2010 12:28:08
Hoffmann
Hallo Sepp,
danke für die schnelle Antwort. Es funktioniert, aber nur wenn ich den Namen in den InputBox eingebe.
Wenn ich aber eine Zahl (Schlüsselnummer) eingebe dann zeigt er mir an das er keine Eintrag gefunden hat.
Wie kann ich das kombinieren? D.h. in der InputBox soll entweder der Name oder die Zahl eingetragen werden und dementsprechend Name oder Zahl (Eingabe Name = Schlüsselnummer ; Eingabe Schlüsselnummer = Name) als Ergebnis anzeigen.
AW: Sverweis / InputBox
04.06.2010 18:01:58
Josef

Hallo ?,
mein Code orientiert sich an deinen Vorgaben!
Wenn es bei dir nicht funktioniert, dann lade eine entsprechende Tabelle hoch.

Gruß Sepp

Anzeige
AW: Sverweis / InputBox
07.06.2010 07:53:31
Hoffmann
Hallo Sepp,
war mein Fehler, es hat doch funktioniert. Muss die komplette Schlüsselnummer eingeben, dann funktioniert das auch.
Ich entschuldige mich für die unangebrachte Kritik.
Gruß
Björn

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige