Ausgabe der Sheets wo das Maximum vorkommt

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Ausgabe der Sheets wo das Maximum vorkommt
von: Nicole M.
Geschrieben am: 10.03.2005 16:16:23
Hallo!
Ich habe einige Sheets in einem Excel-File und suche mit max() immer zB im Feld C4 nach dem Maximumwert, den ich ein neues Sheet speichere. Als zweiten Vergleich würde ich gerne ein Sheet machen wo ich nicht den höchsten Wert sehe, sondern welches Sheet am höchsten war.
Wollte mit dieser Formel beginnen:
=CELL("address";INDEX(Z22:Z33;MATCH(MAX(Z22:Z33);Z22:Z33;0)))
Leider kann ich aber dann nicht statt den Arrays eine Liste mit zB
Sheet1!C6,Sheet2!C4, usw. da einfach reinstopfen.
Weiß dafür vielleicht jemand eine Lösung?
Grüße Nicole

Bild

Betrifft: AW: Ausgabe der Sheets wo das Maximum vorkommt
von: ransi
Geschrieben am: 10.03.2005 19:12:28
hallo nicole
das blatt mit dem höchsten wert in c4 kannst du z.B. so finden:

Sub test()
Dim i As Integer
Dim wert As Double
Dim blatt As String
wert = 0
For i = 1 To Worksheets.Count
    If Worksheets(i).[c4] > wert Then
        wert = Worksheets(i).[c4].Value
        blatt = Worksheets(i).Name
    End If
Next
MsgBox blatt
End Sub

ist allerdings noch keine fehlerbehandlung drin...
ransi
Bild

Betrifft: AW: Ausgabe der Sheets wo das Maximum vorkommt
von: Nicole M.
Geschrieben am: 11.03.2005 08:54:42
Hallo!
Besten Dank für diesen Code. Da ich kein VBA Programmier bin, hab ich noch eine Frage.
Ich möchte c4 jetzt mit einer Variablen zB test(field) aufrufen. Wie folgt, gehts nicht. Wenn ichs ohne Variable aufrufe und wieder c4 einsetzte, gehts einwandfrei.

Function test(field$)
Dim i As Integer
Dim wert As Double
Dim blatt As String
wert = 0
For i = 1 To Worksheets.Count                   
    If Worksheets(i).[field] > wert Then
        wert = Worksheets(i).[field].Value
        blatt = Worksheets(i).Name
    End If
Next
test = blatt
End 

Function 
Wie gesagt, ich kann kein VBA und fang grad zu lernen an. Danke!!!
Nicole

Bild

Betrifft: AW: Ausgabe der Sheets wo das Maximum vorkommt
von: Nicole M.
Geschrieben am: 11.03.2005 08:57:48
Damit keine Missverständnisse aufkommen:
aufrufen tu ich schon =test(c4)
Bild

Betrifft: AW: Ausgabe der Sheets wo das Maximum vorkommt
von: Nicole M.
Geschrieben am: 11.03.2005 12:41:10
Habs mit range() gelöst! Was mich aber vor das Probelm stellt, dass folgendes nicht funkt:
=test((CELL("address")))
Bild

Betrifft: AW: Ausgabe der Sheets wo das Maximum vorkommt
von: ransi
Geschrieben am: 11.03.2005 13:32:44


      
Hallo nicole
Die profis mögen jetzt lachen, aber das ist meine erste eigene 
function.
Probier mal dies:
Option Explicit
Function test(ByVal field As Range) As String
    
Dim i As Integer
    
Dim wert As Double
    
Dim blatt As String
Application.Volatile
wert = 0
If field.Count > 1 Then
    test = 
"XXX"
    MsgBox 
"Keine Mehrfachselektion"
    
Exit Function
End If
For i = 1 To Worksheets.Count
    
If IsNumeric(Worksheets(i).Range(field.Address).Value) Then
        
If Worksheets(i).Range(field.Address).Value > wert Then
            wert = Worksheets(i).Range(field.Address).Value
            blatt = Worksheets(i).Name
        
End If
    
End If
Next
test = blatt
End Function
ransi 

     Code eingefügt mit Syntaxhighlighter 3.0


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Ausgabe der Sheets wo das Maximum vorkommt"