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

1122

    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. Asiakkaalle ei myyty energiajuomaa - tuomio tuli syrjinnästä

      Vaikka oli ilmeisesti täysi-ikäinen. Tosin ei lapsiakaan saisi syrjiä, koska oppivat helposti itsekin syrjimään, jos koh
      Maailman menoa
      73
      4094
    2. Miksi aina pitää kilpailla parhaudesta?

      Mua ärsyttää se, että kaikki kilpailut ja visailut keskittyvöt aina siihen, kuka on paras missäkin. Tänäkin aamuna tuli
      Sinkut
      85
      3365
    3. Pakkoruotsista luopumalla kymmenien miljoonien säästöt

      Pakkoruotsin opiskelun kustannuksista ei ole juurikaan tehty kustannusselvityksiä, mutta joidenkin arvioiden mukaan siit
      Maailman menoa
      98
      3158
    4. Jos venäjällä olisi kansan valitsema presidentti, olisiko Ukrainan sotaa?

      Ei varmasti olisi. Sehän on tiedossa, että raskaalla vaalivilpillä putin jatkaa pressana.
      Maailman menoa
      39
      3034
    5. Mitä muutoksia tekisit

      kaivatullesi? Miten on? Muista olla REHELLINEN 📸
      Ikävä
      101
      3022
    6. Luterilaisen kirkon koko kastekaava on väärä

      Uudessa testamentissa on kaksi täysin ristiriidassa olevaa kastekäskyä Matt 28:19 ja Ap. t. 2:38. Matteuksen evankeluimi
      Kaste
      41
      2674
    7. Seksuaalinen ahdistelu, naisten vähättely ja törkeä käytös naisia kohtaan kukkii rakennustyömailla

      Tällainen lienee ihan tavallisista kaikilla "äijävaltaisilla" työpaikoilla. Kaikki miesvaltaiset alat eivät ole toksise
      Maailman menoa
      243
      2545
    8. Kerro minulle

      Miksi teit niinkuin teit? Miksi kielsit tunteesi minua kohtaan. Miksi et halunnut että tiedän oikeasti mitä tunnet. Etkö
      Ikävä
      83
      2452
    9. Miten Yxäri iskettiin?

      Voisin tässä unta odotellessani kertoa, miten mieheni lähestyi minua. Tunsimme entuudestaan. Hän kyseli minulta aina j
      Sinkut
      215
      2426
    10. Rakkaalle J miehelle.

      Hitto mulla on sua ikävä. Haluisin heti nyt tulla sun syliin ja suudella sua.ja, ja ja... Hirveä ikävä.
      Ikävä
      92
      2309
    Aihe