Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1024to1028
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
Inhaltsverzeichnis

Max Min in VBA

Max Min in VBA
13.11.2008 14:59:44
Lars
Hallo zusammen,
da meine Frage auf Grund einer falschen Problembeschreibung noch nicht beantwortet ist, hier nochmal:
Ich habe in Excel eine Tabelle, in der in der ersten Zeile Überschriften stehen (B1, B2, B3, ...). Darunter befinden sich die dazugehörigen Werte in mehreren Zeilen. Über eine Abfrage suche ich mir nun bestimmte Überschriften (z.B. B1,B3,B4,B7) heraus und lasse mir deren Spalte jeweils in eine Variable "Wert(1) = Spalte_B1, Wert(2) = Spalte_B3, Wert(2) = Spalte_B4 ..." schreiben.
Wie ist es nun möglich, sich den Maximalwert (zeilenweise) von den zu den gewählten Überschriften gehörenden Werten ausgeben zu lassen (also z.B. Max[(Zeile1-Spalte_B1); (Zeile1-Spalte_B3); (Zeile1-Spalte_B4) ...] ?
Da ich nicht zwangsläufig zusammenhängende Zellen in der jeweiligen Zeile habe, fehlt mir ein Ansatz. "Per Hand" würde man alle Zellen einzeln markieren. Wie realisiere ich dies in VBA?
Zur Info: Die Anzahl der gewählten Überschriften ist variabel.
Danke für die Hilfe.
Gruß
Lars

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Max Min in VBA
13.11.2008 15:21:57
Tino
Hallo,
kannst Du auch eine Beispielmappe hochladen wo Deine Abfrage eingebaut ist?
Gruß Tino
AW: Max Min in VBA
13.11.2008 16:58:14
Lars
Hallo,
eine Beispielmappe hochladen ist schwierig, aber hier ist der Code:

Private Sub CommandButton1_Click()
SpalteStart = Range("B2")
ZeileStart = Range("B3")
GesamtAnzahl = Range("B4")
5
Kontrolle = ""
i = 0
ReDim Wert(1 To 200)
For i = 1 To 200
Wert(i) = InputBox("Bitte geben Sie Fühler an!" & vbCr & "Wenn kein Fühler mehr hinzugefügt  _
werden soll, Feld frei lassen und OK klicken", "Zuordnung der Fühler")
If Wert(i)  "" Then
GoTo 10
Else
End If
GoTo 20
10 Next i
20
Anzahl = i - 1
For n = 1 To Anzahl
Kontrolle_n = Wert(n)
Kontrolle = Kontrolle & ", " & Kontrolle_n
Next n
Antwort = MsgBox("Sind die Fühler korrekt?" & vbCr & Kontrolle, vbYesNo, "Kontrolle der  _
eingegebenen Fühler")
If Antwort = vbNo Then
GoTo 5
Else
Range("A11") = Kontrolle
End If
'Festlegen der Auswertespalten der zu berücksichtigenden Fühler
ReDim AuswertSpalte(1 To Anzahl)
n = 0
For n = 1 To Anzahl
For i = SpalteStart To SpalteStart + (GesamtAnzahl - 1)
AuswertSpalte(n) = IIf(Cells(ZeileStart - 1, i) = Wert(n), i, "")
If AuswertSpalte(n) = "" Then
GoTo 1300
Else
GoTo 2300
End If
1300 Next i
2300 Next n
'Hier soll jetzt Berechnung von Max bzw. Min Wert kommen
'zeilenweise je nach Auswahl der Fühler
End Sub


Gruß
Lars

Anzeige
AW: Max Min in VBA
13.11.2008 17:32:18
Tino
Hallo,
wenn Du Dir nicht die Mühe machen kannst um eine Beispielmappe aufzubauen und ich auch nicht Stundenlang testen möchte wie ich Deinen Code zu verwenden haben, durch fehlende Deklarierung habe ich auch noch Fehlermeldungen über Fehlermeldungen, kann ich nur so raten.
Einfach mal ins Blaue hinein getippt.
MsgBox Application.WorksheetFunction.Max(Auswertspalte) 'Max Wert
MsgBox Application.WorksheetFunction.Min(Auswertspalte) 'Min Wert

Gruß Tino
AW: Max Min in VBA
13.11.2008 17:19:00
Matthias
Hallo
Zitat:
Ich habe in Excel eine Tabelle, in der in der ersten Zeile Überschriften stehen (B1, B2, B3) ?
Was Du beschreibst ist doch eine Spalte(Spalte"B") und keine Zeile.
In einer Zeile wäre A1;B1;C1 usw. oder lieg ich da falsch ?
Zeig doch mal ein Beispiel, was wo steht und was Du wo als Ergebnis erwartest.
Ich steig jedenfalls noch nicht dahinter, was Du benötigst.
Am Besten Du machst einen ScreenShot von Deinem Tabellenausschnitt und kommentierst
was Du wo erwartest.
Gruß Matthias
Anzeige
AW: An Matthias
13.11.2008 17:23:00
rofu
Hi,
wie machst du das mit der blinkenden Zeile?
gruß
rofu
@rofu
13.11.2008 17:35:00
Tino
Hallo,
wo siehst Du eine blinkende Zeile bei Matthias?
Bei mir blinkt nix?
Guß Tino
@Matthias
13.11.2008 17:52:10
Tino
Hallo,
habe mal den Quellcode von Deinem Beitrag angesehen,
wahrscheinlich soll der Text "Zeile" blinken, warum blink aber bei mir nichts?
Gruß Tino
AW: @Matthias
13.11.2008 17:58:00
Matthias
Hallo Tino
Ja, der Text "Zeile" blinkt, das hast Du richtig erfasst.
Evtl. hast Du irgendwo (in Deinem Profil) html erlauben abgewählt.
Ich kann leider nicht wissen, woran es bei Dir liegt, sorry
Ich lass es mal "offen"
Gruß Matthias
Anzeige
AW: @Matthias
13.11.2008 18:06:49
Tino
Hallo,
ist nur für Netscape, im IE geht’s über Java.
Gruß Tino
ja- richtig, ich habs grad getestet, & Gruß oT
13.11.2008 18:15:33
Matthias
AW: @Matthias
13.11.2008 18:03:49
rofu
Hallo, das wort soll blinken...DANKE
;o) ....... oT
13.11.2008 18:11:49
Matthias
AW: Max Min in VBA
13.11.2008 19:42:29
Erich
Hallo Lars,
"eine Beispielmappe hochladen ist schwierig"? Nein - da habe ich ja hier für dich getan:
https://www.herber.de/forum/archiv/1024to1028/t1024016.htm#1024088
Die Mappe könntest du ja nach deinen Vorstellungen anpassen...
Und hier habe ich dir einen neuen Code gepostet - leider ohne Antwort deinerseits:
https://www.herber.de/forum/archiv/1024to1028/t1024016.htm#1024279
Vermisst habe ich in deinem Code auch die Umsetzung von Beverlys Vorschlag in
https://www.herber.de/forum/archiv/1020to1024/t1023752.htm#1023754
Mit Application.Match lassen sich die Spaltennr. der Fühler ganz leicht bestimmen.
Noch eine Bemerkung: Die Überschriften B1, B2 usw. zu nennen, ist doch ein wenig ungeschickt, oder?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
P.S.:
Wer zum selben Problem unbedingt einen neuen Thread aufmachen muss,
sollte wenigsten mit einem Link auf den bisherigen Thread verweisen.
Anzeige
AW: Max Min in VBA
14.11.2008 13:12:41
Lars
Hallo Erich,
dein neu geposteter Code funktioniert! Super, vielen Dank. Schön, dass es noch Leute gibt die vernünftig auf eine Frage antworten, ohne erstmal loszumeckern.
Den Hinweis von Beverly habe ich nicht verwendet, weil ich ihn nicht verstanden habe. Vielleicht funktioniert er, aber wenn ich die Befehle nicht verstehe, ist eine Anwendung schwierig. VBA kann ich halt nur bescheiden.
Danke nochmal
Gruß
Lars
@Lars
14.11.2008 14:09:00
Tino
Hallo,
"Schön, dass es noch Leute gibt die vernünftig auf eine Frage antworten, ohne erstmal loszumeckern."
Ich fühle mich jetzt mal angesprochen.
Ich habe Dich gefragt ob Du eine Beispieldatei hochladen kannst, die Antwort war ein Code.
Was sollte ich nach Deiner Meinung mit diesem Code anfangen?
Was würdest Du machen, wenn ich Dir einen Code zur Verfügung stelle mit dem Du in einer leeren Datei nicht viel anfangen kannst und erst mal rausfinden musst welchen Bedingungen erfüllt sein müssen um den Code zum Laufen zu bringen?
Zudem hättest Du ruhig auch den Hinweis geben können, dass über dieses Thema schon Diskusionen in einem anderen Beitrag gegeben hat!
Eine Antwort habe ich Dir auch gegeben, Reaktion gab es noch keine darauf.
Wünsche noch ein schönes Wochenende
Gruß Tino
Anzeige
@Tino
14.11.2008 14:33:00
Lars
Hallo Tino,
deine Antwort hat mir bedingt weitergeholfen, so dass ich im Endeffekt zu einer Lösung gekommen bin. Da meine VBA-Kenntnisse allerdings nur bescheiden sind, ist es für mich teilweise schwierig, mit den Antworten etwas anzufangen.
Eine Reaktion lässt teilweise etwas auf sich warten, da ich nicht ständig im Forum schaue und meine Programmierung aus Zeitgründen nur ab und an weiterführe.
Ungeachtet dessen hast du wohl Recht, dass man nur mit dem Code wenig anfangen kann. Vielleicht sind meine Fragen schon zu komplex, um sie ohne eine Beispielmappe zu lösen.
Schönes Wochenende
Gruß
Lars
Anzeige
AW: @Lars
14.11.2008 16:19:26
Tino
Hallo Lars,
hat also nichts mit "meckern" zu tun.
Egal, Du hast ja jetzt von Erich eine funktionierende Lösung bekommen.
Wünsche Dir auch noch ein schönes Wochenende.
Gruß Tino

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige