Do Loop statement

Status
Niet open voor verdere reacties.

kruimeltjes

Gebruiker
Lid geworden
30 sep 2009
Berichten
222
Beste Allemaal,

Ik ben in excel via vba bezig een macro te schrijven.
1 van de dingen die de macro moet doen is rijen selecteren en verplaatsen op basis van een bepaalde tekst (in dit geval Cell).

Het begin heb maar hij moet dit riedeltje herhalen voor 3 andere tabbladen en dat is waar ik vast loop. Ik vermoed een do loop statement maar heb hier weinig ervaring mee.

Dit is wat ik tot nu toe draaiende heb;

Code:
Dim c As Range
Dim rngG As Range

Sheets("T1_Dys").Select
For Each c In Intersect(ActiveSheet.UsedRange, Range("G2:G1499"))
    If c = "Cell" Then
        If rngG Is Nothing Then Set rngG = c.EntireRow
        Set rngG = Union(rngG, c.EntireRow)
    End If
Next c
rngG.Select

    Selection.Copy
    Range("A1500").Select
    ActiveSheet.Paste
    
'Terug gaan naar de for each next statement
'selection.clear
'dan naar de volgende sheet gaan
'Worksheets(ActiveSheet.Index + 2).Select
'Terug gaan naar de for each next statement
'dit herhalen tot het einde van de tabbladen
 
Is dit eventueel op te lossen door er een functie van te maken zodat ik deze kan aanroepen?
 
Kruimeltjes,

Je kunt de verschillende tabbladen aflopen met een For Each constructie die je ook gebruikt voor C in
je eigen procedure.

De procedure zal er dan ongeveer zo uit gaan zien.
Code:
Public Sub Test()
Dim sht As Sheets
Dim c As Range
Dim rngG As Range

For Each sht In ActiveWorkbook.Sheets
    For Each c In Intersect(sht.UsedRange, Range("G2:G1499"))
        If c = "Cell" Then
            If rngG Is Nothing Then Set rngG = c.EntireRow
            Set rngG = Union(rngG, c.EntireRow)
        End If
    Next c
    rngG.Select

    Selection.Copy
    Range("A1500").Select
    ActiveSheet.Paste
Next

End Sub

Ik heb de code niet kunnen testen omdat je geen bestand hebt toegevoegd.

Veel Succes.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan