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

selecteer aanwezige data

Status
Niet open voor verdere reacties.

bebobebo

Gebruiker
Lid geworden
2 nov 2006
Berichten
94
Hallo Excel-toppers.

Ik heb een selecteermacro die alleen de aanwezige data moet selecteren in de range van
B5:GW300

Code:
Sub selecteren()
 
Range("b5:gw" & Range("b5:gw300").Find("", LookIn:=xlValues, lookat:=xlWhole).Row).Select


End Sub


Hij werkt in een simpel voorbeeld wel maar in het tweede voorbeeld niet.
Kan iemand vertellen wat hier fout gaat.

Bekijk bijlage Voorbeeld sorteer.xls

Groet Bert
 
Bebobebo, Dit werkt beter...
Code:
Range("B5:GW300").SpecialCells(xlCellTypeConstants).Select

Groet, Leo
 
Hallo Leo,

Dank voor de snelle reactie, maar hij doet niet wat hij moet doen.
Bij het eerste tabblad doet hij het nog steeds, bij het tweede selecteerd hij aleen cel C5.
Wat gaat hier fout?

Bekijk bijlage 61693

Gr. Bert

Hoi Bert,

Heb het getest, door ergens in het bereik een waarde te typen.
Deze worden netjes geselecteerd, d.m.v. de knop.

Dus volgens mij is er niets mis mee.;)
 
Hoi Bert,

Heb het getest, door ergens in het bereik een waarde te typen.
Deze worden netjes geselecteerd, d.m.v. de knop.

Dus volgens mij is er niets mis mee.;)

Hallo Harry,

Helemaal gelijk, ik heb nu ook wat waardes erbij lopen typen, ze worden geselecteerd.
Dit is niet wat ik bedoelde.
Wat ik wil is de eerste lege cel in kolom B opzoeken en dan alle regels (tot kolom GW) naar boven selecteren t/m regel 5.
In het geval van het voorbeeldbestand(tabblad "werkt niet") zou het de volgende selectie moeten zijn:C5:GW6.

Ik hoop dat ik het nu wat duidelijker heb neergezet.

Gr. Bert
 
De selectie gebeurt wel degelij maar doordat cel C5 een Datavalidatie heeft wordt deze cel gemarkeerd.
Echter de rest van de gevulde cellen zijn wel degelijk geselecteerd.
Code:
ActiveSheet.Range("B5:GW300").SpecialCells(xlCellTypeConstants).Select

Cobbe
 
De selectie gebeurt wel degelij maar doordat cel C5 een Datavalidatie heeft wordt deze cel gemarkeerd.
Echter de rest van de gevulde cellen zijn wel degelijk geselecteerd.
Code:
ActiveSheet.Range("B5:GW300").SpecialCells(xlCellTypeConstants).Select

Cobbe

Hallo Cobbe,

Het klopt dat de gevulde cellen geselecteerd zijn, alleen de groene datumblokjes doen niet mee, er staat wel een waarde met "Ja".
Als hij deze wel me zou nemen dan is dit goed te gebruiken om af te drukken (macro gebruiken, selectie als afdrukbereik gebruiken en in de macro bouwen en je kan mooi de aanwezige geselecteerde data printen)

Maar mijn doel was eigenlijk om deze selectie te gebruiken om de aanwezige data te sorteren.
Dit kan dus alleen maar als de rijen zijn geselecteerd.
Is het dan mogelijk om in kolom C naar de laatste ingevulde cel te gaan en dan alle rijen naar boven t/m rij 5 de totale rijen te selecteren, zodat deze te gebruiken zijn om als selectie op kolom te selecteren.
Ik ga er vauit als ik deze basismacro heb dat ik d.m.v. de vba-recorder het sorteren er dan wel zelf bij/tussen kan zetten.

De vraag is dus hoe die basis er uit zou moeten zien.
Gr. Bert
 
Ik zie toch echt dat de groene blokjes geselecteerd zijn Bert, alsook J7 en J8.
 
Ik zie toch echt dat de groene blokjes geselecteerd zijn Bert, alsook J7 en J8.

Harry,

Ik ga het niet meer snappen.
Volgens mij zou hij kolom k, l en m ook mee moeten nemen, doen ze niet.
Wat ook raar is dat hij kolom b niet selecteerd maar wel op het afdrukvoorbeeld neerzet.
Ik heb de selectie in een afdrukbereik gezet en screenprint als excelbijlage.
Bekijk bijlage printsceen bij voorbeeld3.zip
Ik heb ook voorbeeld 3 gemaakt (waarde j7 en j8 hoorde geen waarde te zijn).
Bekijk bijlage printsceen bij voorbeeld3.zip

Bert.
 
Ik weet niet echt of ik het goed begrepen heb maar je kunt deze eens testen:
Code:
Sub selecteren()
rij = Range("B65000").End(xlUp).Row
kolom = Range("IV5").SpecialCells(xlCellTypeLastCell).Column
Range(Cells(5, 2), Cells(rij, kolom)).Select
End Sub

Succes, Cobbe
 
Ik weet niet echt of ik het goed begrepen heb maar je kunt deze eens testen:
Code:
Sub selecteren()
rij = Range("B65000").End(xlUp).Row
kolom = Range("IV5").SpecialCells(xlCellTypeLastCell).Column
Range(Cells(5, 2), Cells(rij, kolom)).Select
End Sub

Succes, Cobbe

Hallo Cobbe,

Helemaal goed begrepen, schot in de roos, deze kan ik goed gebruiken.


Dank :thumb: voor de moeite, dit gedeelte van de vraag is opgelost.


Voordat ik de vraag op opgelost zet wacht ik nog even op een reactie:o van Harry (HSV)

Bert
 
Hallo Cobbe,

Helemaal goed begrepen, schot in de roos, deze kan ik goed gebruiken.


Dank :thumb: voor de moeite, dit gedeelte van de vraag is opgelost.


Voordat ik de vraag op opgelost zet wacht ik nog even op een reactie:o van Harry (HSV)

Bert

Hallo Bert,

In eerste instantie had ik alleen dingen waargenomen.
Ben geen VBA-er, maar ik probeer er net een beetje aan te ruiken.
Ik had al wat fora afgestruint voor je, maar ik had de vraag wat anders geïnterpreteerd.
Nl. dat je er nog wat rijen aan toe ging voegen, en deze dan ook weer mee geselecteerd moesten worden, omdat het bereik tot 300 rijen werd opgegeven.
Maar prima dat het opgelost is.
;)
 
Hallo Bert,

In eerste instantie had ik alleen dingen waargenomen.
Ben geen VBA-er, maar ik probeer er net een beetje aan te ruiken.
Ik had al wat fora afgestruint voor je, maar ik had de vraag wat anders geïnterpreteerd.
Nl. dat je er nog wat rijen aan toe ging voegen, en deze dan ook weer mee geselecteerd moesten worden, omdat het bereik tot 300 rijen werd opgegeven.
Maar prima dat het opgelost is.
;)

Hallo Harry,

Bedankt voor je reactie en het mee denken.
Ik kan weer een stukje verder met mijn uitdaging.

Nogmaals dank:thumb:

Groet Bert
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan