Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Zelle in Formel
08.09.2005 07:51:23
gnilk
Hallo Leute,
wie kann ich den Wert einer Zelle mit Hilfe eines VBA codes fuer eine Rechenoperation in einer anderen Zelle nutzen.
Beispiel:
In der
ActiveCell.Offset(0, -1).Range("A1").Select
befindet sich ein Wert. Dieser soll in der Zelle
ActiveCell.Offset(2, -2).Range("A1").Select
durch 21 dividiert und dann mit 3 multiliziert werden.
(erwuenschter Zellwert)/21*3
Bitte bei Unklarheit Frage nicht als beantwortet sehen, sonder auch noch anderen die Moeglichkeit geben, etwas dazu zu sagen. Ich sitze naemlich in Australien und kann erst am naechsten Morgen Eure Beitraege lesen.
Danke
Gnilk

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle in Formel
08.09.2005 08:17:58
gnilk
.....ach so, noch was:
Es muss unbedingt die ausgewaehlte Zelle sein (ActiveCell.Select). Bitte nicht Befehle mit Bezug wie z.B.;
ActiveCell.FormulaR1C1 = "=R[-5]C[1]/21*3".
Ich bentuze naemlich die Ctrl-Taste und den Cursor um die Zelle zu aktivieren und das ganze auch noch im Offset Modus.
Danke
Ciao
Gnilk
AW: Zelle in Formel
08.09.2005 08:40:07
ingoG
Hallo Downunder,
Du mußt Dir darüber im Klaren sein, dass mit jedem .select Deine aktive Zelle wechselt...
aus diesem Grund solltest Du mE folgendermaßen vorgehen:
ActiveCell.Offset(2, -2)=ActiveCell.Offset(0, -1) / 7
wenn Du dass schon eingerechnet hast, dann folgendermassen:
ActiveCell.Offset(2, -2).select
selection = ActiveCell.Offset(0, -1) / 7
Gruß Ingo
PS eine Rückmeldung wäre nett...
Anzeige
AW: Zelle in Formel
08.09.2005 09:08:35
ingoG
Hallo nochmal,
nach kurzem Überlegen ist mir folgende Lösung in den sinn gekommen:

Sub aaaa()
ActiveCell.Offset(2, -2).Select
Selection.FormulaLocal = "=" & ActiveCell.Offset(0, -1).Address(RowAbsolute:=False, ColumnAbsolute:=False) & "/21*3"
End Sub

das macro stellt in das Feld, welches 2 Zeilen unter und 2 spalten vor der aktiven zelle liegt die formel ein, die sich auf die Zelle links daneben bezieht.
ich hoffe, das war so gemeint
Gruß Ingo
AW: Zelle in Formel
08.09.2005 09:23:41
gnilk
Hallo Ingo,
habe jetzt erst Deinen zweiten Beitrag gelesen. Gefaelt mir schon besser.
waere es moeglich an Stelle von
ActiveCell.Offset(0, -1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
auch irgendwie
Selection.End(xlUp).Select
Offset(0, 3).Select
Selection.End(xlDown).Select
Offset(0, -1).Select
einzubauen. Aus Tabellengruenden mussich so einen Schwachsinn machen. Geht im Moment nicht anders. Kann man das irgendwie in eine Zeile schreiben?
Selection.End(xlUp).Offset(0, 3).Selection.End(xlDown).Offset(0, -1).Address _
(RowAbsolute:=False, ColumnAbsolute:=False)
Ist dieser Versuch zu naiv?
Ciao
Gnilk
Anzeige
AW: Zelle in Formel
08.09.2005 10:10:58
ingoG
Hallo Gnilk?
hast Du es denn einfach mal versucht.
gib doch einfach mal
msgbox Selection.End(xlUp).Offset(0, 3).End(xlDown).Offset(0, -1).Address _
(RowAbsolute:=False, ColumnAbsolute:=False)
ein und schaue, ob immer ein die richtige addresse rauskommt
Gruß Ingo
AW: Zelle in Formel
09.09.2005 01:42:06
gnilk
Hallo Ingo,
ich habe es versucht und es hat auch geklappt. Es musste noch ein wenig modifiziert werden. So sah es dann aus:
Selection.FormulaLocal = "=" & ActiveCell.End(xlUp).Offset(0, 3).End(xlDown) _
.Offset(0, -1).Address(RowAbsolute:=False, ColumnAbsolute:=False) & "/21*1"
Aber Deine Idee war genau richtig. Vielen Dank
Ciao Gnilk
Anzeige
gerne, danke für die Rückmeldung oT
09.09.2005 10:31:51
ingoG
.
AW: Zelle in Formel
08.09.2005 09:14:45
gnilk
Hallo Ingo,
ich bin noch im Buero und konnte Dir daher noch antworten.
Irgendwie hat es so nicht funktioniert, da ich naemlich die Zelle fuer die Rechenoperation erst mit
Selection.End(xlDown).Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, -1).Range("A1").Select
aussuche.
Wenn ich dann einmal in dieser Zelle bin soll die Formel benutzt werden.
In der Formel soll der Wert aus der anderen Zelle als Bezug genommen werden.
Das Problem ist, dass das ganze in einem Makro eingegliedert ist. Jeden Tag "wandert" der Wert des Bezuges eine Zeile nach unten. Deswegen muss ich immer die
Selection.End(xlDown).Select
Moeglichkeit nutzen.
Ich hoffe, dass ich Dir mein Problem etwas naeher bringen konnte.
Ciao
Gnilk
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige