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

usedrange, maar dan een deeltje daarvan

Status
Niet open voor verdere reacties.

Spiesse

Gebruiker
Lid geworden
14 jul 2011
Berichten
902
beste,

volgende code bezorgt me zonder problemen de usedrange in een tabel:
Code:
Sub SelectActualUsedRange()

  Dim FirstCell As Range, LastCell As Range
  Set LastCell = Cells(Cells.Find(What:="*", SearchOrder:=xlRows, _
      SearchDirection:=xlPrevious, LookIn:=xlValues).Row, _
      Cells.Find(What:="*", SearchOrder:=xlByColumns, _
      SearchDirection:=xlPrevious, LookIn:=xlValues).Column)
  Set FirstCell = Cells(Cells.Find(What:="*", after:=LastCell, SearchOrder:=xlRows, _
      SearchDirection:=xlNext, LookIn:=xlValues).Row, _
      Cells.Find(What:="*", after:=LastCell, SearchOrder:=xlByColumns, _
      SearchDirection:=xlNext, LookIn:=xlValues).Column)
  Range(FirstCell, LastCell).Select
  
End Sub

nu zou ik daar een variant op willen...
het bereik zou enkel range("a2:f2") mogen zijn, maar wel alle rijen meetellen die er bezet zijn...

ik heb geprobeerd om firstcell te bepalen met range("a2:f2").value maar dit helpt niet...

groeten
spiesse
 
Misschien handig om wat beter aan te geven wat je nu krijgt, wat de mogelijke range is en wat je verwacht te hebben na de aanpassing. Ook een voorbeeld bestand zou handig zijn.

Ik denk dat je door een beperkt bereik wil lopen en een selectie van alle rijen met een waarde? Je gebruikt ook het woord "meetellen" maar als je uitkomst slechts een enkele range is dan begrijp ik dat niet helemaal.
 
wat ik nu krijg is het bereik kolom a:p maar dan kunnen er x aantal kolommen geteld worden... dit is nooit hetzelfde... ik zou enkel kolom a:f nodig hebben maar dan de x aantal rijen meegeteld met waarden in
 
is opgelost.
volgende code deed het werk :)
Range("a2", Range("f2").End(xlDown)).Select

toch bedankt voor het meedenken!

spiesse
 
Ik dacht eerlijk gezegd al dat je zoiets bedoelde, maar vanwege de complexe originele code toch maar eerst vragen :)
 
Kijk nog eens in de hulpbestanden van de VBEditor


Lees het verschill tussen
Code:
sheets(1).usedrange
en
Code:
sheets(1).cells(1).currentregion

en als antwoord op je vraag:

Code:
usedrange.columns(1).resize(,6)
en als je rij 1 wil uitsluiten:

Code:
usedrange.columns(1).resize(,6).offset(1)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan