Miten ihmeessä saan 4 riviä ylemmässä solussa olevan viittauksen (keskellä kaavaa ja viittaa toiselle sheetille) haettua keskelle uutta kaavaa.
Eli E21 solussa on on kaava:
=SIIRTYMÄ(Ruokapäiväkirja!$D$27;325;0;1;1)
ja haluaisin saada siitä solun E26 kaavaan viittauksen $D$352 (D27:stä 325 alas) alla esitetyllä tavalla
=SIIRTYMÄ(Ruokapäiväkirja!$D$352;25;0;1;1)
Mitä ihmettä pitäisi tehdä, jotta homma luonnistuisi automaattisesti. En tiedä pystyykö Excelillä hakemaan toisessa solussa olevia kaavoja tai niiden osia (suorat arvot ja kaavojen tuloksethan siirtyvät helposti), mutta jos joku tietää niin NYT SAA PÄTEÄ!!!
Vuoden pahin
1
532
Vastaukset
kuten arvelitkin ei Excelillä voi hakea toisesta solusta pelkkiä kaavoja- ainostaan kaavojen tuloksia.
VBA:lla asia on kuitenkin todella helppo tehdä. Pari tekstifunktiota ja tulosten yhdistäminen...
Tein nyt oman käyttäjän makron - liitä se moduuliin. Siihen soluun mihin haluat kaavan kopioituvan kirjoitat
=TeeKaava(E21;25)
missä Solu=E21 ja Siirtymä=25 (esimerkkisi mukaan), eli Solu on se solu, josta kaava kopioidaan(E21) ja Siirtymä(25) on siirtymä uudesta kaavasolusta. Kaava toimii vaikka vaihdat solunosoitetta esim.
Ruokapäiväkirja!D27--->Päiväkirja!D27
:-)
moduuliin...
Function TeeKaava(Solu As Range, Siirtymä As Integer) As String
Dim teksti As String
Dim eka As Integer
Dim toka As Integer
Dim osoite As String
Dim osoite1 As String
Dim osoite2 As String
Dim siirto As Integer
On Error Resume Next
Application.Volatile
teksti = Solu.FormulaLocal
eka = InStr(1, teksti, "!")
toka = InStr(1, teksti, ";")
'alkuperäinen offsetsolu
osoite1 = Mid(teksti, eka 1, toka - eka - 1)
eka = toka 1
toka = InStr(eka, teksti, ";")
siirto = Mid(teksti, eka, toka - eka)
'uusi offsetsolu
osoite = Range(osoite1).Offset(siirto, 0).Address
eka = InStr(1, teksti, "(")
toka = InStr(1, teksti, "!")
'alkuperäinen offsetsolu
osoite2 = Mid(teksti, eka 1, toka - eka)
TeeKaava = "=SIIRTYMÄ(" & osoite2 & osoite & ";" & Siirtymä & ";0;1;1)"
End Function
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Nasima löi Jussille luun kurkkuun
Nasima kertoi ettei Jussi sovi puhemieheksi, koska sallii rasismin. Mihin toimiin perussuomalaiset ryhtyvät? Kuka nouse5158796Razmyar on säälittävä - puhemiehellä ei ole mitään syytä ottaa kantaa tähän "silmäkohuun"
jonka toimittajat sai aikaan. Asia ei kuulu puhemiehelle millään lailla. Razmyar haluaa taas vaan huomiota. Mutta jos r1556076Miten Eerolan silmäkuvat voivat levitä muutamassa tunnissa ympäri maailmaa?
Seuraako koko maailma persujen ja erityisesti Eerolan somea reaaliajassa? Edes kansanedustajan itsemurha eduskuntatalos3545118Siviilipalvelusmies Halla-aho normalisoi rasismin perussuomalaisissa
SMP:n tuhkille perustettu puolue ei ollut ihmisiä vastaan, vaan instituutiokriittinen. "Missä EU - siellä ongelma", oli634716Suomalaisilta vaaditaan valtavasti suvaitsevaisuutta - miksi sitä ei vaadita muslimeilta
Suomalaisilta vaaditaan kaikkea, pitää olla suvaitsevainen ja hyväksyä vieraiden tavat, rasisti ei saa olla jne. Miksi s984321Juuri Suomen valtamedian toimittajat teki "silmävääntelystä" sen kohun
ja ilmeisesti ottivat yhteyttä myös ulkomaisiin medioihin, että katsokaas tätä. Mutta Japanin medioissa on asiaan suhta1664033SDP:n kansanedustaja Marko Asell: Suomen myönnettävä maahanmuuton ongelmat
Hänen mielestään Suomen pitää pyrkiä rajoittamaan jyrkästi turvapaikanhakijoiden pääsyä maahan ja hän arvioi, että maaha1833901- 911828
- 1031384
- 47949