AW: Eigene VBA-Funktion in Tabellenblatt verwenden
10.03.2005 12:33:40
Alexander
Hallo Martin,
hier der Code:
'*****Code Start*******
Public
Function GetLabelMin(Zellbereich As Range, Spaltenüberschrift As Range) As Variant
Dim mySearchRange, myHeaderRange, mySearchValue
Dim strRangeSelection$, myFound, myColumn, i%, strColumn$
Application.ScreenUpdating = False
mySearchRange = Zellbereich
myHeaderRange = Spaltenüberschrift
strRangeSelection$ = ActiveWindow.RangeSelection.Address
mySearchValue = Application.WorksheetFunction.Min(mySearchRange)
myFound = Application.WorksheetFunction.Match(mySearchValue, mySearchRange, 0)
strColumn$ = Left(mySearchRange, 1)
i% = 1
Do Until strColumn$ <> "$"
'hier muss ich die erste amrkierte Spalte aus dem Range-Objekt auslesen?
strColumn$ = Mid(mySearchRange, i%, 1)
i% = i% + 1
Loop
myColumn = Range(strColumn$ & ":" & strColumn$).Column + myFound - 1
GetKayeLabelMin = Cells(Left(myHeaderRange, 1), myColumn)
Range(strRangeSelection$).Select
Application.ScreenUpdating = True
End Function
'*****Code Ende*******
Die Eingabe soll so aussehen, dass der Benutzer einen Zellbereich markiert, in dem gesucht werden soll, und einen, in dem die Überschriften stehen.
Für die Überschriften benötige ich ja aber nur die Zeile, da die Spalte von dem Suchergebnis (Zelle) festgelegt wird, wo sich der gefundene Wert befindet.
Herauskommen soll dann eben die Überschrift der Spalte.
Ein nächstes Problem ist jetzt noch aufgetaucht, dass ich aus einem markierten Bereich die erste Zelle auslesen muss, also Range("B4:S4") soll zu "B:B" werden.
Ich hoffe, dass alles soweit verständlich ist.
Gruß Alex