WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [VBA] Referer bei Zelle (http://www.wcm.at/forum/showthread.php?t=102620)

moorhahn 14.07.2003 19:41

[VBA] Referer bei Zelle
 
wie bekommt man in einem excel-makro den index der zelle, von der das makro aufgerufen wurde, bzw. den index der darüberliegenden zelle?

flinx 14.07.2003 19:55

Wenn die Zelle selektiert ist, mit 'Selection.Address'.

moorhahn 14.07.2003 19:57

unselektiert. es soll eine liste sein in der untereinander jeweils die funktion aufgerufen wird. die funktion addiert die darüberliegenden inhalte und addiert noch was dazu.

flinx 14.07.2003 20:14

:confused:
Kannst das bitte genauer erläutern, so versteh ich es nicht ganz.

moorhahn 15.07.2003 07:45

es soll sowas wie ein fahrtenbuch sein.
eine liste: man könnte ja auch einfach untereinander immer die gefahrenen kilometer einschreiben, die müsste man aber ausrechnen (kilometerstand nach fahrt-kilometerstand vor fahrt). zwar nicht unbedingt kürzer, und eigentlich auch sinnlos, weil man die gefahrenen kilometer ja schnell ausrechnen kann, bzw die subtraktion einfach in die zelle eintragen kann aber es ginge auch anders:
man trägt in die zelle einfach die funktion ein, und übergibt dabei den kilometerstand nach der fahrt. addiert man die bisher gefahrenen strecken, und subtrahiert diese summe dann vom kilometerstand, hat man die gefahrenen kilometer der jeweiligen strecke. um die summe der bisher gefahrenen kilometer zu bekommen, muss man die jeweiligen zellen darüber addieren.

flinx 15.07.2003 12:41

Leider immer noch :confused: .
Meinst du mit Funktion ein Makro?
Zitat:

man trägt in die zelle einfach die funktion ein, und übergibt dabei den kilometerstand nach der fahrt
Genau um das zu machen musst du ja eine Zelle auswählen, um die Funktion/Kilometerstand einzutragen. Diese Zell-Adresse kannst du dann mit 'Selection.Address' abfragen.
Wie und wann und rufst du dann das Makro auf? Was macht das Makro, wenn du die gefahrenen Kilometer schon mit der Funktion berechnet hast?

Vielleicht kannst ja die Excel-Tabelle als zip anhängen, damit ich verstehe was du machen willst.

moorhahn 15.07.2003 12:50

ja, ein makro, is aber auch ne funktion in vba.
wenn man mal einen wert der liste ändert, sollten sich die anderen auch ändern. naja, das ganze scheint eigentlich gar nicht wirklich möglich zu sein. egal, danke trotzdem.

jak 15.07.2003 14:26

Wie wär es mit einem anderen Ansatz:
Eine Schleife, die einfach alle Zellen durchläuft und die vorherigen addiert, subtrahiert oder was du halt sonst machen willst.

Jak

moorhahn 15.07.2003 15:41

hm ...... ja, das sollte gehen, danke!

moorhahn 16.07.2003 11:41

ok, funktioniert.
noch ne frage zu vba in excel: wenn man in excel zellen kopiert, dann haben die kopierten zellen so nen strichlirten rahmen bis man etwas in eine andere zelle schreibt, oder sonstwas verändert. gibt es eine möglichkeit, diesen rahmen mittels makro loszuwerden?

renew 16.07.2003 11:49

Zitat:

Original geschrieben von moorhahn
ok, funktioniert.
noch ne frage zu vba in excel: wenn man in excel zellen kopiert, dann haben die kopierten zellen so nen strichlirten rahmen bis man etwas in eine andere zelle schreibt, oder sonstwas verändert. gibt es eine möglichkeit, diesen rahmen mittels makro loszuwerden?

ausn Stehgreif - keine Ahnung. ;)

Aber in Excel kann man ja eh ein Makro aufzeichnen und dann das machen, was man sich vorstellt.
Und dann sieht man sich den Code an. :)

Dies habe ich jetzt gemacht:
wenn man STRG+C drückt, steht im Code
Selection.Copy
und das markierte Feld bekommt den strichlierten Rahmen.

und wenn man dann auf ESC drückt, deaktivert man damit das strichlierte - und da steht dann so schön: Appliction.CutCopyMode = False

so, und das sollte die Lösung für dein "Problem" sein. :)

jak 16.07.2003 11:50

Einfach indem man den focus auf eine andere Stelle setzt.

Jak

moorhahn 16.07.2003 12:47

@LLR: jop, hab das auch so probiert, makro aufgezeichnet, was kopiert, aber dann diesen rahmen nicht mehr weggebracht, außer eben durch verändern einer anderen zelle, aber das ist halt ziemlich unelegant. ESC drücken wär also quasi die lösung gewesen. danke!

danke auch dir jak.


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag