10. februar 2005 - 11:05Der er
13 kommentarer og 2 løsninger
Flytning af data i en string
Spørgsmålet går ud på :
Makroen åbner en txt fil i regneark og arbejder med det, mit problem er så at min dato kolone står således: 20050211 (d. 11 feb. 2005) og for at jeg kan bruge den skal den stå som følgene: 11022005 , hvordan gør jeg det?? jeg kan ikke bruge replace da det drejer sig om 365 forskellige datoer og arket er på 10000 linjer så det vil blive for omstændigt, men kan det overhovedet lade sig gøre?? Hjææææp jeg mangler svar hurtigt:-)
Så prøv at kør følgende kode, og se hvad der sker:
Sub MacroSkiftdato()
Dim lngRowStart As Long Dim lngRowEnd As Long Dim lngCol As Long Dim i As Long Dim dd As String * 2 Dim mm As String * 2 Dim yyyy As String * 4 Dim Olddate As String * 8
lngCol = 1 '1=kolonne A, 2 = kolonne B osv. ret selv lngRowStart = CLng(Val(InputBox("Angiv startrække for datoer", "ANGIV STARTRÆKKE", "1"))) lngRowEnd = CLng(Val(InputBox("Angiv slutrække for datoer", "ANGIV SLUTRÆKKE", "10"))) For i = lngRowStart To lngRowEnd If Len(Trim((Cells(i, lngCol).Value))) = 8 Then Olddate = Trim(CStr(Cells(i, lngCol).Value)) yyyy = Left(Olddate, 4) mm = Mid(Olddate, 5, 2) dd = Right(Olddate, 2) Cells(i, lngCol).Value = "'" & dd & "-" & mm & "-" & yyyy End If Next i MsgBox "færdiiiiiig" End Sub
Så - starter i E2, fortæstter med E3, E4, ... indtil der nås en celle som ikke har en 8-cifret dato i sig (f.eks. en tom celle)
Sub MacroSkiftdato()
Dim lngCol As Long Dim i As Long Dim dd As String * 2 Dim mm As String * 2 Dim yyyy As String * 4 Dim Olddate As String * 8
lngCol = 5 '1=kolonne A, 2 = kolonne B osv. ret selv For i = 2 To 65532 '(65532 = maksimalt antal rækker) If Len(Trim((Cells(i, lngCol).Value))) = 8 Then Olddate = Trim(CStr(Cells(i, lngCol).Value)) yyyy = Left(Olddate, 4) mm = Mid(Olddate, 5, 2) dd = Right(Olddate, 2) Cells(i, lngCol).Value = "'" & dd & "-" & mm & "-" & yyyy Else MsgBox "så slutter vi her - række " & i Exit For 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.