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

Schleife über Funktionsparameter legen

Schleife über Funktionsparameter legen
20.07.2005 13:01:43
Reinhard
Hallo Wissende,
im nachstehenden Code möchte ich in einer Schleife erst auf w1 dann auf w2, dann auf w3 usw zugreifen, also auf deren Werte.
Also sowas wie
MsgBox ("w" & n).value
um erst die 10, dann 16 usw zu erhalten,was aber leider so nicht klappt. Es wird erst w1 dann w2 usw abgezeigt, dann noch durch das msgbox in der Sub eine 0.
Danke & Gruß
Reinhard Sub tt() [a1] = 12 MsgBox Ergebnis(Range("a1"), 10, 16, 20, 32, 40) End Sub Function Ergebnis(zelle As Range, w1 As Integer, w2 As Integer, w3 As Integer, w4 As Integer, w5 As Integer) As Integer For n = 1 To 5 MsgBox "w" & n Next n End Function

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife über Funktionsparameter legen
20.07.2005 13:52:07
MichaV
Hi,
ich weiß zwar nicht, was Du vorhast, aber so klapp es:
Option Explicit Sub tt() [a1] = 12 MsgBox "Übergebenes Ergebnis " & Ergebnis(Array(Range("a1"), 10, 16, 20, 32, 40)) End Sub Function Ergebnis(w) As Integer Dim i As Integer For i = LBound(w) To UBound(w) MsgBox i + 1 & ". übergebener Wert:" & w(i) Next i Ergebnis = "42" 'hier erst bekommt Deine Funktion einen Sinn, sonst wäre es eine Sub. End Function
Gruss- Micha
Der Sinn Deines Konstruktes erschließt sich aber nur schwer. Was möchstest Du denn damit machen?
AW: Schleife über Funktionsparameter legen
20.07.2005 14:47:03
Reinhard
Hallo Micha,
den Sinn des Konstrukts kann sicher keiner erraten :-)
Nachstehend steht die Anfrage aus einem anderen Forum, die ich mt vba und nicht mit dem Solver (weiss gar nicht wie man das Teil bedient, da noch nie eingesetzt) lösen wollte.
Beim Probieren stiess ich auf die für mich einzig interessante Sache an dem Problem,
wie kann ich eine Schleife bilden über die paramter w1 bis w5
Denn dadurch lerne ich.
Und wie der Solver funktioniert lerne ich dann wenn ich ihn mal einsetze, aber an VBA bin ich weit mehr als an solchen Excelfeatures interessiert.
Danke dir für deine Lösung mit der Übergabe eines Arrays, wäre ich sicher nicht darauf gekommen. Mit Hinweis auf "Beratung" in einem anderen Forum, also hier bzw. du/dich, werde ich dann im anderen Forum dem Anfrager eine vba-Lösung für sein Problem stricken.
Er kann das ja dann nehmen oder auf Solver-Lösungen warten.
Hilfreich wäre mir eine klare Aussage dass es so wie von mir angedacht, also 5 Variablen zu übergeben und diese in einer Schleife auszulesen nicht geht, deshalb Frage noch offen.
Solange dies hier keiner sagt probiere ich weiter rum.
Danke & Gruß
Reinhard
Hallo zusammen,
ich möchte mit dem Solver eine Gleichung lösen wo ein Parameter nur bestimmte Werte annehmen kann und das Ergebnis innerhalb eines bestimmten Bereichs sein muß.
Beispiel:
~~~~~~~~~
Ergebnis = A * B
A ist fest,
B kann sein (10, 16, 20, 32, 40),
Ergebnis muss sein zwischen 50 und 100.
Ich möchte einen Wert der fünf Möglichkeiten für B(am besten den kleinsten) um mit dem Ergebnis innerhalb des Zielbereichs von 50..100 zu sein.
Ist sowas möglich einzustellen und falls ja, wie mach ich sowas?
Herzlichen Dank schon mal für alle Tips,
Martin
Anzeige
AW: Schleife über Funktionsparameter legen
20.07.2005 15:40:29
MichaV
Hi,
"Hilfreich wäre mir eine klare Aussage dass es so wie von mir angedacht, also 5 Variablen zu übergeben und diese in einer Schleife auszulesen nicht geht"
Klare Aussage: Das geht immer. Also Parameter übergeben und in Schleife auslesen.
Klarer Hinweis: Ich befürchte, für Dein Solver- Problem bist Du damit aber auf dem Holzweg.
Meinst Du etwas in der Art:
 
 AB
1Faktoren 210
2 16
3 20
4 32
5 40
6  
7Faktor 15
8Ergebnis zwischen50
9und100
10 80
Formeln der Tabelle
B10 : =hilfssolver(B7;B1:B5;B8;B9)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruss- Micha
Anzeige
AW: Schleife über Funktionsparameter legen
20.07.2005 15:47:32
Volker
Hallo Reinhard,
wie wär's den damit:

Sub willi()
Dim w(4) As Integer
w(0) = 10
w(1) = 16
w(2) = 20
w(3) = 32
w(4) = 40
ergebnis = 0
i = 0
While ergebnis < 50 Or ergebnis > 100
On Error GoTo ende
ergebnis = [a1] * w(i)
i = i + 1
Wend
ende:
End Sub

Gruß
Volker

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige