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
716
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
Olet toisen kanssa
...ja minä yhä vain sinua kaipaan. Tiedän ettet ole onnellinen siellä. Älä hukkaa aitoa onnea ja rakkautta hukkaan vain1421288- 271262
Kuka teistä on paras nainen
A-nainen? J-nainen? K-nainen? M-nainen? S-nainen? Vai kenties joku muu...? 😊611209- 781164
Osaako joku selittää tätä
Että miksi mulle on joka toinen ventovieras ihminen tyly ainakin ilmeillään ja eleillään?751122Jos me joskus nähtäisiin
niin ei kai sen vielä tarvitsisi merkitä sen enempää? Ja voihan olla ettei kumpikaan enää siinä vaiheessa edes haluaisi1031113Immu otti pataan
Olen pettynyt, hänen piti viedä Stagalaa kuin litran mittaa - mutta kuinka kävikään? Voi hemmetti sentään.... Ääääääh!651061- 54968
Lesken uusi
Onko totta että puolangan kunnalla töissä ollut mies joka kuoli niin sen vaimolla jo uusi lohduttaja. Pitäneekö paikkans15830Persun suusta:"Köyhät on luusereita ja ansaitsevat köyhyyden"
Ministeri Juuston apulainen näin uhoaa. Mitäs siinä. Kyllä on jo tiedetty muutaman vuoden hallitustyön pohjalta että per173812