Kursorin siirto makrolla

Anonyymi-ap

Pitäisi saada siirrettyä kursoria makrolla esim. rivi alaspäin ja muutama sarake oikealle niin, ettei anneta uutta osoitetta, esim. siis ei B1, vaan siltä riviltä missä kursori sattuu olemaan, niin yksi rivi alaspäin. Miten moinen tehdään?

9

663

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Mitä sinä sillä tiedfolla tekisit?

    • Anonyymi

      Sub siirry(r, c)
      ActiveCell.Offset(r, c).Select
      End Sub

      • Anonyymi

        Tuo makro muuttaa aktiivisen solun paikkaa mihin tahansa suuntaan.
        siirry(1,0) siirtää sitä rivin alaspäin.


      • Anonyymi
        Anonyymi kirjoitti:

        Tuo makro muuttaa aktiivisen solun paikkaa mihin tahansa suuntaan.
        siirry(1,0) siirtää sitä rivin alaspäin.

        Ei ihan se mitä tarkoitin. Tuo makro valitsee vain esim. seuraavan solun vaikkapa alaspäin, mutta jos on piilotettuja rivejä seuraavana tuntematon määrä, niin pitäisi saada kursori siirtymään seuraavalle näkyvälle riville eli niin kuin nuolinäppäimellä tuo siirtyisi. Ongelmana tässä on se, että ei etukäteen tiedetä seuraavan näkyvän rivin osoitetta.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei ihan se mitä tarkoitin. Tuo makro valitsee vain esim. seuraavan solun vaikkapa alaspäin, mutta jos on piilotettuja rivejä seuraavana tuntematon määrä, niin pitäisi saada kursori siirtymään seuraavalle näkyvälle riville eli niin kuin nuolinäppäimellä tuo siirtyisi. Ongelmana tässä on se, että ei etukäteen tiedetä seuraavan näkyvän rivin osoitetta.

        Do While rng.EntireRow.Hidden Or rng.EntireColumn.Hidden
             Set rng = rng.Offset(1, 0)
        Loop

        rng.Select


         

         
        Tuon pitäisi valita seuraava näkyvä solu.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei ihan se mitä tarkoitin. Tuo makro valitsee vain esim. seuraavan solun vaikkapa alaspäin, mutta jos on piilotettuja rivejä seuraavana tuntematon määrä, niin pitäisi saada kursori siirtymään seuraavalle näkyvälle riville eli niin kuin nuolinäppäimellä tuo siirtyisi. Ongelmana tässä on se, että ei etukäteen tiedetä seuraavan näkyvän rivin osoitetta.

        Tämä muuttaa aktiivisen solun paikkaa mihin tahansa suuntaan näkyvällä alueella:

        Sub siirry(r, c)
        dr = 0
        Do
        ActiveCell.Offset(Sgn(r), 0).Select
        If ActiveCell.EntireRow.Hidden = False Then dr = dr + Sgn(r)
        Loop While dr <> r


        dc = 0
        Do
        ActiveCell.Offset(0, Sgn(c)).Select
        If ActiveCell.EntireColumn.Hidden = False Then dc = dc + Sgn(c)
        Loop While dc <> c

        End Sub


      • Anonyymi
        Anonyymi kirjoitti:

        Do While rng.EntireRow.Hidden Or rng.EntireColumn.Hidden
             Set rng = rng.Offset(1, 0)
        Loop

        rng.Select


         

         
        Tuon pitäisi valita seuraava näkyvä solu.

        Tuosta alusta puuttuu Set Rng = ActiveCell
        Lisäksi lopetusehdon pitäisi olla silmukan lopussa .

        Set Rng = ActiveCell
        Do
        Set Rng = Rng.Offset(1, 0)
        Debug.Print Rng.Address
        Loop While Rng.EntireRow.Hidden Or Rng.EntireColumn.Hidden
        Rng.Select


      • Anonyymi kirjoitti:

        Ei ihan se mitä tarkoitin. Tuo makro valitsee vain esim. seuraavan solun vaikkapa alaspäin, mutta jos on piilotettuja rivejä seuraavana tuntematon määrä, niin pitäisi saada kursori siirtymään seuraavalle näkyvälle riville eli niin kuin nuolinäppäimellä tuo siirtyisi. Ongelmana tässä on se, että ei etukäteen tiedetä seuraavan näkyvän rivin osoitetta.

        Sub Siirry()
        SendKeys "{Down}"
        End Sub

        @Kunde
        Keep EXCELing


      • Anonyymi
        kunde kirjoitti:

        Sub Siirry()
        SendKeys "{Down}"
        End Sub

        @Kunde
        Keep EXCELing

        Kiitos! Tuota juuri hain. Siitä tuli lopulta tämän näköinen:

        Sub Siirry()
        SendKeys "{Down}"
        SendKeys "+{Right 10}"
        End Sub

        Lisäsin siihen myös valinnan.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Nainen näytät mummolta. :D

      Siks sua ei huoli kukaan.
      Ikävä
      208
      2625
    2. Kompostointitarkastaja tuli tarkastukselle!

      En ole ikinä kompostoinnut ja eilen kävi kompostointitarkastaja kylässä. Tosi hianoa byrokratiaa taas: "Laki edellyttää,
      98
      1849
    3. Varattais lähihotellista

      🥰 huone viikoksi. Oltais vaan ja tilattais huonepalvelusta herkkuja! Viikonloppukin käy jos et viikoksi ehdi ❤ Hyvää
      Ikävä
      217
      1631
    4. Nyt jäi velat perimättä

      Mikä idea se talo oli polttaa ja velalliset sisällä nyt jäi rahat saamatta
      Jämsänkoski
      14
      1495
    5. Martinan aussikulta, missä?

      Mihin katosi Martina Aitolehden aussikulta kyselee Seiska!
      Kotimaiset julkkisjuorut
      278
      1362
    6. Ellen Jokikunnas muistelee Reino-koiraa - Ralph-poika koskettavalla tavalla esiin: "Kiitos, että..."

      RIP Reino. Lämmin osanotto suureen suruunne Ellen, Jari ja Ralph. Reino tuli tutuksi monelle suomalaiselle Unelmia Ita
      Tv-sarjat
      46
      1194
    7. Haluaisin sun kanssa yhteisen

      Elämän. Haluun sut.
      Ikävä
      47
      1126
    8. Mitä tekisit jos kaivattusi olisi

      humalassa, kun tapaat hänet jossain seuraavalla kerralla?
      Ikävä
      106
      1001
    9. Meneekö eläinpuiston johto vaihtoon vaalien jälkeen?

      Ähtärissä kuhistaan ja kuiskitaan, että perussuomalaiset esittävät vaalien jälkeen, että eläinpuiston hallitus uusitaan
      Ähtäri
      53
      903
    10. Rakkauden kesä 2025

      Oletko valmis? 🥰
      Ikävä
      85
      875
    Aihe