Maximale Zelle selektiren

Hallo zusammen,

ich stehe wie der Ochse vor dem Berg.
Ich habe 2 Spalten A und B. in beiden stehen ganze zahlen drin.
Ich möchte jetzt in Spalte B nach der größten Zahl suchen diese in eine Variable speichern. Zusätzlich soll in der gleichen Zeile die Zahl aus Spalte A in eine andere Variable schreiben.

beispiel:

B14 hat die größte Zahl dann B14 -> variable1 und A14 -> variable2

Ich wollte das eigentlich so lösen aber das klappt nicht. Die Variable anzahl wird richtig genommen aber die Variable nummer ist falsch.

Private Sub CommandButton1\_Click()
Dim anzahl As Integer
Dim nummer As Integer
Dim platz As Range

 Set platz = Sheets("Statistik").Range("B1:B300")
 anzahl = Application.WorksheetFunction.Max(platz)
 Selection.Application.WorksheetFunction.Max(platz).Select
 Selection.Offset(0, -1).Select
 nummer = ActiveCell.Value 
 
 Set platz = Nothing
End Sub

Könnt ihr mir da weiterhelfen?

Vielen Dank schon mal für eure Bemühungen!

Gruß
Simon

Hallo Simon,

ich stehe wie der Ochse vor dem Berg.

na und, das Spiel hat mir als Kind viel Spass gemacht :smile:

Ich habe 2 Spalten A und B. in beiden stehen ganze zahlen
drin.
Ich möchte jetzt in Spalte B nach der größten Zahl suchen
diese in eine Variable speichern. Zusätzlich soll in der
gleichen Zeile die Zahl aus Spalte A in eine andere Variable
schreiben.

Private Sub CommandButton1\_Click()
Dim anzahl As Integer, nummer As Integer
With Sheets("Statistik").Range("B1:B300")
 anzahl = Application.Max(.Cells)
 nummer = .Cells.Find(anzahl).Offset(0, -1).Value
End With
MsgBox anzahl
MsgBox nummer
End Sub

Gruß
Reinhard

Vielen Dank!!

Vielen Dank,

und wie schaffe ich es noch die 2. größe und die 3. größte anzahl mit zugehöriger nummer zu finden.
ich dachte mir das so aber das problem ist dass zum einen wenn zwei gleiche zahlen in Spalte B drinstehen er nicht unterscheiden kann welche größer ist und deshalb immer nur eine verwendet. und ich habe noch einen error wenn zb.

„A2“ = 1 ; „B2“ = 1 und
„A3“ = 2 ; „B3“ = 1

dann kommt ein Laufzeilenfehler 1004

If Sheets("Statistik").Range("B3") 0 Then
 anzahl2 = Application.WorksheetFunction.Large(bereich, 2)
 nummer2 = Application.Cells.Find(anzahl2).Offset(0, -1).Value
 Sheets("mappe1").Range("K27") = anzahl2
 Sheets("mappe1").Range("I27") = nummer2
End If

If Sheets("Statistik").Range("B4") 0 Then
 anzahl3 = Application.WorksheetFunction.Large(bereich, 3)
 nummer3 = Application.Cells.Find(anzahl3).Offset(0, -1).Value
 Sheets("mappe1").Range("K28") = anzahl3
 Sheets("mappe1").Range("I28") = nummer3
End If

wie kann man das besser lösen?

Vielen Dank schon mal!

Gruß
Simon

und wie schaffe ich es noch die 2. größe und die 3. größte
anzahl mit zugehöriger nummer zu finden.

Hallo Simon,

Private Sub CommandButton1\_Click()
Dim wksS As Worksheet, wksK As Worksheet, wksM As Worksheet, Zei As Long
Worksheets.Add After:=Worksheets(Worksheets.Count)
Set wksS = Worksheets("Statistik")
Set wksK = ActiveSheet
Set wksM = Worksheets("mappe1")
wksS.Range("A1:B300").Copy Destination:=wksK.Range("A1")
wksK.Range("A1:B300").Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlNo, \_
 OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
wksK.Range("C1").Value = 1
wksK.Range("C2:C300").FormulaLocal = "=C1+(B2B1)"
Zei = Application.Match(4, wksK.Range("C1:C300"), 0)
wksK.Range("A1:A" & Zei - 1).Copy Destination:=wksM.Range("I27")
wksK.Range("B1:B" & Zei - 1).Copy Destination:=wksM.Range("K27")
Application.DisplayAlerts = False
wksK.Delete
Application.DisplayAlerts = True
End Sub

Gruß
Reinhard

Hallo Reinhard,

vielen Dank für deine schnelle Antwort!

ich bekomme jetzt allerdings noch eine Fehlermeldung „Typen unverträglich“ bei der Zeile

Zei = Application.Match(4, wksK.Range("C1:C300"), 0)

weist du woran das liegen kann?

Danke!
Gruß
Simon

ich bekomme jetzt allerdings noch eine Fehlermeldung „Typen
unverträglich“ bei der Zeile

Zei = Application.Match(4, wksK.Range(„C1:C300“), 0)

Hallo Simon,

k.A., Code ist getestet.

Setz ma unten im Code vor
wksK.Delete
ein Hochkomma.

Dann wird das neue Blatt nicht gelöscht.

Application.Match(4, wksK.Range(„C1:C300“), 0)

ist identisch mit:

=Vergleich(4;C1:C300;0)

Schreib das mal in D1 des neuen Blattes. Kommt auch ein Fehler?

Wenn du nichts findest, lade mal die Mappe hoch mit FAQ:2606

Gruß
Reinhard