Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1180to1184
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
Nur Minimum eintragen
alifa
Hallo,
Wie muss ich mein Makro umstellen, damit nur die Zeile ausgegeben wird, wo c minimal ist. In _ diesem Beispiel also 1?

Sub istMinim()
Cells.ClearContents
Dim a%, b%, c%, z%
For a = 1 To 9
For b = 1 To 9
c = a * b
Cells(z + 1, 1) = c
Cells(z + 1, 2) = a
Cells(z + 1, 3) = b
z = z + 1
Next: Next
MsgBox WorksheetFunction.Min(Range("A1:A100"))
End Sub

Das hier ist ein ganz einfaches Beispiel, um das Problem klar darzustellen. Im Netz finde ich viele Beispiele mit Min, aber keines, wo keine Werte in der Tabelle stehen und nur der gesuchte Wert eingetragen wird.
Die Befehlszeile mit der MsgBox entfällt dann. Folgendes Ergebnis wäre in meinem Sinne: A1=1;B1=1;C1=1
VG, Alifa

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

Betreff
Benutzer
Anzeige
AW: Nur Minimum eintragen
04.10.2010 17:56:50
BoskoBiati
Hallo,
eine Möglichkeit:
Option Explicit
Sub istMinim()
Cells.ClearContents
Dim a%, b%, c%, z%
Dim rng As Range
For a = 1 To 9
For b = 9 To 1 Step -1
c = a * b
Cells(z + 1, 1) = c
Cells(z + 1, 2) = a
Cells(z + 1, 3) = b
z = z + 1
Next: Next
Set rng = Range("A1:A100")
a = rng.Find(WorksheetFunction.Min(rng), lookat:=xlWhole).Row
MsgBox (a)
End Sub
Gruß
Bosko
AW: Nur Minimum eintragen
05.10.2010 06:20:28
alifa
Hallo,
eigentlich soll nur EINE Zeile ausgegeben werden. Bei meinem Problem könnten es viel mehr Zeilen werden, wenn alle möglichen Kombinationen ausgegeben werden. Das Makro soll allein die Zeile mit dem kleinsten Wert( Spalte A wird auf Min geprüft) ausgeben.
VG, Alifa
Anzeige
AW: Nur Minimum eintragen
05.10.2010 06:24:42
BoskoBiati
Hallo,
eigentlich soll nur EINE Zeile ausgegeben werden.
Ich fürchte, das Makro liefert nur eine Zeile!
Bei meinem Problem könnten es viel mehr Zeilen werden, wenn alle möglichen Kombinationen ausgegeben werden.
Welche Kombinationen können hier entstehen?
Oder willst Du etwas anderes?
Gruß
Bosko
AW: Nur Minimum eintragen
05.10.2010 07:47:37
BoskoBiati
Hallo,
eine Idee noch:
Option Explicit
Sub istMinim()
Cells.ClearContents
Dim a%, b%, c%, z%
Dim varWerte As Double
varWerte = 999999999
Dim lozeile As Long
For a = 1 To 9
For b = 9 To 1 Step -1
c = a * b
If c 
Gruß
Bosko
Anzeige
AW: Nur Minimum eintragen
05.10.2010 09:37:19
alifa
Ich habe Dein Makro im Sinne dieses Themas' angepasst:
Sub istMinim() 'Kurioser Weise funktioniert das!!
Cells.ClearContents
Dim a&, b&, c&, z&
Dim varWerte As Double
varWerte = 999999999
For a = 122 To 911
For b = 911 To 122 Step -1
c = a * b
If c 

Das funtioniert ausgezeichnet!
Danke, Alifa
AW: Nur Minimum eintragen
05.10.2010 09:47:01
BoskoBiati
Hallo,
ich weiß allerdings nicht, wo Du Deine Werte ausgibst und zudem braucht es zur Bestimmung des kleinsten Wertes kein Makro, da nach mathematischen Grundsätzen der kleinste Wert in c das produkt aus den beiden kleinsten Werten in a und b, also 122*122 ist! Zu finden ist der in der Zeile 789 ab der Startzeile gerechnet.
Gruß
Bosko
Anzeige
AW: Nur Minimum eintragen
05.10.2010 14:10:13
alifa
ich habe dieses einfache Makro als Beispiel angegeben. Natürlich bräuchte man für die Multiplikationen kein Makro, war nur zur Verdeutlichung. Mein reelles Makro berechnet in 12 Spalten.In der Spalte L stehen die jeweilige Summen der Spalten A bis K. Ich suche die kleinste Summe. Habe ich gerade mit Erfolg getan, mit Deinem wertvollen Tipp. Wenn es die Möglichkeit gäbe, würde ich Dir das Problem und seine Lösung mittels Makro gerne persönlich zuschicken. Vielleicht über den Admin?!
VG Alifa
AW: Nur Minimum eintragen
05.10.2010 20:59:44
BoskoBiati
Hallo,
hier ist meine Lösung zu Deinem Problem:
Option Explicit
Sub MinSPL()
Dim varSumme()
Dim loLetzte As Long
Dim dblMinimum As Double
Dim loA As Long
loLetzte = Cells(Rows.Count, 1).End(xlUp).Row - 1
ReDim varSumme(loLetzte)
For loA = 1 To loLetzte
varSumme(loA - 1) = Application.WorksheetFunction.Sum(Range(Cells(loA, 1), Cells(loA, 11)))
If dblMinimum = 0 Then dblMinimum = varSumme(loA - 1)
dblMinimum = Application.WorksheetFunction.Min(dblMinimum, varSumme(loA - 1))
Next
Cells(loLetzte + 1, 13) = dblMinimum
End Sub
Gruß
Bosko
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige