Herbers Excel-Forum - das Archiv

Ausgabe der Sheets wo das Maximum vorkommt

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
Excel-Beispiele zum Thema "Ausgabe der Sheets wo das Maximum vorkommt"
Ausgabe einer benutzerdefinierten Funktion in Matrixformel Rechtschreibprüfung und Fehlerausgabe
Vergleich von zwei Listen und Ausgabe eines Wahrheitswertes Der Einsatz der SVERWEIS-Funktion in einem Ausgabeblatt
Druckzoom auf das Maximum hochfahren Datensätze unter Maximum ausblenden
Zeile löschen, wenn ein bestimmter Wert vorkommt Solange kopieren, wie ein Wert in einer Spalte vorkommt
Ermittlung, wie oft ein Name in einem Monat vorkommt