[elektro-etc] excel vba
elight
elight at zalaszam.hu
Fri Jun 26 11:54:25 CEST 2009
Szia,
Ezek a fogalmak még a legősibb processzornyelvekben
is megtalálhatók..
Memóriák abszolut és relatív címzése.
A külömbségre próbálok egy példával..
Veszel két cellát, ( memóriát stb)
Ha abszolut hivatkozással beírod a képletbe
hogy C1 = A1 + B1 akkor a forrás adatokat
csak az A1 és B1 cellába teheted ha a műveletet
el akarod végeztetni , és az eredmény a végén a
C1 cellába képződik.
( Memóriáknál a A1,B1,C1 egy egy konkrét
memóricímet reprezentál ahol az adatok megtalálhatók)
(Magasabb program nyelveken a memóriával nem feltétlen kell
foglalkozni, a fordításkor általában kiosztásra kerülnek
ezek mint konkrét címek..)
Ez az ABSZOLÚT (FIX) címzés néha macerás,
mert ha pl. a számítást sokszor akarod elvégezni
akkor mindig be kell az abszolut cellákba másolnod
a forrás adatokat és az eredményt el kell vennek
a cél , C1 cellából ( az eredmény címről) ..
Ha ugyanezt a képletet relatív hozod létre
akkor a képlet működni fog bárhova másolod át az
egész rendszert ( összefüggéshalmazt )
Tehát az első esetben ha átmásolod a képletet
a következő sorba , akkor is az eredeti cellákra A1 B1 C1 mutat ,
mig a relativ módon megírva átveszi az aktuális forrássorok számát
tehát mutathat a második sorban A2 B2 C2 vagy
a harmadik sorban A3 B3 C3 ...és így tovább , aszerint hogy
hova másoltad a képletet,
( vagy programnál hová inicializálod a mutatókat).
Mindkét módszer a makróban is kitünően működik,
aszerin hogy éppen mi a szándékod.
( A VB-t nem nagyon ismerem , de gondolom ott is..)
A programozásnál két ősi példát említenék még:
Abszolut pl ha azt irod hogy
LET A = 5
LET B = 4
C = A + B
Ugyanakkor ez relatívan tömbök vagy
pointerek használatával lehet ugy megírni, hogy nem mindig
ugyanarról a helyről vegye a képlet a forrás adatokat,
és ne egy állandó helyű vátozóba jelenjen meg az eredmény.
Tehát pl az A(i) helyen találhatóhoz adja hozzá a B(i)
helyen található számot és az eredményt tegye C(i) edik
változóba .
A képletet már is relatív címzéssel határoztad meg!
A konkrát abszolut címeket az i meghatározásával
kapja meg a képlet. És az i bárhová mutathat,
Az abszolut címhez (i) képest
relatíve használja a részadatokat a képlet.
Talán dióhéjjban ennyi...
Nem szabad elfeledni hogy az EXCEL alapvetően
kétdimenziós tömbhivatkozásokat használ,
tehát az eredeti felvetésedben ezt mindenképpen
figyelembe kellett volna venni, és helyesen kezelni,
akár ABSZOLÚTE, akár RELATÍVE !
Üdv István
2009.06.25. 18:21:46 dátumon Nya'ri Viktor <office at flexelec.hu> írta:
> Ha egy cellába képletet írok, akkor értem.
> De ez a relatív hivatkozás hogy értelmezendő makróból? Mihez képest
> relatív? Kicsit körbeírnád ezt?
>
> elight wrote:
>> Szia,
>> Még annyit , ha jól emlékszem,
>> Ha pl: A2 akkor relatív hivatkozás ,
>> és ha $A$2 akkor pedig abszolut ,
>> de ez pontosan benne van az excel helpjében,
>> nem a VB-ben ..
>> Üdv István
>> 2009.06.25. 16:59:27 dátumon Fekete Róbert <frobi at harden.hu> írta:
>>
More information about the Elektro-etc
mailing list