Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
580to584
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ausgabe der Sheets wo das Maximum vorkommt

Ausgabe der Sheets wo das Maximum vorkommt
10.03.2005 16:16:23
Nicole
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausgabe der Sheets wo das Maximum vorkommt
10.03.2005 19:12:28
ransi
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
AW: Ausgabe der Sheets wo das Maximum vorkommt
11.03.2005 08:54:42
Nicole
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

Anzeige
AW: Ausgabe der Sheets wo das Maximum vorkommt
11.03.2005 08:57:48
Nicole
Damit keine Missverständnisse aufkommen:
aufrufen tu ich schon =test(c4)
AW: Ausgabe der Sheets wo das Maximum vorkommt
11.03.2005 12:41:10
Nicole
Habs mit range() gelöst! Was mich aber vor das Probelm stellt, dass folgendes nicht funkt:
=test((CELL("address")))
AW: Ausgabe der Sheets wo das Maximum vorkommt
11.03.2005 13:32:44
ransi


      
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 


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige