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

761

    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. Mies vinkkinä sulle

      Jos pyytäisit kahville tai ihan mihin vaan, niin lähtisin varmasti välittämättä muista
      Ikävä
      85
      7425
    2. Oletko katkera kun

      Et saanut kaivattuasi
      Ikävä
      96
      5374
    3. Mitä haluat sanoa tällä hetkellä

      Hänelle 🫶 ⬇️
      Ikävä
      255
      4544
    4. Haluun sua niin paljon

      ❤️🥰🥹 Miehelle
      Ikävä
      44
      4465
    5. Vietetään yö yhdessä

      Rakastellaan koko yö
      Ikävä
      62
      3237
    6. Mitä palveluita mies..

      Haluaisit tilata minulta? -N
      Ikävä
      48
      2656
    7. Olet oikeasti ollut

      Niin tärkeä mulle ja kaikki meidän väliltä on pilattu ei yksistään sinun toiminnalla vaan minun myös.
      Ikävä
      22
      2338
    8. Kuuluu raksutus tänne asti kun mietit

      Pelkäätkö että särjen sydämesi vai mikä on? En mä niin tekisi mies koskaan 😘
      Ikävä
      29
      2302
    9. Oletko tyytyväinen viime tapaamiseemme?

      Vai toivoitko sen menevän toisella tavalla? Miten?
      Ikävä
      49
      2252
    10. Nyt se sit loppuu

      Et ei enää nähdä ja yhteyttä pidetä.
      Ikävä
      41
      2164
    Aihe