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

Formeln Texte

Formeln Texte
08.12.2003 12:20:11
schrö
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?

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

Betreff
Datum
Anwender
Anzeige
AW: Formeln Texte
08.12.2003 12:26:18
Josef Ehrensberger
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
AW: Formeln Texte
08.12.2003 12:29:17
Schrö
Hallo Josef Ehrensberger,

wie geht dies. Habe in solchen Sachen keinen Schimmer.
Poste mal den Code ! o.T.
08.12.2003 12:30:26
Josef Ehrensberger
/
AW: Poste mal den Code ! o.T.
08.12.2003 12:34:11
schrö
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

Anzeige
AW: Poste mal den Code ! o.T.
08.12.2003 12:38:51
schrö
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

Anzeige
AW: Poste mal den Code ! o.T.
08.12.2003 12:46:23
schrö
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

Anzeige
AW: Poste mal den Code ! o.T.
08.12.2003 12:58:13
Josef Ehrensberger
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
Anzeige
AW: Poste mal den Code ! o.T.
08.12.2003 13:06:28
schrö
werd ich gleich mal testen. Vielen Dank.
AW: Poste mal den Code ! o.T.
08.12.2003 13:33:31
schrö
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)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige