macro sneller/korter maken?

Status
Niet open voor verdere reacties.

sickofitall

Gebruiker
Lid geworden
29 sep 2008
Berichten
375
Is er hier iemand die dit korter kan formuleren? Indien dit korter kan, heb ik dan ook de zekerheid dat mijn macro sneller zal werken of niet???

bedankt


Mijn macro mag pas op rij 5 (en rij 235) beginnen te werken:
Code:
Sub test()
With Worksheets("Gegevens")
    Dim rijg As Long

       rijg = 5
    Do Until rijg = 234
       If .Cells(rijg, 8).Value = "NEW" Then
            .Cells(rijg + 230, 6).Value = .Cells(rijg, 6).Value
            .Cells(rijg + 230, 7).Value = .Cells(rijg, 7).Value
            .Cells(rijg + 230, 8).Value = .Cells(rijg, 8).Value

            .Range("D1").Value = rijg + 9 'telling
            rijg = rijg + 1
        Else
            .Range("D1").Value = rijg + 9 'telling
            rijg = rijg + 1
        End If
    Loop

End Sub
 
Code:
Sub test()
With Worksheets("Gegevens").range("F5:H234")
      sp=.value
      sq=.offset(230)
   
      for j=1 to ubound(sp)
        if sp(j,3)="NEW" then 
           sq(j,1)=sp(j,1)
           sq(j,2)=sp(j,2)
           sq(j,3)=sp(j,3)
        end if
     next
     .offset(230)=sq
  End with
End Sub

Maar als het erom gaat de nieuwe items apart te zetten zijn de methodes autofilter en advancedfilter natuurlijk veel eenvoudiger:
Code:
Sub test2()
  With Worksheets("Gegevens").range("F4:H234")
    .autofilter 3,"NEW"
    .offset(1).specialcells(xlcelltypevisible).copy .offset(230)
  End with
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan