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

Max.Werte

Max.Werte
12.10.2004 21:34:35
Rosenwasser
Hallo,
Brauche wieder einmal eure hilfe.
Ich habe in einen Formular mit einen ListBox wo ich 3 items Auswahlen kann.
In mein Data Sheet (Mit der Name Data) habe ich 6 Spalte (A, E, I, M, Q, U) mit Werthen stehen, x.Ahnzal zeilen lang.
Jetz will ich ereichen das Abhänglich von ListBox Eintrag, der Maximum Werth von der Abhanglichen Spalte, in Spalte Y geschrieben wird. Der Anzahl Zeilen soll er Automatisch Suchen, Anfangend ab Zeile 3
Zbs.
ListBox item A = Maximum Werth von Spalte A, I, Q in Spalte Y
ListBox item B = Maximum Werth von Spalte E, M, U in Spalte Y
ListBox item C = Maximum Werth von Spalte A, E, I, M, Q, U in Spalte Y
Kann mir jemand helfen?
(Entschuldigung, mein 2é versuch)
Gruß Benny

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Max.Werte
ungar
Hallo Benny,
bitte in den Code des Formulars folgenden Programmcode kopieren. Voraussetzung ist natürlich, dass deine ListBox den Namen "ListBox1" hat. Wenn nicht, dann entsprechend ändern:

Private Sub ListBox1_Click()
Dim rng         As Range
Dim lastRow     As Long
With Sheets("Data")
lastRow = .UsedRange.Rows.Count
Select Case ListBox1.ListIndex
Case 0
Set rng = .Range("A3:A" & lastRow & ",I3:I" & lastRow & ",Q3:Q" & lastRow)
Case 1
Set rng = .Range("E3:E" & lastRow & ",M3:M" & lastRow & ",U3:U" & lastRow)
Case 2
Set rng = .Range("A3:A" & lastRow & ",E3:E" & lastRow & ",I3:I" & lastRow _
& ",M3:M" & lastRow & ",Q3:Q" & lastRow & ",U3:U" & lastRow)
End Select
.Range("Y1").Value = WorksheetFunction.Max(rng)
End With
End Sub

Anzeige
AW: Max.Werte
ungar
Hallo Benny,
hier eine Anpassung an dein Beispiel. Du hast ja geschrieben, dass du ab Zeile 3 die Max-Werte berechnest. Wenn du ab Zeile 1 die Max-Werte willst, so ändere folgende Auswertung
For row = 3 To lastRow
in
For row = 1 To lastRow
Änderung im nachfolgenden Code vornehmen.

Private Sub ListBox1_Click()
Dim rngText     As String
Dim rng         As Range
Dim lastRow     As Long
Dim row         As Long
With Sheets("Data")
lastRow = .Cells(.Rows.Count, 1).End(xlUp).row
Select Case ListBox1.ListIndex
Case 0
rngText = "A:Row:,I:Row:,Q:Row:"
Case 1
rngText = "E:Row:,M:Row:,U:Row:"
Case 2
rngText = "A:Row:,E:Row:,I:Row:,M:Row:,Q:Row:,U:Row:"
End Select
For row = 3 To lastRow
Set rng = Range(WorksheetFunction.Substitute(rngText, ":Row:", row))
.Range("Y" & row).Value = WorksheetFunction.Max(rng)
Next row
End With
End Sub

