Taulukossa on n. 800 saraketta. Jokaisella rivillä on tieto yhden, jonkun sarakkeen kohdalla. Pitäisi saada vasemmanpuoleisimpaan sarakkeeseen poimittua tuo yksi tieto, joka on siis jossakin sarakkeessa. Kaavasta tulisi epätoivoisen pitkä. Olisiko muuta ratkaisua?
Solujen sisältö yhteen soluun
Havaintomatriisi
7111
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 7
Vanhimmat
Function HaeTieto(Alue As Range)
n = Alue.Cells.Count
For c = 1 To n
If Alue(1, c) "" Then
HaeTieto = Alue(1, c)
Exit Function
End If
Next c
HaeTieto = "#N/A"
End Function
Sub Koonti()
rivit = ActiveCell.SpecialCells(xlLastCell).Row
sarakkeet = ActiveCell.SpecialCells(xlLastCell).Column
For r = 1 To rivit
c = 2
Do While c
Hyvältä näyttää. Tuo makro siis talletetaan taulukkoon makroihin. Miten se kutsutaan ko solussa?
Makrofunktioita käytetaan aivan samalla tavalla kuin Excelin omiakin. Makroja sisältävä asiakirja pitää vain tallettaa makrot sallivassa muodossa (.xlsm).
HaeTieto-funktion parametriksi maalataan haettavalta riviltä tarpeellinen määrä sarakkeita. Soluun A1 tulee vaikkapa =HaeTieto(B1:ADT1)
jos rivillä on vain 1 tieto, silloin voit käyttää seuraavia hakufunktioita, koska ne palauttaa viimeisimmän arvon rivillä, eli jos useampia arvoja rivillä palauttaa oikeanpuoleisimman. Mutta sun tapauksessahan oli vaan yksi tieto.
Kopioi kaavaa vaan alaspäin (ja muutasolualue sopivaksi)
luvuille
=LOOKUP(9,99E 307;B1:AGZ1)
ja tekstille
=LOOKUP("zzz";B1:AGZ1)
Keep EXCELing
@Kunde
Kundepuun neuvoa en saanut toimimaan, rivillä kun on yksi tieto, mutta se vaihtelee, ei ole aina sama. Mutta Tämmönen´n kaava tehosi, paljon kiitoksia. Harrastajat kiittävät!
#Hyppii riemuissaan!
Kunde/Kundepuu ei lähettele tänne toimimattomia koodeja tai kaavoja...
toi toimii tasan tarkkaan just niinkuin postauksessa olen maininnut, jos käytössäsi suomiversio ei tieteskään toimi...
Keep EXCELing
@Kunde