Herbers Excel-Forum - das Archiv

Formeln Texte

Bild

Betrifft: Formeln Texte
von: schrö
Geschrieben am: 08.12.2003 12:20:11
Hallo,

ich habe folgendes Problem. habe ein kleines VB script, dieses fügt nach Enter
bestimmte Formeln in die nächste freie Zeile.
Diese Formeln rechnen mit festen Werten, die in den ersten beiten Zeilen stehen. Wenn ich nun sagen wir 10 Zeilen eingefügt habe und einen dieser festen Werte verändere, werden alle anderen Zeilen aktualisiert.
Kann ich nicht die Ergebinsse in den einzelnen Zeilen in Text umwandeln?? Per VB?

Bild

Betrifft: AW: Formeln Texte
von: Josef Ehrensberger
Geschrieben am: 08.12.2003 12:26:18
Hallo schrö ???,

zwei möglichkeiten.

1. Zelle(n) Kopieren > Bearbeiten > Inhalte Einfügen > Werte

oder

2. durch dein Script nicht die Formeln einfügen, sondern
das Ergebnis!

Gruß Sepp
Bild

Betrifft: AW: Formeln Texte
von: Schrö
Geschrieben am: 08.12.2003 12:29:17
Hallo Josef Ehrensberger,

wie geht dies. Habe in solchen Sachen keinen Schimmer.
Bild

Betrifft: Poste mal den Code ! o.T.
von: Josef Ehrensberger
Geschrieben am: 08.12.2003 12:30:26
/
Bild

Betrifft: AW: Poste mal den Code ! o.T.
von: schrö
Geschrieben am: 08.12.2003 12:34:11
Option Explicit



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 5 Then Exit Sub
Application.EnableEvents = False
Cells(Target.Row + 1, 1).Select
Cells(Target.Row + 1, 6).FormulaR1C1 = "=IF(RC[-3]=""Sell"",((R1C5*R4C5*R1C7)-RC[-4]),"""")"
Cells(Target.Row + 1, 7).FormulaR1C1 = "=IF(RC[-4]=""Buy"",((R1C5*R4C5*R1C7)+RC[-5]),"""")"
Cells(Target.Row + 1, 8).FormulaR1C1 = "=IF(RC[-2]<0,""SELL"",""BUY"")"
Cells(Target.Row + 1, 9).FormulaR1C1 = "=IF(RC[-1]=""BUY"",(R1C5*R1C11*RC[-4])-RC[-7])"
Cells(Target.Row + 1, 10).FormulaR1C1 = "=IF(RC[-2]=""SELL"",(R1C5*R1C11*R4C5)+RC[-8],RC[-1])"
Cells(Target.Row + 1, 12).FormulaR1C1 = "=IF(RC[-9]=""Sell"",((R1C13*R1C5)+RC[-6]),IF(RC[-9]=""Buy"",((R1C5*R1C13)+RC[-5]),""?""))"
Cells(Target.Row + 1, 13).FormulaR1C1 = "=RC[-6]+(R1C5*R1C13)"
Cells(Target.Row + 1, 14).FormulaR1C1 = "=IF(RC[-11]=""SELL"",-(RC[-12]-R1C11),IF(RC[-11]=""BUY"",(RC[-12]+R1C11),""?""))"
Application.EnableEvents = True
End Sub


Bild

Betrifft: AW: Poste mal den Code ! o.T.
von: schrö
Geschrieben am: 08.12.2003 12:38:51
und das hier muss ich noch einbinden und die Funktion umdrehen.




Private Sub Worksheet_Activate()
Application.MoveAfterReturnDirection = xlToRight
End Sub





Private Sub Worksheet_Deactivate()
Application.MoveAfterReturnDirection = xlDown
End Sub





Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column > 15 Then
Rows("3:3").Insert shift:=xlDown
Range("A3").Value = Range("A4").Value + 1
Range("B3").Select
End If
End Sub


Bild

Betrifft: AW: Poste mal den Code ! o.T.
von: schrö
Geschrieben am: 08.12.2003 12:46:23
und das hier muss ich noch einbinden und die Funktion umdrehen.




Private Sub Worksheet_Activate()
Application.MoveAfterReturnDirection = xlToRight
End Sub





Private Sub Worksheet_Deactivate()
Application.MoveAfterReturnDirection = xlDown
End Sub





Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column > 15 Then
Rows("3:3").Insert shift:=xlDown
Range("A3").Value = Range("A4").Value + 1
Range("B3").Select
End If
End Sub


Bild

Betrifft: AW: Poste mal den Code ! o.T.
von: Josef Ehrensberger
Geschrieben am: 08.12.2003 12:58:13
Hi,

auf die schnelle könntest Du den Code so ändern.



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 5 Then Exit Sub
Application.EnableEvents = False
Cells(Target.Row + 1, 1).Select
Cells(Target.Row + 1, 6).FormulaR1C1 = "=IF(RC[-3]=""Sell"",((R1C5*R4C5*R1C7)-RC[-4]),"""")"
Cells(Target.Row + 1, 7).FormulaR1C1 = "=IF(RC[-4]=""Buy"",((R1C5*R4C5*R1C7)+RC[-5]),"""")"
Cells(Target.Row + 1, 8).FormulaR1C1 = "=IF(RC[-2]<0,""SELL"",""BUY"")"
Cells(Target.Row + 1, 9).FormulaR1C1 = "=IF(RC[-1]=""BUY"",(R1C5*R1C11*RC[-4])-RC[-7])"
Cells(Target.Row + 1, 10).FormulaR1C1 = "=IF(RC[-2]=""SELL"",(R1C5*R1C11*R4C5)+RC[-8],RC[-1])"
Cells(Target.Row + 1, 12).FormulaR1C1 = "=IF(RC[-9]=""Sell"",((R1C13*R1C5)+RC[-6]),IF(RC[-9]=""Buy"",((R1C5*R1C13)+RC[-5]),""?""))"
Cells(Target.Row + 1, 13).FormulaR1C1 = "=RC[-6]+(R1C5*R1C13)"
Cells(Target.Row + 1, 14).FormulaR1C1 = "=IF(RC[-11]=""SELL"",-(RC[-12]-R1C11),IF(RC[-11]=""BUY"",(RC[-12]+R1C11),""?""))"
ActiveSheet.Calculate
Cells(Target.Row + 1, 6) = Cells(Target.Row + 1, 6).Value
Cells(Target.Row + 1, 7) = Cells(Target.Row + 1, 7).Value
Cells(Target.Row + 1, 8) = Cells(Target.Row + 1, 8).Value
Cells(Target.Row + 1, 9) = Cells(Target.Row + 1, 9).Value
Cells(Target.Row + 1, 10) = Cells(Target.Row + 1, 10).Value
Cells(Target.Row + 1, 12) = Cells(Target.Row + 1, 12).Value
Cells(Target.Row + 1, 13) = Cells(Target.Row + 1, 13).Value
Cells(Target.Row + 1, 14) = Cells(Target.Row + 1, 14).Value
Application.EnableEvents = True
End Sub



Dabei werden zuerst die formeln eingetragen.

Ginge siche auch einfacher, ich wollte mich aber jetzt nicht
mit den Formeln befassen.

Grus Sepp
Bild

Betrifft: AW: Poste mal den Code ! o.T.
von: schrö
Geschrieben am: 08.12.2003 13:06:28
werd ich gleich mal testen. Vielen Dank.
Bild

Betrifft: AW: Poste mal den Code ! o.T.
von: schrö
Geschrieben am: 08.12.2003 13:33:31
Hallo,

also so richtig geht es nicht. Es löscht jetzt alle Formeln oder kopiert keine Formel mehr.

Mal etwas anders:

zeile 1 feste Daten
Zeile 2 feste Daten

Zeile 3 enthält alle Formeln (diese werden per VB in die nächste (Zeile 4) kopiert
Zeile 4 enthält jetzt die Formeln (kopieren per VB)
Zeile 5 enthält jetzt die Formeln (kopieren per VB)

usw.

Jetzt möchte ich, dass die Zeilen ab 4 nicht mehr berechnet werden. Das Ergebniss soll da stehen bleiben. (Text)
Bild
Excel-Beispiele zum Thema " Formeln Texte"
Anzeigen von Werten und Formeln Zeile einfügen und Formeln und Werte übernehmen
Formeln mit Zelladressen speichern Zeilen mit leeren Formeln beim Druck unterdrücken
Alle Formeln und Links in Werte wandeln Namen löschen ohne Formeln zu zerstören
Alle Formeln und Zahlen löschen Spielpaarungen von Vorrunde bis Finale durch Formeln ermitteln
Markierung von Formeln über bedingte Formatierung Zellschutz nur für Formeln