Anzeige
AW: Max.Werte
13.10.2004 14:47:02
Rosenwasser
Hi,
Super, Genau wie ich es will.
Trotzdem bleibt den Code hängen bei:
>> Set rng = Range(WorksheetFunction.Substitute(rngText, ":Row:", row)) und gibt als Fehler: 1004 Methode Range von Object_Global hat gefehlt.
Ich brauche die Niederländischen Version von Excel 2002 (10.3506.3501)
Was kann Los sein?
PS: Muss auch funktionieren in Excel 2000 Version 9 für Leute
Gruss Benny
AW: Max.Werte
ungar
Hallo Benny,
ich habe einen Fehler entdeckt. Es muss heissen
Set rng = .Range(WorksheetFunction.Substitute(rngText, ":Row:", row))
wichtig ist hier der Punkt vor "Range(WorksheetFunction....)
Falls trotzdem ein Fehler kommt, ersetze mal die Zeile
Set rng = .Range(WorksheetFunction.Substitute(rngText, ":Row:", row))
durch
Set rng = .Range("A3,I3,Q3")
Kommt der Fehler immer noch?
Ich kann nur sagen, bei mir läuft es ohne Fehler durch.
Ich habe MS Excel 97 - Version 8.0. Also müßte es auf allen höheren Version laufen.
Anzeige
AW: Max.Werte
Rosenwasser
Hallo,
Ja, alles Funktioniert. Wieder einen Schrit weiter gekommen. Danke dafür.
Was mir aufgefallen ist, wenn Zbsp. in Spalte A weniger Daten stehen wie in die andre Spalten, berechnet er die Max nicht.
Auch wenn Keine Daten anwesend sind, berechnet er nichts.
Wie kann diese Situation behoben werden?
Gruss Benny
AW: Max.Werte
ungar
Hallo Benny,
hier hoffentlich die endgültige Lösung. Es empfiehlt sich immer, ein Originalbeispiel einzustellen. Dann sieht man auch die mögliche Konstellationen.

Private Sub ListBox1_Click()
Dim selCells    As String
Dim rng         As Range
Dim colRng      As Range
Dim lastRow     As Long
Dim row         As Long
With Sheets("Data")
Select Case ListBox1.ListIndex
Case 0
rngText = "A:Row:,I:Row:,Q:Row:"
Case 1
rngText = "E:Row:,M:Row:,U:Row:"
Case 2
rngText = "A:Row:,E:Row:,I:Row:,M:Row:,Q:Row:,U:Row:"
End Select
Set rng = .Range(WorksheetFunction.Substitute(rngText, ":Row:", .Rows.Count))
For Each colRng In rng.Columns
If lastRow < colRng.End(xlUp).row Then
lastRow = colRng.End(xlUp).row
End If
Debug.Print lastRow & "; " & colRng.Column
Next colRng
For row = 3 To lastRow
Set rng = Range(WorksheetFunction.Substitute(rngText, ":Row:", row))
.Range("Y" & row).Value = WorksheetFunction.Max(rng)
Next row
End With
End Sub

Anzeige
Wichtig!!!! vorheriges Posting fehlerhaft
ungar
Hallo Benny,
wieder fehlt der Punkt in der Codezeile und ausserdem hatte ich noch eine Debug-Anwweisung vergessen löschen.
Bitte diesen Code verwenden.

Private Sub ListBox1_Click()
Dim selCells    As String
Dim rng         As Range
Dim colRng      As Range
Dim lastRow     As Long
Dim row         As Long
With Sheets("Data")
Select Case ListBox1.ListIndex
Case 0
rngtext = "A:Row:,I:Row:,Q:Row:"
Case 1
rngtext = "E:Row:,M:Row:,U:Row:"
Case 2
rngtext = "A:Row:,E:Row:,I:Row:,M:Row:,Q:Row:,U:Row:"
End Select
.Range("Y:Y").ClearContents
Set rng = .Range(WorksheetFunction.Substitute(rngtext, ":Row:", .Rows.Count))
For Each colRng In rng.Columns
If lastRow < colRng.End(xlUp).row Then
lastRow = colRng.End(xlUp).row
End If
Next colRng
For row = 3 To lastRow
Set rng = .Range(WorksheetFunction.Substitute(rngtext, ":Row:", row))
.Range("Y" & row).Value = WorksheetFunction.Max(rng)
Next row
End With
End Sub

Anzeige
AW: Wichtig!!!! vorheriges Posting fehlerhaft
Rosenwasser
Vielen dank für alles ;-))
mfg
Benny

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige