[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