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

1142

    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. Veroaste on Suomessa viitisen prosenttiyksikköä liian matala

      Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka
      Maailman menoa
      130
      3089
    2. EU komissio - EU-elpymisrahoja voidaan käyttää TILAPÄISESTI väärin!

      Espanja ohjasi miljardeja euroja – Nyt EU-komissio teki yllättävän paljastuksen Skandaaliksi noussut Espanjan EU-rahoje
      Maailman menoa
      39
      2949
    3. Kultasi eka kirjain? Kuka haluaa

      A haluaa J
      Ikävä
      105
      1331
    4. Empaattisuus ja suoruus.

      Tässä tullut noita pehmeitä asioita pohdittua, mutta toisaalta olen myös yksinkertainen mies. Pidän suoruudestakin. Mi
      Sinkut
      135
      1057
    5. Kristillinen kaste annetaa upotuskasteena

      Kristillinen upotuskaste perustuu juutalaiseen mikve-kasteeseen, jossa upottaudutaan veden alle kokonaan. Paavali vertas
      Kaste
      162
      1047
    6. Koko kansan kaste Punaisen meren ylityksen aikana

      Koko Israelin 2,5 milj.kansa sai kasteen ja Pyhän Hengen lahjan ylittäessän Punaisen meren. 1.Kor.10 1 Sillä minä en ta
      Kaste
      366
      1037
    7. Nainen, mikset lähetä

      miehelle viestiä? Tiedän, että sulla on asiaa ja kysyttävää.
      Ikävä
      60
      977
    8. Sijaiskasteet kuolleitten puolesta

      Paavali teki Korintossa sijaiskasteita kuolletten puolesta eli ns. Mormoninkasteita. 1. Kor. 15:29 Mitä muutoin ne, j
      Kaste
      373
      949
    9. Ehkä vähän

      Rakastunut sinuun
      Ikävä
      41
      777
    10. Sä saat mut tuntemaan

      Jotain sellaista mitä ei saisi tuntea mutta må en mahda tälle mitään. Mulla on ikävä niitä meidän katseita ja sitä tunne
      Ikävä
      22
      753
    Aihe