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?
Kursorin siirto makrolla
9
613
Vastaukset
- 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 EXCELingKiitos! 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
Vakava rikosepäily Seinäjoella
Ilkka ei taaskaan tiedä mitään mutta hesalaiset kertoo: https://www.is.fi/kotimaa/art-2000010959325.html412625Mitä on woketus?
Täälläkin hoetaan usein sanaa "woketus". Mitä se tarkalleen ottaen tarkoittaa? Ilmeisesti sen käyttäjät ymmärtävät sen k3992129Olet saanut kyllä tunnisteita
Itsestäsi ja meistä. Mutta mikä siinä on, ettet kirjoita etkä anna itsestäsi merkkejä. Ellei ole kysymys siitä, mikä ens201932Oletko jo luovuttanut?
Joko olet luovuttanut kaivatun suhteen ja hyväksynyt, että mitään ei tule?1381724Ikääntyvien tilanne Suomessa on järkyttävä - Hoivakotiin ei pääse, vaan joutuu selviytymään yksin
Ikääntyvien tilanne Suomessa on järkyttävä… Hoivakoteihin sijoittamista vältellään, koska hoito on kallista ja hyvinvoin1251623Mies pakko olla rehellinen
Kiinnostuin koska olet tosi komea ja sulla on ihana puheääni. Olen aika pinnallinen sitten kai... 😓 kyllä olet tosi rau151581Kristo Salminen, 52, riisuutui - Paljasti Iso-Börjen tatuoinnit - Somekansan tuomio yksimielinen
Iso-Börje, tuo iso, tatuoitu, yltiöromanttinen ja aika kuuma rikollispomo - vai mitä mieltä sinä olet? Lue lisää ja kat211113Hirvenmaitojuusto
Olin Prisman juustohyllyllä kun vierestä alkoi kuulua kamala paapatus. Siinä oli vanha muori, joka räyhäsi raivokkaasti,01112- 741019
Kerro mulle miksi juuri me
Kohdattiin? Tässä elämässä. Vaikka ollaan edelleen tutut tuntemattomat. Se on omituinen tunne.63925