17. december 2005 - 20:01Der er
6 kommentarer og 1 løsning
flytning af rækker til andet ark ud fra kriterier i det første ar
I et ark har jeg 10 kolonner med felter, hvor der er tekstfelter, talfelter og datoerfelter. Der er i alt 50 rækker Jeg skal nu flytte nogle af rækkerne til et nyt ark. Det skal gøres for de rækker, hvor der i kolonne D (tekstfelt) står enten TTJ eller KSP. Der skal kun flyttes disse rækker, som indeholder TTJ eller KSP, og de stå øverst oppe, som de øverste rækker i det nye ark.
For i = 50 To 1 Step -1 Cells(i, 4).Select If ActiveCell.Value = "TTJ" Or ActiveCell.Value = "KSP" Then Range(i & ":" & i).Select Selection.Cut Sheets("Ark2").Select Cells(o, 1).Select ActiveSheet.Paste o = o + 1 Sheets("Ark1").Select Selection.Delete Shift:=xlUp End If Next i
For p = 1 To 50 If UCase(Cells(p, 4).Value) = "TTJ" Or UCase(Cells(p, 4).Value) = "KSP" Then c = c + 1 End If Next p
o = 1
For i = 50 To 1 Step -1 Cells(i, 4).Select If UCase(ActiveCell.Value) = "TTJ" Or UCase(ActiveCell.Value) = "KSP" Then Range(i & ":" & i).Select Selection.Cut Sheets("Ark2").Select Cells(c, 1).Select ActiveSheet.Paste c = c - 1 o = o + 1 Sheets("Ark1").Select Selection.Delete Shift:=xlUp End If Next i
jeg har rettet lidt, så den passer til min ark Sub ryg() Dim i, o, p, c As Integer
Sheets("Sheet1").Select
For p = 3 To 64 If UCase(Cells(p, 17).Value) = "TTJ" Or UCase(Cells(p, 17).Value) = "KPS" Then c = c + 1 End If Next p
o = 1
For i = 50 To 1 Step -1 Cells(i, 17).Select If UCase(ActiveCell.Value) = "TTJ" Or UCase(ActiveCell.Value) = "KPS" Then Range(i & ":" & i).Select Selection.Cut Sheets("Rygpatienter").Select Cells(c, 1).Select ActiveSheet.Paste c = c - 1 o = o + 1 Sheets("Sheet1").Select Selection.Delete Shift:=xlUp End If Next i End Sub
Så er der ingen grund til at loope baglæns eller tælle antal forekomster:
Dim i, c As Integer c = 1
Sheets("Ark1").Select
For i = 3 To 64 If UCase(Cells(i, 4).Value) = "TTJ" Or UCase(Cells(i, 4).Value) = "KSP" Then Range(i & ":" & i).Copy Sheets("Ark2").Select Cells(c, 1).Select ActiveSheet.Paste c = c + 1 Sheets("Ark1").Select Application.CutCopyMode = False End If Next i
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.