Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
316to320
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formel ersetzen

Formel ersetzen
05.10.2003 13:34:50
Steffen
Hallo und guten Tag,

ich habe ein Problem bei dem Ich Eure Hilfe brauche.

Und zwar habe ich in einer Zelle eine Formel stehen, z.b:

=A1+A2 --> nur Beispiel

nun möchte ich diese Formel ergänzen und zwar um Wenn(C1=1;1;A1+A2)

mein Problem ist das ich diesen Teil der Formel nicht ersetzen kann weil eine Klammer fehlt, wie bekomme ich dies hin?

Jede Formel hat den gleichen Anfangsteil, den ich ersetzen kann.

Danke Euch schon vielmals

Steffen

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

Betreff
Datum
Anwender
Anzeige
AW: Formel ersetzen
05.10.2003 14:04:32
Christoph
Hi Steffen,
was meinst du mit "weil eine Klammer fehlt"???
wie heißt denn deine Originalformel? In der Regel erstelle ich Formeln in der ersten relevanten Zeile und ziehe diese dann nach unten. Die Fixbezüge entsprechend in $-Zeichen gesetzt.
Ich fürchte, du musst das Problem nochmal erklären.
Gruß
Christoph
AW: Formel ersetzen
05.10.2003 15:14:01
heinz
=Wenn(C1=1;1;A1+A2)
bei mir funktionierts
Nochmal helfen
05.10.2003 16:48:24
Steffen
Also die Formel lautet z.b:

=[04allg.xls]Allgemein!$N$13

Und soll gegen

=Wenn(A1=0;0;[04allg.xls]Allgemein!$N$13)

ersetzt werden.

Das Problem ist aber dass die Formel unterschiedlich sein kann, also verschiedene Verweise innerhalb der Tabelle.

Das einzige was bei allen gleich ist, ist =[04allg.xls]Allgemein!

Wie kann ich dies machen.

LEider kann ich keine manuelle ersetzung machen, da es sich um ca. 3000 Zellen handelt!

Danke Euch nochmals

Steffen
Anzeige
AW: Nochmal helfen
05.10.2003 16:59:32
Holger Levetzow
woher kommt die Adresse der Zelle N3?
Holger
AW: Nochmal helfen
05.10.2003 18:07:16
Panicman
Hallo Steffen,

hier mal ein Ansatz:

Sub Wenn_Formel_einfügen()
Set FormulaCells = ActiveSheet.UsedRange.SpecialCells(xlFormulas, 23)
For Each Zelle In FormulaCells
f = Zelle.FormulaR1C1
If InStr(f, "[04allg.xls]Allgemein!") Then
Formel = Mid(f, 2, Len(f))
Zelle.FormulaR1C1 = "=IF(A1=0,0," & Formel & ")"
End If
Next Zelle
End Sub


Gruß
Holger
hab was, aber klappt nicht, bitte hilfe
05.10.2003 19:46:22
Steffen
Zur Einleitung

Und zwar möchte ich die Formel

='[TB1.xls]NW-Mod'!$I$53

per Makro in

=WENN($C$1=0;0;'[TB1.xls]NW-Mod'!$I$53)

ersetzen

Dies muss ich per Code machen, da unterschiedlich zellen

Mein Code bis jetzt:


Sub formel_ersetzen()
If FEHLER = 1 Then Exit Sub
On Error Resume Next
If X = 1 Then alter = "0"
For Each c In Selection.SpecialCells(xlCellTypeFormulas)
If Selection.Cells.Count = 1 Then Set c = ActiveCell
ALT = c.FormulaLocal
If ALT = "" Then GoTo 10
TEXT = "'" & c.FormulaLocal
If c.FormulaLocal Like "=WENN(" & vorn & "*" Then GoTo 20
c.Value = TEXT
c.Characters(1, 1).Delete
TEXT = c.FormulaLocal
vorn = Workbooks(ThisWorkbook.Name).Sheets("quelle").Range("C6").Value
mitte = Workbooks(ThisWorkbook.Name).Sheets("quelle").Range("C7").Value
NEU = "=" & vorn & mitte & ";" & TEXT & ")"
Range("C1").Value = NEU
c.FormulaLocal = NEU
If Selection.Cells.Count = 1 Then Exit Sub
20:
Next c
10:
End Sub


Bei mir kommt als Ergebnis immer:

'[TB1.xls]NW-Mod'!$I$53

raus.

Nehme ich aber eine Formel die so lautet =A2+A3, dann klappts.

Was mache ich falsch?

Danke schonmal

Steffen
Anzeige
AW: hab was, aber klappt nicht, bitte hilfe
05.10.2003 20:42:19
Christoph
Hi Steffen:
schreib die betreffende Zeile im Code folgendermaßen:
NEU = "=" & vorn & mitte & ";'" & Text & ")"

Gruß
Christoph
PS: ich bin kein Programmierer, aber sowas verbogenes hab ich nie gesehn...
AW: hab was, aber klappt nicht, bitte hilfe
05.10.2003 21:17:40
Panicman
Hallo Steffen,

aus deiner Programmierung werd ich nicht schlau.
Bei meiner vorhin war leider auch ein Fehler.
Aber jetzt:

Sub Wenn_Formel_einfügen()
Set FormulaCells = ActiveSheet.UsedRange.SpecialCells(xlFormulas, 23)
For Each Zelle In FormulaCells
f = Zelle.FormulaR1C1
If InStr(f, "=IF(R1C3=0,0,[04allg.xls]Allgemein!") = 0 Then
If InStr(f, "[04allg.xls]Allgemein!") Then
Formel = Mid(f, 2, Len(f))
Zelle.FormulaR1C1 = "=if(R1C3=0,0," & Formel & ")"
End If
End If
Next Zelle
End Sub


Setzt vor deine Formel "Wenn($C$1=0;0" und wenn das schon drin steht macht es nichts.

Gruß
Holger
Anzeige
habs jetzt, danke, code anbei
07.10.2003 09:35:21
Steffen
Hier mein fertiger Code:


Sub Wenn_Formel_einfügen()
altf = Workbooks(ThisWorkbook.Name).Sheets("quelle").Range("C5").Value
vorn = Workbooks(ThisWorkbook.Name).Sheets("quelle").Range("C6").Value
mitte = Workbooks(ThisWorkbook.Name).Sheets("quelle").Range("C7").Value
On Error Resume Next
For Each Zelle In Selection.SpecialCells(xlCellTypeFormulas)
If Selection.Cells.Count = 1 Then Set Zelle = ActiveCell
ALT = Zelle.FormulaLocal
If ALT = "" Then GoTo 10
If Zelle.FormulaLocal Like "=" & vorn & "*" Then GoTo 20
f = Zelle.FormulaLocal
If InStr(f, altf) Then
Formel = Mid(f, 2, Len(f))
'Zelle.FormulaR1C1 = "=IF(A1=0,0," & Formel & ")"
Zelle.FormulaLocal = "=" & vorn & mitte & ";" & Formel & ")"
End If
If Selection.Cells.Count = 1 Then Exit Sub
20:
Next Zelle
10:
End Sub


Danke Euch nochmal vielmals

Steffen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige