05. april 2010 - 09:38Der er
3 kommentarer og 1 løsning
Indsæt blank linie før ny dato
Hej eksperter
Jeg har to udfordringer, som jeg søger hjælp til:
1. jeg har en kolonne beståedne af datoer, som er importeret fra andet program. Datoerne opfører sig derfor ikke som en dato. Har uden held prøvet at omformatere kolonnen i et datoformat. Jeg har derfor brug for et check på at den dato der importeres er korrekt. Kan man vha. vba. løse dette problem?
2. Når datoen er på plads, skal kolonnen sorteres og der skal indsættes en blank linie før hver ny dato. Der kan være flere linier med samme dato. Da det drejer sig om flere tusinde linier, så spiller hastigheden en rolle.
Sub Alle() 'Konverter dato On Error Resume Next For t = 4 To Cells(65500, "C").End(xlUp).Row d = Cells(t, "C").Value år = Right(d, 4) måned = Mid(d, 4, 2) dag = Left(d, 2) Cells(t, "C").Value = DateSerial(år, måned, dag) Next 'Konverter tid On Error Resume Next For t = 4 To Cells(65500, "D").End(xlUp).Row Cells(t, "D") = Format(Cells(t, "D"), "h:mm") Next 'Sorter rk = Cells(65500, "C").End(xlUp).Row Range("A2:M" & rk).Sort Key1:=Range("C3"), Order1:=xlAscending, Key2:=Range("D3") _ , Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False _ , Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal 'Indsæt tomme Application.ScreenUpdating = False rk = Cells(65500, "C").End(xlUp).Row For t = rk To 3 Step -1 If Cells(t, "C") > Cells(t - 1, "C") Then Cells(t, "C").EntireRow.Insert Next Application.ScreenUpdating = True End Sub
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.