Kopier række hvis kriterium er opfyldt og slet derefter de sidste 4 celler i kildedata
Jeg har en makro der flytter data hvis et bestemt kriterium er opfyld. Når kriterium er opfyldt, kopieres rækkerne og sættes ind i området Range N50 (Tabel 1). Data i rækkerne går over 11 kolonner (A:K), - både kildedata og tabel 1 er i samme ark.Men jeg vil gerne have søgekriterium til at fungere lidt anderledes, ved at der søges efter en værdi i nogle definerede områder.
Hvis der findes en værdi der matcher en værdi i kolonne A i kildedata, så skal rækken i kildedata kopieres og sættes ind i Tabel 1.
Derefter skal de 4 sidste celler (H:K) i den række der er kopieret, slettes i kildedata.
Eksempel:
Der søges efter et match i 3 områder: f.eks. P10:P30; R13:R33; U11:U31.
Værdien "123456" findes i et af de 3 områder, og den findes også i en række i kildedata (kolonne A).
Hele denne række kopieres og sættes ind i tabel 1. Derefter skal de sidste 4 celler i rækken (H:K) i kildedata slettes.
Makroen:
Public Sub TestFlytDataOgSlet()
Dim Tabel(1 To 300, 1 To 11) As Variant
Dim i As Integer, j As Integer, k As Integer
Application.ScreenUpdating = False
k = 1 ' initiering
'Læg i tabel
For i = 1 To 300
ThisWorkbook.Sheets("Ark1").Activate
'I stedet for at søge efter værdien "123456", skal der søges efter et match i de 3 definerede områder.
If ThisWorkbook.Sheets("Ark1").Cells(i, 1).Value = "123456" Then
For j = 1 To 11
Tabel(k, j) = Cells(i, j).Value
Next j
k = k + 1
End If
Next i
For k = 1 To 300
For j = 1 To 11
ThisWorkbook.Sheets("Ark1").Range("N50").Cells(k, j).Value = Tabel(k, j)
Next j
Next k
ThisWorkbook.Sheets("Ark1").Activate
Application.ScreenUpdating = True
End Sub
Er der nogen der ved hvordan man skriver det ind i makroen ?
Laugesen
