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

866

    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. Suureksi onneksesi on myönnettävä

      Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️
      Ikävä
      65
      1453
    2. Perusmuotoiset TV-lähetykset loppu

      Nyt sanoo useiden HD-muotoistenkin kanavien kohdalla äly-TV, ettei kanava ole käytössä, haluatko poistaa sen? Kanavia
      Apua aloittelijalle
      110
      900
    3. No ei sun asunto eikä mikään

      muukaan sussa ole erikoista. 🤣 köyhä 🤣
      Ikävä
      58
      751
    4. YLE Äänekosken kaupunginjohtaja saa ankaraa arvostelua

      Kaupungin johtaja saa ankaraa kritiikkiä äkkiväärästä henkilöstöjohtamisestaan. Uusin häirintäilmoitus päivätty 15 kesä
      Äänekoski
      47
      744
    5. Mitä mietit Honey?

      Kulta nainen ❤️❤️
      Ikävä
      57
      720
    6. Missä kaikessa olet erilainen

      Kuin kaivattusi? Voin itse aloittaa: en ole vegaani kuten hän. Enkä harrasta tietokonepelejä lainkaan.
      Ikävä
      39
      697
    7. Hyvin. Ikävää nainen,

      Että vainoat ja stalkkaat miestäni.onko tarkoituksesi ehkä saada meidät eroamaan?no,siinä et tule onnistumaan
      Ikävä
      71
      671
    8. Linnasuolla poliisi operaatio

      Kamalaa menoa taas meidän ihanassa kaupungissa. https://www.uutisvuoksi.fi/paikalliset/8646060
      Imatra
      26
      669
    9. Katsoin mies itseäni rehellisesti peiliin

      Ja pakko on myöntää, että rupsahtanut olen 😆. Niin se ikä saavuttaa meidät kaikki.
      Ikävä
      41
      657
    10. Uskomaton tekninen vaaliliitto poimii rusinoita pullasta

      Korni näytösesitelmä menossa kaupunginvaltuustossa. Juhlia ei ole kokouksista tiedossa muilla, kuin monipuolue paikalli
      Pyhäjärvi
      67
      650
    Aihe