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

formel in allen zellen abändern

formel in allen zellen abändern
genieInABottle
Hallo excel-könner.
ich hab zellen, in denen ich verzwickte formeln (mit verknüpfungen zu zellen aus anderen tabellenblättern) eingegeben habe.
nun ist es so, dass ich in allen formeln vergessen habe durch 1000 zu dividieren. Dh. ich müsste nun "per hand" jede einzelne zelle anclicken und "/1000" eingeben.
gibt es keine möglichkeit, das schneller zu erledigen: irgendwie excel sagen, dass er in den markierten zellen "/1000" dran hängen muss.
wenn es gar keine andere möglickeit geben sollte, würde ich auch vba-programmierung in betracht ziehen....
danke schön im voraus.
gruss,
sanaz
AW: formel in allen zellen abändern
Christoph
Hi Sanaz,
so z.B:
Gruß
Christoph
('ne Rückmeldung wäre nett)
Option Explicit

Sub formel()
Dim rng As Range, formel As String
For Each rng In Selection
If rng.FormulaLocal Like "=*" Then
formel = rng.FormulaLocal & "/1000"
rng.FormulaLocal = formel
End If
Next
End Sub

HasFormula-Eigenschaft
Boris
Hi Christoph,
kleiner (nicht kriegsentscheidender) Tipp:
Dafür gibt´s die HasFormula-Eigenschaft:
Option Explicit

Sub formel()
Dim rng As Range, formel As String
For Each rng In Selection
If rng.HasFormula Then
formel = rng.FormulaLocal & "/1000"
rng.FormulaLocal = formel
End If
Next
End Sub

Wie gesagt: Im Ergebnis völlig identisch.
Grüße Boris
Anzeige
Danke - wieder was gelernt
Christoph
Hi Boris,
und auf die überflüssige Variable "formel" in meinem Code kann man auch noch verzichten...
Gruß
Christoph

Sub formel()
Dim rng As Range
For Each rng In Selection
If rng.HasFormula Then
rng.FormulaLocal = rng.FormulaLocal & "/1000"
End If
Next
End Sub

Wenn du es so willst, dann...
Boris
Hi Christoph,
...kannst du auch auf den If-Then-Block verzichten;-)) :

Sub formel()
Dim rng As Range
For Each rng In Selection
If rng.HasFormula Then rng.FormulaLocal = rng.FormulaLocal & "/1000"
Next
End Sub

Grüße Boris
Anzeige
den kenn ich schon, das wird aber oft länglich (:
Christoph
Dann arbeite doch mit dem Unterstrich...;-))
Boris

Sub formel()
Dim rng As Range
For Each rng In Selection
If rng.HasFormula Then _
rng.FormulaLocal = rng.FormulaLocal & "/1000"
Next
End Sub

Grüße Boris
OK- du hast gewonnen - smile (o.T.)
Christoph
Gute Nacht! ;-))) oT
Boris
AW: Gute Nacht! ;-))) oT
K.Rola
Hallo Boris,
bist du sicher, dass das so geht? Stell dir vor, die Formel ist z.B.
=123 + 26 + 0,5
was passiert dann?
Gruß K.Rola
AW: Lösung und Gute Nacht!
FP
Hi K.Rola,
WorksheetFunction.Substitute(rng.FormulaLocal, "=", "=(") & ")/1000"
Servus aus dem Salzkammergut
Franz
AW: Lösung und Gute Nacht!
K.Rola
Hallo,
mich musst du nicht missionieren, Boris braucht Beistand.
Gruß K.Rola
AW: Gute Nacht! ;-))) oT
Boris
Hi K.Rola,
logo - aber die Eingangsfrage:
"...irgendwie excel sagen, dass er in den markierten zellen "/1000" dran hängen muss....
Zudem ging es mir hier doch nur um HasFormula - insofern denke ich, dass ich hier grad mal keinen Beistand brauche;-)
Grüße Boris
Anzeige
Inzwischen ja mehr guten Morgen...
K.Rola
Hallo Boris,
da bin ich mal nicht deiner Meinung. Die Fragestellung war zwar so,
aber du hättest überschauen müssen, dass das u.U. in die Hose geht.
Eigentlich hatte ich erwartet: 1000 in eine Zelle schreiben, kopieren,
Inhalte einfügen, Formeln, Operation Division.
Gruß K.Rola
AW: Inzwischen ja mehr guten Morgen...
Boris
Hi K.Rola,
...selbstverständlich ist das manuelle kopieren/dividieren die schnellste, beste und einfachste Variante - ich gebe mich somit geschlagen.
Grüße Boris

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige