Das Forum unterstützt kein BB-Code - du findest alle Funktionalitäten in der Icon-Leiste über dem Beitragseditor.
Hier dein verlinktes Bild, welches es nicht darstellen wollte. ;)
Mal ein Gedankenanstoß:
Option Explicit
Public Sub Test_Aufruf()
Dim rngFallNr As Excel.Range
Dim strFallNr As String
strFallNr = "00002"
If FindeFallNr(strFallNr, rngFallNr) Then
MsgBox "Fallnummer '" & strFallNr & "' wurde gefunden in Zelle: " & rngFallNr.Address, vbInformation
Else
MsgBox "'" & strFallNr & "' wurde nicht gefunden.", vbExclamation
End If
End Sub
'Hilfsfunktion
Public Function FindeFallNr(Nummer As String, Optional ByRef FallNr As Excel.Range) As Boolean
Dim rngFallNr As Excel.Range
Dim rngFallNrBereich As Excel.Range
'Spaltenüberschrift »Fallnummer« in der erste Zeile suchen
With Worksheets("Tabelle1").Rows(1)
Set rngFallNr = .Find("Fallnummer", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False)
End With
If Not rngFallNr Is Nothing Then
With rngFallNr.Worksheet
'nur den Datenbereich der Spalte »Fallnummer« referenzieren
Set rngFallNrBereich = .Range(rngFallNr.Offset(1), .Cells(.Rows.Count, rngFallNr.Column).End(xlUp))
End With
'der Index der erste Datenzeile muss größer sein als der Index der Kopfzeile (nur dann haben wir Daten)
If rngFallNrBereich.Row > rngFallNr.Row Then
'nach der Fallnummer suchen
Set rngFallNr = rngFallNrBereich.Find(Nummer, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False)
'Fallnummer gefunden?
If Not rngFallNr Is Nothing Then
Set FallNr = rngFallNr 'wir geben die Zelle als Funktions-Parameter zurück
FindeFallNr = True
End If
End If
End If
End Function
Du musst in der Hilfsfunktion ggf. den Namen der Tabelle anpassen.
Noch besser wäre - anstatt den Blattnamen zu nehmen - wenn du den Codenamen der Tabelle nimmst.
Also an dem Beispiel:
With Tabelle1.Rows(1)
Grüße
|