Mitenkä oikein excelissä voisi tehdä sellaisen luupin, että se kävisi sarakkeita niin pitkään oikealle läpi, kunnes tulee tyhjä kenttä? Solujen sisältöä olisi tarkoitus ottaa muuttujiin talteen sitä mukaan kun siirrytään A1-solusta oikealle.
Yritin jotain for-luuppia tehdä, mutta en oikein keksinyt mitenkä loopin voisi tehdä kun sivuttaissuunnassa ei liikuta numeroina, vaan kirjaimina.
Ratkaistu:
Näyttäisi sittenkin menevän ihan numeroina tuo kun oikeilla hakusanoilla osasin etsiä. Esim. Taulu.Cells(rivi, sarake).Value jne.
Jos muistelee, millä logiikalla se indeksi kasvaa sivuittain tehtävä helpottuu; alla jotain osviittaa.
Dim sarake As Long, monikerta As Integer, solu As String, a As Integer, b As Integer '' Monikerta: montako kertaa ollaan menty kirjaimet A-Z (26 kpl) monikerta = 0: a = 0 Do sarake = sarake + 1 If monikerta > 0 Then solu = Chr$(monikerta - 1 + Asc("A")) & Chr$(a + Asc("A")) Else solu = Chr$(a + Asc("A")) EndIf solu = solu & Str(rivin_nmr) If solu_on_tyhjä Then Exit Do a = a + 1 If a Mod 26 = 0 Then monikerta = monikerta + 1: a = 0 Loop '' Nyt sarake-muuttujassa on oikea sarake
Jeps, kiitti tuostakin neuvosta. Voi kyllä olla helpompi pelkillä numeroilla pelata kun se kerta onnistuu niin. :)
Seuraava käynnistyy tuplaklikkaamalla solua Excelissä.
'Excel VBA Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim i As Integer Dim abu As String Do Until IsEmpty(Target.Offset(0, i).Value) abu = abu & Target.Offset(0, i).Value i = i + 1 Loop MsgBox abu Cancel = True 'estetään solun normaali aktivoituminen tuplaklikkauksesta End Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.