• 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.

Naar eerstvolgende lege cel in kolom gaan dmv macro

Status
Niet open voor verdere reacties.

snookie

Gebruiker
Lid geworden
16 apr 2001
Berichten
123
Besten,

Hoe kan ik dmv een macro ongeacht waar de focus staat in een excel blad naar de eerstvolgende lege cel gaan van een tevoren definieerde kolom?
Alvast bedankt voor de feedback. :)
 
Bijvoorbeeld naar de eerstvolgende lege cel in kolom E:
Code:
Application.Goto Reference:=Worksheets("Sheet1").Cells(Rows.Count, 5).End(xlUp).Offset(1, 0), scroll:=True
 
Bedankt voor uw antwoord WHER, probeer deze in een macro te gieten maar het werkt niet, waarschijnlijk iets vergeten maar wat? 't Zal wel aan de code liggen, ben daar zo gene straffe in....

Sub Naar_lege_cel()
'
' Naar_lege_cel Macro
' Naar eerstvolgende lege cel in voorgedefineerde kolom
'
' Keyboard Shortcut: Ctrl+e
'
Application.Goto Reference:=Worksheets("status meetstaten").Cells(Rows.Count, 2).End(x1Up).Offset(1, 0), scroll:=True

End Sub
 
Volgens mij heb je er End(x1Up) staan terwijl het End(xlUp) moet zijn.
Dus een kleine letter L en niet het cijfer 1.
 
Hey edmoor, dank voor je inbreng maar:
bij een 1 (één) als ik er over staat verschijnt 'x1up=Empty'
bij een l (kleine l) als ik erover sta verschijnt 'xlup= -4162'

iemand een ideee wat hier fout loopt?
Thanks
 
Wat er staat als je de muiscursor er boven zet is niet belangrijk in deze.
Het moet in ieder geval xlup zijn.
Heb je de functie zo al getest?
 
ja edmoor, en de volledige lijn komt in het geel te staan.
ben effe iets gaan eten om 19.30u terug, alvast bedankt
 
Deze werkt echter perfect op voorwaarde dat je bladnaam juist is
Code:
Sub Naar_lege_cel()
'
' Naar_lege_cel Macro
' Naar eerstvolgende lege cel in voorgedefineerde kolom
'
' Keyboard Shortcut: Ctrl+e
'
Application.Goto Reference:=Worksheets("status meetstaten").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0), scroll:=True

End Sub
 
Hey Warme Bakkertje,

Heb zelfs de bladnaam gewijzigd naar 1 woord zonder spatie voor alle zekerheid.
Sheet afgesloten, terug open, macros enabled aangevinkt en geeft bij opstarten macro via toetsencombinatie dezelde fout, raar.
Kan het zijn dat ik door eerst een macro opgenomen te hebben deze te hebben gewijzigd (module1) dat hier het probleem ligt?

Alvast bedankt voor uw moeite :)
 
Ik heb de code uit post #2 hier ook nog eens getest in combinatie met een keyboard shortcut (bij m'n eerste test hing hij aan een button), en dat werkt gewoon zonder foutmelding.
 
De volledige lijn komt in het geel te staan?
Heb je er toevallig een breakpoint gezet?
En welke fout krijg je?
 
Laatst bewerkt:
krijg volgende foutmelding indien ik via menu macro activeer:

Run-time error '1004':
Application-defined or object-defined error

blijkbaar iets te maken met een te grote tabel...

via google op dit gekomen (=vertaald):

'In Office Excel 2003 wanneer u programmatisch een bereik waarde met een matrix met een grote tekenreeks, wordt een foutbericht weergegeven de volgende strekking'

Heb de hidden koloms zichtbaar gemaakt en zelfs een andere gedefinieerd, werkt nog niet :confused:

Gebruik Excel 2007 en het is een grote tabel, iemand oplossing?
 
Is het toevallig een werkblad die eerder gemaakt is met Excel 2003 en staat deze nu in compatibiliteitsmode?
Dan is het maximum aantal regels 65536.

Als dat zo is, sla dan het blad op als .xslx bestand, sluit Excel en open het bestand dan weer.
 
Staat niet in compatibiliteitsmode en tabel heeft 1378 rijen waarvan 640 ingevuld, raar.
Ga het later eens proberen op andere PC, zien of het daar werkt, alvast bedankt voor de pogingen :thumb:
 
Even voor de duidelijkheid:

Het is een gedefiniëerd bereik, dus daaronder kan best iets anders staan.
Ts wil de laatste cel offset van dat gedefiniëerd bereik wat is ingevuld

Ik heb iets in elkaar geknutseld met als gedefiniëerde naam "kolomD" (even toepasselijk)
Dit bereik is "D4: D30".
Ik heb er wat overbodige Msgboxen ingezet voor de duidelijkheid.
Heb geen 'application.goto' gedaan maar 'Activate' anders blijft de commandbutton gefocust, en kan je niet direct in de cel iets invullen.
Ook staat de gewone sub er nog in voor 'application.goto'.

Misschien helpt jullie dit op weg.
 

Bijlagen

Laatst bewerkt:
Hey HSV, uw code werkt perfect, hartelijk bedankt daarvoor.

Echter duikt er een ander probleem op.
Heb AutoFilter.select toegevoegd bovenaan de code zodat alle rijen zichtbaar worden om de focus te hebben op de eerste lege cel in de gedefineerde kolom.
Echter als ik deze terug wil actief maken in dezelfde macro is mijn focus (logisch) weg.
Is er geen mogelijkheid dat alle rijen zichtbaar worden, dan uw code uitgevoerd word, maar dat de filterknoppen bovenaan de kolommen aanwezig blijven?

Alvast vele dank, ben al een grote stap vooruit, ook de anderen zijn bedankt die de aanzet gaven hé
Laat deze vraag nog eventjes openstaan...
 
Doe er eens een bestandje bij met de handelingen die je doet.
Misschien heb ik geen oplossing, maar kijken kost niets.
 
Doe er eens een bestandje bij met de handelingen die je doet.
Misschien heb ik geen oplossing, maar kijken kost niets.

Beste, zal dat vrijdag proberen te doen, moet dringend wat slapen, straks om 6u gaat die vervloekte wekker van zijne tak maken.

Greetz,
Snookie :thumb:
 
Hier ben ik terug met met een vb bestand om het tweede probleem beter te illustreren.
Op eerste tabblad 'zFilter' werkt de macro uitstekend (met dank aan HSV :thumb:). Druk op de knop bovenaan en deze gaat naar de eerste lege cel onderaan de 1ste kolom

Op tweede tabblad 'mFilter' maak ik gebruik van filtering in de kolommen (werkelijke lijst is zeer groot), echter als ik op de knop druk zie ik mijn cel niet die met een focus zichtbaar zou moeten zijn om een waarde in te vullen.

Iemand een idee hoe ik zoiets kan aanpakken? Liefst met 1 macro achter 1 knop.
Alvast bedankt voor jullie feedback.

Mvg, Snookie
 

Bijlagen

Beste snookie,

Ik begrijp het hele verhaal achter je gedefiniëerde naam niet.
Onderstaande regel werkt idem dito als er onder het bereik van je bereiknaam (i.d.g. $B$31) niets staat.

Code:
Sub tst()
  Application.Goto Cells(Rows.Count, 2).End(xlUp).Offset(1)
End Sub

En met onderstaande regel ga je naar je laatsts ingevulde cel +1, ongeacht het filter.
Code:
Sub tst()
  Application.Goto Columns(2).Find(Cells.SpecialCells(11))
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan