Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro Suchen!!

Makro Suchen!!
10.09.2005 18:37:53
Achim
Wer kann mir für meine Steuerung ein Makro schreiben?
Erklärung:
In der Spalte ab C2 bis C1000 stehen meine Personalnummern.
Ich hätte gern folgende Funktion:
(Habe mich auch selber mal daran getraut :-(
leider nichts daraus geworden)
Mache ein Click auf meinen Click Button (Aus Formular Schaltfläche.
dann geht eine SuchenBox auf in der ich zwei Personalnummern eingeben kann.
Nach der Eingabe der Personalnummern müssen alle anderen Zeilen ausgeblendet
werden und nur die beiden angegebenen Personalnummern sind sichtbar.
Vielen Dank schon mal an alle Berater!!!
Gruß
Achim H.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Suchen!!
10.09.2005 18:47:32
Ramses
Hallo
probiers mal
Sub SuchePersNummer()
    Dim pNr1 As Variant, pNr2 As Variant
    pNr1 = InputBox("Bitte Personalnummer eingeben", "Suche P-Nummer", "")
    pNr2 = InputBox("Bitte Personalnummer eingeben", "Suche P-Nummer", "")
    With Range("C1")
        .AutoFilter Field:=3
        .AutoFilter Field:=3, Criteria1:="=" & pNr1, Operator:=xlOr, Criteria2:="=" & pNr2
    End With
End Sub

Gruss Rainer
Anzeige
AW: Makro Suchen!!
11.09.2005 08:40:59
Achim
Hallo Ramses
Danke für das Makro.
Ich konnte das Makro erst heute ausprobieren und es klappte erst nicht.
Habe deinen Ansatz genommen und probiert. Danach habe ich aus Field=3 Field=1 gemacht und nun geht es.
Nochmals danke Gruß Achim H.
AW: Makro Suchen!!
11.09.2005 10:19:36
Ramses
Hallo
Stehen die Personalnummern an erster Stelle deiner Liste ?
Sonst gibt es keinen Grund. 3 steht für die entsprechende Spalte in deiner Liste.
Wenn du übrigens alle Kombinationen von Persnalnummern haben willst, kannst du das ganz einfach abändern
.AutoFilter Field:=3, Criteria1:="=*" & pNr1 & "*", Operator:=xlOr, Criteria2:="=*" & pNr2 & "*"
Gruss Rainer
Anzeige
Antwort 2 Beiträge tiefer o.T.
10.09.2005 18:48:42
HansH
.
AW: Makro Suchen!!
10.09.2005 18:58:24
Josef
Hallo Achim!
Mal als Ansatz!
Sub Schaltfläche1_BeiKlick()
Dim rng As Range, Bereich As Range
Dim tmp As Variant
Dim s As String
Dim n As Integer
Dim blnFound As Boolean

On Error GoTo ErrExit
Application.ScreenUpdating = False

Set Bereich = Range("C2:C1000")

Bereich.EntireRow.Hidden = True

s = InputBox("Bitte geben sie die gesuchte(n) Personalnummer(n)" & Space(15) & vbLf & _
  "getrennt durch Semikolon (;) ein!", "Personalnummern")

If s = "" Or s = "0" Then
  Bereich.EntireRow.Hidden = False
  GoTo ErrExit
End If

tmp = Split(s, ";")


For n = 0 To UBound(tmp)
  
  If IsNumeric(tmp(n)) Then
    
    Set rng = Bereich.Find(tmp(n))
    
    If Not rng Is Nothing Then
      rng.EntireRow.Hidden = False
      blnFound = True
    End If
    
    Set rng = Nothing
    
  End If
  
Next

If Not blnFound Then
  MsgBox "Keine Nummer gefunden!", 48, "Hinweis"
  Bereich.EntireRow.Hidden = False
End If

ErrExit:
Application.ScreenUpdating = True
End Sub


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: Makro Suchen!!
10.09.2005 23:54:23
Achim
Hallo Josef
Vielen dank für deine Hilfe. Das Makro funktioniert bis auf eine kleine Unebenheit.
Frage:
Geht das?
In der Spalte "C" taucht auch zum Beispiel (15,15,15, oder 13,13,13) usw.mehrmals die gleiche Personalnumer ich möchte das alle mit 15 und alle mit 13 angezeigt werden.
Gruß Achim H.
AW: Makro Suchen!!
11.09.2005 10:28:54
Josef
Hallo Achim!
Die Autofilterlösung funktioniert doch!
Aber bitte, hier mit mehrfacher Suche.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Schaltfläche1_BeiKlick()
Dim rng As Range, Bereich As Range
Dim tmp As Variant
Dim s As String, sFirst As String
Dim n As Integer
Dim blnFound As Boolean

On Error GoTo ErrExit
Application.ScreenUpdating = False

Set Bereich = Range("C2:C1000")

Bereich.EntireRow.Hidden = True

s = InputBox("Bitte geben sie die gesuchte(n) Personalnummer(n)" & Space(15) & vbLf & _
  "getrennt durch Semikolon (;) ein!", "Personalnummern")

If s = "" Or s = "0" Then
  Bereich.EntireRow.Hidden = False
  GoTo ErrExit
End If

tmp = Split(s, ";")

For n = 0 To UBound(tmp)
  
  Set rng = Bereich.Find(what:=tmp(n), LookAt:=xlWhole)
  
  If Not rng Is Nothing Then
    
    sFirst = rng.Address
    
    Do
      
      rng.EntireRow.Hidden = False
      blnFound = True
      
      Set rng = Bereich.FindNext(rng)
      
    Loop While Not rng Is Nothing And sFirst <> rng.Address
    
  End If
  
  Set rng = Nothing
  
Next

If Not blnFound Then
  MsgBox "Keine Nummer gefunden!", 48, "Hinweis"
  Bereich.EntireRow.Hidden = False
End If

ErrExit:
Application.ScreenUpdating = True
End Sub


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: Makro Suchen!!
11.09.2005 11:58:33
Achim
Hallo Josef
Sorry
Habe beim ersten Ausprobieren irgendwie ein Fehler gemacht.
Das Makro funktioniert!!!!
Danke für deine SUUUUUPPPPERR hilfe :-) :-)
Gruß aus dem Ruhrgebiet
Achim H.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige