Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
184to188
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
184to188
184to188
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Geht das mit "UBound"?

Geht das mit "UBound"?
27.11.2002 11:30:35
Stefan
Hi Forum,

habe folgendes Problem: Ich lese in eine Array-Variable Werte
20 Werte vom Typ Integer ein (Dim Werte as integer(20)). Danach möchte ich wissen, welcher von allen Werte der Höchste ist. Kann ich dieses Problem mit der UBound-Funktion lösen? Nach meinem Wissensstand funktioniert UBound doch nur, wenn ich die höchste Anzahl von Dimensionen einer Array-Variable auslesen möchte.

Kann mir hier einer weiterhelfen?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Geht das mit "UBound"?
27.11.2002 11:41:56
Yal
in der Tat, UBound wird Dir immer 20 zurückgeben.

Statt Array, Du könntest mit einer Collection probieren. Du kannst sogar ein Schlüssel vergeben (muss aber eindeutig sein)




Re: Geht das mit "UBound"?
27.11.2002 11:42:58
Michael Scheffler
Hallo,

UBound sollte Dir 20 zurückliefern!

Wenn Du den Wert haben möchtest, der das Maximum darstellt, dann musst Du mit einer Schleife über alle Werte gehen.

Gruß

Micha

Re: Geht das mit "UBound"?
27.11.2002 11:46:05
Thomas Risi
Hi

Versuch's mal etwa so ...


Private Function Max(Data() As DoubleAs Double
    
    Dim i As Long
    
    Max = Data(LBound(Data))
    
    For i = LBound(Data) + 1 To UBound(Data)
        If Data(i) > Max Then Max = Data(i)
    Next i
    
End Function
 
     Code eingefügt mit Syntaxhighlighter 1.15

Gruß

Thomas

Risi Thomas Softwareentwicklung


Anzeige
Re: Geht das mit "UBound"?
27.11.2002 11:49:07
Michael Scheffler
Hallo,

die Kollektion ist doch kein Allheilmittel, ein Array kannst Du richtig adressieren.

Gruß

Micha

Frage an Thomas
27.11.2002 12:34:35
Stefan
Hi Thomas,

was meinst du mit Data() ? Data() selbst ist schon ein Array

Stefan.

Re: Frage an Thomas
27.11.2002 12:53:19
Thomas Risi
Hallo Stefan


Option Explicit

' Ein Aufruf der Funktion könnte etwa so aussehen ...
'
Sub MaxErmitteln()
    
    Dim DeinArray(5) As Integer
    
    DeinArray(0) = 2
    DeinArray(1) = 1
    DeinArray(2) = 8
    DeinArray(3) = 2
    DeinArray(4) = 7
    DeinArray(5) = 6
    
    MsgBox Max(DeinArray)
    
End Sub

' Diese Funktion unverändert in Dein Modul ...
'
Private Function Max(Data() As IntegerAs Integer
    
    Dim i As Long
    
    Max = Data(LBound(Data))
    
    For i = LBound(Data) + 1 To UBound(Data)
        If Data(i) > Max Then Max = Data(i)
    Next i
    
End Function
 

     Code eingefügt mit Syntaxhighlighter 1.15

Gruß

Thomas

Risi Thomas Softwareentwicklung


Anzeige
Re: Geht das mit "UBound"?
27.11.2002 13:08:55
Michael Scheffler
Nee, ich verstehe die Fragestellung nicht. Ich verwende die Properties nur dann, wenn ich wirklich nur einen Wert zuordnen will. So wie ich das verstanden habe, ist eine solche Konstruktion so etwas wie eine Function un dei gibt schließlich auch nur einen Wert zurück.

Gruß

Micha

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige