Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
212to216
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
212to216
212to216
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formel mit Variabel

Formel mit Variabel
03.02.2003 20:28:51
Jörg
Hallo,

ich möchte gerne den Zellenwert in einer Formel durch eine Variabel ersetzen...meine Formel sieht so aus:

=(S92*$G$104-U92*$E$104)/(S92*$F$104-T92*$E$104)

anstatt S92 möchte ich die Variabel a2,
anstatt U92 die Variabel b2 und
anstatt T 92 die Variabel c2 in die Formel einfügen...wie geht das? (typisches Anfängerproblem denke ich)

Die Variabel a2, b2 und c2 habe ich in einer sub (in dem Tabellenblatt, in dem die Formel steht) definiert:

Sub Variabel()
Dim a1 as variant
Dim b2 as variant
Dim c2 as variant
'der Wert der variabel soll so bestimmt werden

If Worksheets("Tabelle1").Range("H9").value >=0 And Worksheets("Tabelle1").Range("H9") <= "0,5" Then
a2= Worksheets("Tabelle1").Range("S92").value
b2= Worksheets("Tabelle1").Range("U92").value
c2= Worksheets("Tabelle1").Range("T92").value

ElseIf Worksheets("Tabelle1").Range("M91").value < 0 then
a2= Worksheets("Tabelle1").Range("M92").value
b2= Worksheets("Tabelle1").Range("O92").value
c2= Worksheets("Tabelle1").Range("N92").value

End If
End Sub

Kann ich so die Variabeln für die Formel bestimmen oder muss ich das anders machen??..Helft mir bitte

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

Betreff
Datum
Anwender
Anzeige
Re: Formel mit Variabel
03.02.2003 21:19:59
Ramses

Hallo Jörg,

x = (a2*Range("G104")-b2*Range("E104"))/(A2*RANGE("F104")-c2*Range("E104"))

Jetzt hast du das Ergebnis in der Variable x

Gruss Rainer

Re: Formel mit Variabel
03.02.2003 21:37:11
Jörg

Was fange ich dann mir der Variabeln x an....
nach dem Motto:

Worksheets("Tabelle1").Range("H10").value=x ??

Kann man das nicht direkt so machen mit der Formel, die bereits in der Zelle steht und einfach nur den Ausdruck S91 etc. durch die Variable ersetzen??


... und für was soll das gut sein ?
03.02.2003 21:52:00
Ramses

Wenn du Variablen in ein Makro einliest, gehe ich davon aus, dass du dort auch berechnen willst.

Entschuldige bitte meine Dummheit.

Du hast einen Zellbezug in einer Formel wo du die Daten zur Berechnung herholst.
Jetzt liest du die gleichen !! Zellinhalte in Variablen ein und willst damit deine Zellbezüge in der Formel mit Variablen ersetzen, die genau den gleichen Inhalt haben auf den deine Formel verweist???

Hier sei mir die Frage erlaubt:
Wozu das ganze ?
Ausserdem haben deine "Variablen" die gleiche Benennung wie ein regulärer Zellbezug und würde somit nicht funktionieren.

So würde es übrigens tatsächlich funktionieren :-):
Worksheets("Tabelle1").Range("H10").value=x $

Sollte ich es wieder nicht verstanden haben,... bitte ich um eine sinnvolle Aufklärung der Aktion die du vorhast.

Gruss Rainer

Anzeige
Re: Formel mit Variabel
03.02.2003 22:07:10
Ramses

Wie wäre es, wenn du statt einem Makro mit umständlichen Formelersetzungen diese Formel nehmen würdest:

=WENN(UND(H9>=0;H9<=0.5);(S92*$G$104-U92*$E$104)/(S92*$F$104-T92*$E$104);WENN(H9<0;(M92*$G$104-O92*$E$104)/(N92*$F$104-T92*$E$104);"Falsche Ausgangsdaten"))

Hat den gleichen Effekt und funktioniert ohne VBA.

Gruss Rainer

Re: ... und für was soll das gut sein ?
03.02.2003 22:12:02
Jörg

Sorry wenn ich mich so schlecht ausgedrückt habe, ist dann wohl eher meine Excel Dummheit....ich verusche es nochmal zu erklären...

Die Formel in der Zelle sieht so aus:
=(S92*$G$104-U92*$E$104)/(S92*$F$104-T92*$E$104)

Nun ist es so, dass die Werte S92, U92 und T92 nur in dem Falle stimmen, wenn in einer anderen Zelle(H9) ein Wert steht, der >=0 und <=0,5 ist.
Wenn der Zellenwert der Zelle in H9 allerdings <0 ist, dann muss in der Formel anstatt S92, U92 und T92 nämlich (die Werte) M92, O92 und und N92 stehen.

Ich hatte also veruscht, S92 etc aus der Formel durch die Variabeln a2 etc zu erstezen....

Und dann sollte mittesls des Makros der Wert für a2 etc. besimmt werden ( Über if... then... elseif)
dazu nochmal das Makro:

Sub Variabel()
Dim a1 as variant
Dim b2 as variant
Dim c2 as variant
'der Wert der variabel soll so bestimmt werden

If Worksheets("Tabelle1").Range("H9").value >=0 And Worksheets("Tabelle1").Range("H9") <= "0,5" Then
a2= Worksheets("Tabelle1").Range("S92").value
b2= Worksheets("Tabelle1").Range("U92").value
c2= Worksheets("Tabelle1").Range("T92").value

ElseIf Worksheets("Tabelle1").Range("M91").value < 0 then
a2= Worksheets("Tabelle1").Range("M92").value
b2= Worksheets("Tabelle1").Range("O92").value
c2= Worksheets("Tabelle1").Range("N92").value

End If
End Sub

ich habe mich nur gefragt, ob es möglich ist, das so zu machen...

Wenn es eine bessere Möglichkeit gibt, nehme ich auch gerne einen ganz anderen Ansatz...

Anzeige
Re: Formel mit Variabel
03.02.2003 22:18:31
Jörg

Hey,

die Formel funktioniert; Super!!! und ist sicher besser, als das umständlich über ein Makro zu machen!! Danke Rainer, scheinbar hast du meine stümperhaften Erklärungen doch verstanden....

Was hältst du von dem anderen Vorschlag ? o.T.
03.02.2003 22:18:49
Ramses

...

Wie kommt man auf sowas geniales?
03.02.2003 22:22:50
Jörg

das mit der Formel so zu lösen ist wie gesagt klasse, aber wie soll man als Laie auf sowas kommen?? Mit der ollen Excel Hilfe ist man echt aufgeschmissen und das Handbuch von Micrsoft...ohne Worte...wenn du nen Tip hast ezüglich Literatur etc....nur zu, dann önnte ich mir das Wissen dafür selber aneignen


Aktive Teilnahme...;-)
03.02.2003 22:26:42
Ramses

Hallo Jörg,

....und immer wieder üben.
Das Forum ist sicher eine gute Basis um zu lernen,... und wenn die Fragen und das Ziel klar vorgegeben sind, erhältst du sicher gute und trickreiche Lösungen die deinen Erfahrungsschatz, und den Spass an EXCEL, zunehmend wachsen lassen.
Aber manchmal muss man einfach auch ein bischen anders denken als die MS-Programmierer :-))

Gruss Rainer

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige