Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

FormulaLocal

FormulaLocal
Verena
Hallo Ihr VBA-Profis!!
Habe mal eine kleine Frage zum FormulaLocal. Hänge jetzt bestimmt schon mindestens ne Stunde darüber und finde keine Lösung. Ist ja eigentlich ein einfaches Problem...aber da reichen meine verkümmerten VBA-Kenntnisse nicht aus.
Habe folgendenden Code:
ActiveCell.FormulaLocal = "=""" & Cells(ActiveCell.Row, ActiveCell.Column - 1).Value & """*""" & Cells(ActiveCell.Row - 1, ActiveCell.Column).Value & """"
Er soll einfach nur zwei Werte multiplizieren. Einmal der Zelle direkt links daneben und der Zelle direkt darunter. Möchte es allerdings nicht über FormulaR1C1 machen.
Hoffe ihr könnt mir weiterhelfen...
Gruß
Verena

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: FormulaLocal
23.09.2009 14:29:14
JogyB
Hi.
ActiveCell.FormulaLocal = "=" & ActiveCell.Offset(1, 0).Address(False, False) & "*" & ActiveCell.Offset(0, -1).Address(False, False)
Gruss, Jogy
Folgefrage
23.09.2009 14:40:10
Verena
Prima!! Dank dir für die schnelle Antwort. Das hat schon mal super geklappt.
Hätte dazu gleich noch eine Folgefrage... Ich habe variable Zellbezüge und lasse mir vorab die Zeile und die Spalte ausgeben. Sagen wir mal das Ergebnis wäre:
Zeile = 5
Spalte = 6
Könnte ich auch die Form Cells(Zeile,Spalte) in die Formel bringen?
Bsp. ActiveCell.FormulaLocal = "="Cells(Zeile,Spalte)+Cells(Zeile1,Spalte)"
Anzeige
AW: Folgefrage
23.09.2009 14:49:43
JogyB
Hi.
Mal die gleiche Formel, wenn Du Zeile und Spalte schon hast:
ActiveCell.FormulaLocal = "=" & Cells(Zeile + 1, Spalte).Address(False, False) & "*" _
& Cells(Zeile, Spalte - 1).Address(False, False)
Die andere Formel läßt sich übrigens mit With (siehe auch Rudis Antwort) noch verkürzen:
With ActiveCell
.FormulaLocal = "=" & .Offset(1, 0).Address(False, False) & "*" _
& .Offset(0, -1).Address(False, False)
End With
Gruss, Jogy
AW: Folgefrage
23.09.2009 15:07:59
Reinhard
Hallo Jogy,
das ist doch Overkill *lächel*
So isses vieeeeeeel kürzer :-)

Sub Multip()
With ActiveCell
.FormulaLocal = "=" & .Offset(1, 0).Address _
(False, False) & "*" & .Offset(0, -1).Address(False, False)
End With
End Sub
Sub Multip2()
With ActiveCell
.FormulaLocal = Replace("=" & .Offset(1, 0).Address _
& "*" & .Offset(0, -1).Address, "$", "")
End With
End Sub

Gruß
Reinhard
Anzeige
Folgefrage: sicher geht das
23.09.2009 14:50:44
Rudi
Hallo,
ActiveCell.FormulaLocal = "=" &Cells(Zeile, Spalte).address &"+" &Cells(Zeile1, Spalte).address
Gruß
Rudi
AW: FormulaLocal
23.09.2009 14:32:52
Rudi
Hallo,
With ActiveCell
.FormulaLocal = "=" & .Offset(, -1).Address & "*" & .Offset(1).Address
End With
Möchte es allerdings nicht über FormulaR1C1 machen. 

Warum nicht?
Gruß
Rudi
AW: FormulaLocal
23.09.2009 14:45:24
Verena
Hallo Rudi!!
Danke!! Auf deine Frage: Die Formel ist nur ein ganz kleiner Bestandteil der Originalformel. Und insgesamt gesehen machen sich relative Zellbezüge schwierig. Wollte nur mal das Schema sehen.
Anzeige
AW: FormulaLocal
23.09.2009 14:52:02
JogyB
Hi.
Was ist da mit der R1C1-Nomenklatur schwierig? Damit lassen sich sowohl relative als auch absolute Bezüge problemlos machen.
Gruss, Jogy
AW: FormulaLocal
23.09.2009 14:36:15
Reinhard
Hallo Verena,
Sub Multip()
ActiveCell.Value = ActiveCell.Offset(0, -1).Value * ActiveCell.Offset(1, 0).Value
End Sub

'
Sub Multip2()
ActiveCell.FormulaLocal = "=Bereich.verschieben(" & ActiveCell.Address & ";0;-1)" _
& "*Bereich.verschieben(" & ActiveCell.Address & ";1;0) "
End Sub
Gruß
Reinhard
AW: FormulaLocal
23.09.2009 14:41:50
JogyB
Hi Reinhard,
Bereich.Verschieben ist wohl ein wenig Overkill hier. ;)
Gruss, Jogy
Anzeige
DANKE!!!! Funktioniert bestens...
23.09.2009 14:58:36
Verena
Lacht mich bitte nicht aus ;)
23.09.2009 15:46:13
Verena
Hallo ihr Lieben... Ich bin zu dumm... Ich hoffe mal das es die Feierabendmüdigkeit ist das ich so auf dem Schlauch stehe. Sorry das ich euch mit so simplen Fragen nerve...
Bis dahin funktioniert es:
ActiveCell.FormulaLocal = "=" & Cells(Zeile(i), Spalte(i)).Address & "*" & Cells(Zeile(i) - 1, Spalte(i) - 1).Address
Wenn ich es allerdings folgend erweitere bringt er mir nen Syntaxfehler.
ActiveCell.FormulaLocal = "=" & Cells(Zeile(i), Spalte(i)).Address & "*" & Cells(Zeile(i) - 1, Spalte(i) - 1).Address&"-" & Cells(Zeile(i), Spalte(i)).Address
Wo ist mein Fehler? Werde mir jetzt erstmal ein Kaffee genehmigen... Vielleicht hilfts ;)
Anzeige
ha, ha, ha!
23.09.2009 16:10:39
Rudi
Hallo,
du musst immer ein Leerzeichen vor & machen.
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige