02. oktober 2009 - 14:22
Der er
1 løsning
Opret ark udfra værdier i Kolonne A
Ja så den gal igen...
Ark ser således ud:
A B
1 data1
1 data1
1 data1
2 data2
2 data2
2 data2
osv...
Jeg vil gerne ha flyttet alle rækker med 2 til nyt ark som skal skal hedde 2. dernæst dem der hedder 3 osv. Antallet af ark vil variere da jeg ikke ved hvor om der er 10 eller 100 forskellige data typer.
Data'ene 1 skal blive stående i ark 1 naturligvis...
På forhånd tak! Det sikkert osse nemt nok når man ka' det :)
02. oktober 2009 - 17:04
#1
Sub Ark()
Dim lastrow As Long, LastCol As Integer, i As Long, iStart As Long, iEnd As Long
Dim ws As Worksheet
Application.ScreenUpdating = False
With ActiveSheet
lastrow = .Cells(Rows.Count, "A").End(xlUp).Row
LastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
.Range(.Cells(2, 1), Cells(lastrow, LastCol)).Sort Key1:=Range("A2"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
iStart = 2
For i = 2 To lastrow
If .Range("A" & i).Value <> .Range("A" & i + 1).Value Then
iEnd = i
Sheets.Add after:=Sheets(Sheets.Count)
Set ws = ActiveSheet
On Error Resume Next
ws.Name = .Range("A" & iStart).Value
On Error GoTo 0
ws.Range(Cells(1, 1), Cells(1, LastCol)).Value = .Range(.Cells(1, 1), .Cells(1, LastCol)).Value
.Range(.Cells(iStart, 1), .Cells(iEnd, LastCol)).Copy Destination:=ws.Range("A2")
iStart = iEnd + 1
End If
Next i
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub