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
553
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
Eroa Orpo! Orpo eroa!
Suomen kansa vaatii viimein ottamaan meidät huomioon, eikä vain ulkomaalaisia pääomasijoittajia. Koska täällä Suomessa1092710Odottavan aika on pitkä, Lindtmanin hallitusta tule jo!
Eilisen perusteella nykyinen hallitus epäonnistui kaikissa vaalilupauksissaan, joten olemme ansainneet uudet eduskuntava621724SDP esti Suomen luisumisen kohti 1984 Orwell -yhteiskuntaa
Äärioikeistohallitus olisi halunnut Stasin tapaan mikrofonit jokaisen kansalaisen kotiin, mutta SDP esti tuon siirtymän151710Naiset ei halua kilttejä miehiä
Näin se vaan on..jos olet ilman tatskoja, et rähjää, sinulla ei ole rikosrekisteriä, olet liian kiltti, et sano pahasti,2611591Wille Rydman (ps) osoitti olevansa kommunisti
Hän toistaa Neuvostoliiton virhettä. Haluaa pitää palveula yllä maksoi mitä maksoi, vaikkei ole maksavia asiakkaita. --91552Seiska: Helmi Loukasmäki paljastaa - Näin Danny ja Helmi tapasivat
Helmi Loukasmäki, 25, ja Ilkka Danny Lipsanen, 83, ovat seurattuja julkkiksia. Mutta tiesitkö, miten he tapasivat? Lue261256Ainoastaan 10 aloitusta ekasivulla yhdeltä henkilöltä
Kovasti on vaivaa, ei oo muuta tekemistä tällä henkilöllä päivisin ja öisin... Taas märehtimistä ja samaa jankutusta.261135Kiinteistökauppoja
Onko totta ettö haapaveden kaupunki on ostanut vanhan kesoilin kiinteistön? Kuulemma siihen muuttaa autokorjaamo vanhan411052RAAMATULLINEN KASTE ON SAPATTI-LAUANTAI, EI SUNNUNTAI
Aihe, josta ehkä on eniten kiistaa kristillisten seurakuntien piirissä, on kysymys oikeasta raamatullisesta pyhäpäivästä4041022Menettämisestä
Ajatteletko, että olet menettänyt mahdollisuutesi häneen? Osaatko sanoa miksi niin tapahtui?811015