• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Lege cellen in bereik en waarde cel gebruiken voor selectie cel

Status
Niet open voor verdere reacties.

duco243

Gebruiker
Lid geworden
8 jul 2009
Berichten
67
Ik heb 2 vragen:

In A1 staat 1, in A2 staat 2 enz tot A5
In B1 staat =ALS(A1>0;A1;"") en deze formule kopieer ik naar B2 tm B10
Nu kopieer in de waarden van B1:B10 naar C1:C10
In kolom C staat nu 1 tm 5 onder elkaar
Nu selecteer ik C1, druk op END en PIJLTJE DOWN en de geselcteerde cel wordt C10 in plaats van C5 want dat is de laatste cel met een waarde (n.l. 5)

Hoe kan ik zorgen dat de selecte met END Pijltje Down op C5 eindigt?



Vraag 2

In cel A1 staat het getal 5
De geselecteerde cel is B1
Hoe kan ik in VBA taal zorgen dat de geselecteerde cel nu 5 posities lager komt zodat ik die programmacode onder een knop kan hangen

M.a.w. hoe kan ik de celwaarde in A1 de verplaatsing van de cellpointer in kolom B laten bepalen?



Bij voorbaat dank


gr.
Harrie
 
vraag 2

Het antwoord op vraag 2 is:
Dat moet je oplossen met Offset. Kijk maar eens in de help van VBA wat je daar over kunt vinden. Als het niet lukt, post dan maar weer.

:)
 
Het antwoord op vraag 2 is:
Dat moet je oplossen met Offset. Kijk maar eens in de help van VBA wat je daar over kunt vinden. Als het niet lukt, post dan maar weer.

:)



Ja OffSet is wel bruikbaar, maar dan zit ik nog met de vraag hoe ik een bepaalde celwaarde tussen de OffSet haakjes krijg, bv

-----------------------------
Sub macro1()

Range("B1").Select
ActiveCell.Offset(2, 0).Select

End Sub
-------------------------------
Deze macro zorgt dat de active cel vanaf B1 2 plaatsen lager komt (B3 dus)

Stel, in cel A1 staat de waarde 5
In plaats van de "2" bij OffSet wil ik daar de celwaarde van A1 (die 5 dus) gebruiken om de verplaatsing te bepalen. Hoe krijg ik dat voor elkaar?
 
Code:
Sub macro1()

Range("B1").Offset(Range("A1").Value, 0).Select

End Sub

Óf iets korter:

Code:
Sub macro1()

Range("B1").Offset([A1], 0).Select

End Sub

Met vriendelijke groet,


Roncancio
 
Code:
Sub macro1()

Range("B1").Offset(Range("A1").Value, 0).Select

End Sub

Óf iets korter:

Code:
Sub macro1()

Range("B1").Offset([A1], 0).Select

End Sub

Met vriendelijke groet,


Roncancio



Ja dit bedoelde ik, bedankt Roncancio
Ik wist wel dat het kon maar op internet kon ik het niet zo gauw vinden.
En zie er dan maar eens achter te komen dat het celadres tussen rechte haken moet...
Maar goed, ik ben er erg mee geholpen, rest nog mijn eerste vraag

gr.
Harrie
 
Vraag 1 gaat zo niet lukken. Cellen C6 tot en met C10 zijn effectief niet leeg (er staat een formule in), dus Ctrl-pijltje naar beneden eindigt in C10.
 
Vraag 1 gaat zo niet lukken. Cellen C6 tot en met C10 zijn effectief niet leeg (er staat een formule in), dus Ctrl-pijltje naar beneden eindigt in C10.


Het leek me anders een probleem waar vast wel een oplossing of een alternatief voor zou zijn. Maar bedankt dat je er toch even op gereageerd hebt.


gr.
Harrie
 
Het leek me anders een probleem waar vast wel een oplossing of een alternatief voor zou zijn. Maar bedankt dat je er toch even op gereageerd hebt.

Er zijn wel alternatieven maar dat zal dan VBA-code zijn.

Met vriendelijke groet,


Roncancio
 
Er zijn wel alternatieven maar dat zal dan VBA-code zijn.

Niet noodzakelijk ;)

Je kan de HYPERLINK functie gebruiken om een link in te stellen naar de juiste cel (dit is variabel maar makkelijk te berekenen).
 
Niet noodzakelijk ;)

Je kan de HYPERLINK functie gebruiken om een link in te stellen naar de juiste cel (dit is variabel maar makkelijk te berekenen).

Oeps.
Je hebt gelijk. Macht der gewoonte.:o

Met vriendelijke groet,


Roncancio
 
Nou, ik zit nog steeds met een lastig VBA probleem waar ik niet uitkom.

Het gaat over de volgende VBA regel:

Range("D1").Select
ActiveCell.Range("A1:A6").Select


Hierdoor wordt steeds dezelfde range geselecteerd, namelijk D1 tm D6
Maar ik wil eigenlijk dat als in cel A1 de waarde 4 staat er de range D1 tm D5 wordt geselecteerd, als in cel A1 de waarde 7 staat de range D1 tmD8 wordt geselecteerd, dus dat de waarde in A1 het aantal opschuivingen naar beneden bepaalt.

Met Offset([A1], 0) lukt het me niet om een range te selecteren, wel een celadres


Wie kan helpen?
 
Laatst bewerkt:
Code:
Range("A1").Resize(Range("A1")+1)

of

Code:
[A1].Resize([A1]+1)

.Select is heel dikwijls niet nodig.
 
Code:
Range("A1").Resize(Range("A1")+1)

of

Code:
[A1].Resize([A1]+1)

.Select is heel dikwijls niet nodig.



Oke nu lukt het, het was even puzzelen maar met de volgende notatie wordt idd een range geselecteerd afhankelijk van de waarde in cel A1

Range("D1").Select
ActiveCell.Resize([A1] + 1).Select



Wigi bedankt hè:thumb:
 
Het kan op 1 regel:
Code:
Range("D1").Resize([A1] + 1).Select

Hoe dan ook, gaarne de vraag op opgelost zetten (rechts onderaan op de pagina).
Bvd.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan