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

Formeln ändern per VBA

Formeln ändern per VBA
15.12.2006 14:14:27
Daniel
Hallo Excel- Freaks! ;-)
Leider kann ich mir bei der Sache nicht selbst helfen.
Ich hoffe ihr könnt mir weiterhelfen.
In Spalte N der Tabelle1 stehen in Spalte N Formeln.
Diese Formeln würde ich gerne ändern, sobald in Spalte S in der jeweiligen Zeile eine 1 steht. Diese 1 ergibt sich wiederum aus einer Formeln.
Es erfolgen keine manuellen Eingaben, sondern das Ganze muss automatisch- auch im Hintergrund- laufen.
Wenn nun in S eine 1 auftaucht (sonst ist der Wert 0 ), so soll die Formel in N dahingehend verändert werden, dass der Teil in der Formel der lautet ?phase.OA in ?phase.ALL geändert wird.
Das Problem ist, dass dieser Teile mittendrin in der Formel auftaucht, und die Zeichenlängen davor und danach sicher immer unterscheiden können.
Ich hoffe das kann man trotzdem machen!?
Da ich überall Formeln habe, sollte zu Beginn noch geprüft werden ob in der zeile irgendwo in #NV steht. Dann soll nichts verändert werden.
Über Hilfe würde ich mich sehr, sehr freuen, da ich selbst kaum Ahnung davon habe.
Daniel P

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formeln ändern per VBA
15.12.2006 14:29:13
Andi
Hi,
wie wär's damit:
=WENN(S1=1;Die_eine_Formel;Die_andere_Formel)
Schönen Gruß,
Andi
AW: Formeln ändern per VBA
15.12.2006 14:34:42
Daniel
Hallo Andi,
danke für den Hinweis.
Das geht leider nicht. Die Formel in N muss direkt in der Zelle stehen ohne selbst Teil einer Formel zu sein.
Die Lösung muss per VBA gemacht werden.
Grüße,
Daniel P
AW: Formeln ändern per VBA
15.12.2006 15:42:42
Andi
Hi,
Die Formel in N muss direkt in der Zelle stehen ohne selbst Teil einer Formel zu sein.
das verstehe ich zwar nicht, aber wenn's VBA sein soll, dann probier mal dies hier:

Sub t()
Dim c As Range
For Each c In Range("N1:N10")
c.Replace What:="?phase.OA", Replacement:="?phase.ALL", LookAt:=xlPart
Next c
End Sub

Schönen Gruß,
Andi
Anzeige
AW: Formeln ändern per VBA
15.12.2006 16:02:14
Daniel
Hallo Andi,
das klappt sehr gut mit dem Ändern, danke.
Wie kann ich das nun noch machen, dass der Bereich N1:N10 nicht fix ist und
darauf geachtet wird ob S = 1. Zudem muss noch gepfrüft werden, dass in P ACTIVE steht.
Das Makro kann ich ja per Call t durch Worksheet_Calculate aufrufen, oder?
Das arbietet auch im Hintergrund?
Wäre nett, wenn Du mir das noch zeigen könntest.
Grüße,
Daniel P
AW: Formeln ändern per VBA
15.12.2006 16:19:09
Andi
Hi,
das ginge zB so; wenn das ganze aus dem Calculate-Ereignis eines sheets aufgerufen werden soll, dann sollte man das sheet mit adressieren; sonst gibt's Probleme, wenn zufällig ein anderes Blatt aktiv ist. Den Blattnamen müsstest Du halt ggf noch anpassen:

Sub t()
Dim c As Range
With Sheets("Tabelle1")
For Each c In .Range("N1:N" & .Range("N65536").End(xlUp).Row)
If c.Offset(0, 5) = 1 And c.Offset(0, 2) = "ACTIVE" Then
c.Replace What:="?phase.OA", Replacement:="?phase.ALL", LookAt:=xlPart
End If
Next c
End With
End Sub

Schönen Gruß,
Andi
Anzeige
AW: Formeln ändern per VBA
15.12.2006 16:47:43
Daniel
Hallo Andi,
sehr gut. Vielen Dank!
Grüße,
Daniel
Gern geschehen... (ot)
15.12.2006 16:55:08
Andi
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige