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

1 rij selecteren

Status
Niet open voor verdere reacties.

Jeroen123456

Gebruiker
Lid geworden
3 jul 2007
Berichten
115
Beste ,

Ik heb een macro gemaakt die een aantal regels uit bestand x moet ophalen.
De macro selecteerd vanaf regel 2 tot en met de "laatste" regel. Als er meerdere regels zijn ingevuld werkt het prima.

Echter, als alleen regel 2 is ingevuld dan loopt de macro vast. Het lijkt dat de macro dan niet goed weet wat hij moet. Hij selecteerd vanaf regel 2 tot en met oneindig en begint te sputteren.

Iemand een idee ?

Code:
Sub Complete_lijst_maken1()
    
    Dim lLastRow As Long
    Dim rBrongegevens As Range
    
    Set rBrongegevens = Range("B2:Z2", Range("B2:Z2").End(xlDown))
    
    rBrongegevens.Copy
    
    With Workbooks("aaatotaallijst 2008~heden.xls").Sheets("1001~1012")
        
        lLastRow = .Range("A" & Rows.Count).End(xlUp).Row
        
        .Range("A" & lLastRow + 1).PasteSpecial xlPasteValues
        
        .Range("Z" & lLastRow + 1).Resize(rBrongegevens.Rows.Count).Value = rBrongegevens.Parent.Parent.Name
    
    End With    
    Application.CutCopyMode = False
    ActiveWorkbook.Close

End Sub
 
Gebruik in plaats van deze regel:
Code:
Set rBrongegevens = Range("B2:Z2", Range("B2:Z2").End(xlDown))
dit:
Code:
Set rBrongegevens = Range("B2:Z2").Rows(Range("B2:Z2").Rows.Count).rows
 
Heel erg bedankt voor je snelle reactie.

Ik heb de code omgezet maar nu pakt de macro alleen de 2de regel.
Hij zou vanaf regel 2 t/m de laatste regel moeten overzetten.

?
 
Om een goed antwoord te kunnen geven, moet bekend zijn welke kolom bepalend is voor de lengte (het aantal regels) van de tabel. Is dat kolom B, kolom Z, of een andere kolom? Of kan dat telkens als de macro loopt een andere kolom zijn?
 
Laatst bewerkt:
Gebruik dit, dan doet het er niet toe in welke kolom het laatste gegeven staat:
Code:
Set rBrongegevens = Range("B2:Z" & Cells.Find(What:="*", After:=[B2], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row)
Laat a.u.b. even weten of het hiermee lukt.
 
Helaas, met deze code lukt het ook niet.
Hij pakt nu regel 1 en 2 ongeacht het aantal ingevulde regels, terwijl hij zou moepten beginnen met regel 2 en dan tot en met het einde..

Wat misschien wel aardig is om te weten is dat de eerste kolom nooit gegevens bevat.
Kolom "B" is echter altijd bepalend voor het aantal regels.
 
Wat misschien wel aardig is om te weten is dat de eerste kolom nooit gegevens bevat.
Kolom "B" is echter altijd bepalend voor het aantal regels.
Maar de eerste kolom van je range is toch kolom B ?
Dat blijkt althans uit de macro die je in je eerste bericht plaatste.

Helaas, met deze code lukt het ook niet. Hij pakt nu regel 1 en 2 ongeacht het aantal ingevulde regels, terwijl hij zou moepten beginnen met regel 2 en dan tot en met het einde..
Kun je eens een bestand posten (desnoods met fictieve gegevens) waarin die code niet werkt?
Bij mij wordt met die regel namelijk wel het juiste gebied geselecteerd.
 
Beste Zapatr,

"B" is inderdaad wel de eerste kolom van de range, maar de 2de kolom van de sheet.
Excel wil nog wel eens raar doen als er een brei data lege cellen/rijen zitten.

Maar met je laatste code is het gelukt. De macro doet nu exact wat ik verwacht.
Heel erg bedankt voor je hulp!

Groetjes,

jeroen12356
 
Dank voor je bericht.
Markeer je vraag nog even als "Opgelost" a.u.b.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan