Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Suchfunktion über Makro, bestimmte Zelle in der gefundenen Zeile markieren





Frage

Hallo Leute, habe folgendes Problem, bei dem ihr mir vielleicht weiterhelfen könnt: Ich habe ein Tabelle, in welcher z.B in Spalte A die Personalnummern von Mitarbeiter stehen und eine Spalte M, in der das Alter der jeweiligen Mitarbeiter steht. Nun bräuchte ich ein Makro, das mir durch Eingabe der Personalnummer (über ne Inputbox) die entsprechende Zelle in Spalte M (also nicht die Zelle mit der Personalnummer) markiert. Kann mir da jemand weiterhelfen?

Antwort 1 von Event

Hallo

Hoffe Du kommst damit klar:
Private Sub CommandButton1_Click()
Dim a!, i!
a = InputBox("Personal-Nummmer eingeben!")
For i = 1 To Range("A65535").End(xlUp).Row
If Range("A" & CStr(i)).Value = a Then
Range("M" & CStr(i)).Select
Exit For
End If
Next
End Sub


Gruß

Antwort 2 von nighty

hi event :)

da ja jede personalnummer nur einmal existieren wird bedarf es keiner schleife

hier ein beispiel dafuer

gruss nighty

Sub suche()
Dim meineInputBox As Variant
Dim meineSuche As Range
meineInputBox = InputBox("SuchFenster", , "Eingabe der gesuchten PersonalNr.", vbYesNo + vbQuestion)
If meinInputBox = vbNo Then End
Set suchen = ActiveSheet.Range("A" & 1 & ":A" & ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1).Find("1")
Cells(suchen.Row, 13).Select
End Sub

Antwort 3 von nighty

hi event :)

korrigiert :))

gruss nighty

Sub suche()
Dim meineInputBox As Variant
Dim meineSuche As Range
meineInputBox = InputBox("SuchFenster", , "Eingabe der gesuchten PersonalNr.", vbYesNo + vbQuestion)
If meinInputBox = vbNo Then End
Set suchen = ActiveSheet.Range("A" & 1 & ":A" & ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1).Find("1")
If Not suchen Is Nothing Then Cells(suchen.Row, 13).Select
End Sub

Antwort 4 von Event

Hi Nighty,

vielen Dank für die Lektion
;-)

Gruß
ps: Man(n) lernt doch nie aus

Antwort 5 von Event

Hallo Nigthy,

Damit Dein´s auch funktioniert:

Option Explicit

Sub suche()
Dim meineInputBox As Variant
Dim meineSuche As Range
Dim suchen
meineInputBox = InputBox("SuchFenster", , "Eingabe der gesuchten PersonalNr.", vbYesNo + vbQuestion)
If meineInputBox = vbNo Then End
Set suchen = ActiveSheet.Range("A" & 1 & ":A" & ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1).Find(meineInputBox)


Gruß
ps: Das find´ ich besonders gut
If Not suchen Is Nothing Then ;-)

Antwort 6 von nighty

hi event :)

:))

gruss nighty

Antwort 7 von waddehaddedudeda

Hey Leute,
hab jetzt nen paar Dinge versucht an Euren Ideen zu ändern, ums auf mich anzupassen.
Leide rohen großen Erfolg.
Ich such etwas das auch wie das obige Programm nach richtigen Treffern sucht. Dann allerdings soll es die gefundene Zeile, und nicht nur ein Feld daraus markieren.
Danach soll es aber weiter suchen, ohne das schon kopierte weiter zu beachten, alternativ soll die suche dort beginnen wo der letzte treffer war.

Versteht ihr was ich will? ;)

Danke schonmal ...