16. maj 2007 - 15:15
Der er
6 kommentarer og
1 løsning
Macro til excel
Hej jeg skal bruge lidt hjælp til en lille opgave her.
Jeg har en masse data magen til det nedenfor
-1,43640 5,6 1
-1,43600 5,0 1
-1,43560 5,2 1
-1,43520 5,4 1
-1,43480 5,8 1
-1,43440 5,6 1
-1,43400 6,0 1
-1,43360 5,4 1
-1,43320 5,2 1
-1,43280 5,8 1
-1,43240 0,0 0
-1,43200 -0,2 0
-1,43160 -0,8 0
-1,43120 0,2 0
-1,43080 0,2 0
-1,43040 0,2 0
-1,43000 -0,4 0
-1,42960 0,2 0
-1,42920 -0,2 0
-1,42880 -0,6 0
-1,42840 0,0 0
-1,42800 -0,6 0
-1,42760 -1,2 0
-1,42720 0,4 0
-1,42680 0,0 0
-1,42640 -1,2 0
-1,42600 -0,8 0
-1,42560 -0,6 0
-1,42520 6,0 1
-1,42480 5,0 1
-1,42440 5,2 1
-1,42400 5,6 1
-1,42360 5,6 1
-1,42320 5,4 1
-1,42280 6,0 1
-1,42240 5,0 1
-1,42200 5,4 1
-1,42160 5,0 1
-1,42120 5,6 1
-1,42080 5,4 1
Som i nok kan se så længst til venstre skifter den mellem 1 og 0
Jeg vil gerne havde lavet en macro der fortæller mig hvor mange 1ér der er inden den skifter til 0, derefter vil jeg gerne vide hvor mange 0ér der er fra den skiftede til 0 til den skifeter til 1 igen, og derefter vil jeg igen gerne vide hvor mange 1ér der er fra den skiftede til 1 til den bliver 0 igen osv.
Jeg skal ikke bruge et tal der viser det totale antal af 1ér & 0ér men hvor mange der er imellem "skiftet"
en makro
Sub TælTal()
Dim Data As Variant, DataTal() As Variant, I As Long
Dim antalTal As Integer
Data = Range(Range("A1"), Range("C65536").End(xlUp).Offset(1, 0)) ' ret til hvor dine data står, her A, B og C kolonnen brugt
ReDim DataTal(UBound(Data) - 1)
antalTal = 1
For I = 1 To UBound(Data) - 1
If Data(I, 3) = Data(I + 1, 3) Then
antalTal = antalTal + 1
Else
DataTal(I - 1) = antalTal
antalTal = 1
End If
Next
' ret D til den kolonne den må skrive i, alt i kolonnen bliver overskrevet
Range(Range("D1"), Range("D" & UBound(DataTal) + 1)) = WorksheetFunction.Transpose(DataTal)
End Sub
Sub TælTal()
Dim Data As Variant, DataTal() As Variant, I As Long
Dim antalTal As Integer, X As Integer
Data = Range(Range("A1"), Range("C65536").End(xlUp).Offset(1, 0)) ' ret til hvor dine data står, her A, B og C kolonnen brugt
ReDim DataTal(UBound(Data) - 1)
antalTal = 1
For I = 1 To UBound(Data) - 1
If Data(I, 3) = Data(I + 1, 3) Then
antalTal = antalTal + 1
Else
DataTal(I - 1) = antalTal
antalTal = 1
End If
Next
' ret D til den kolonne den må skrive i, alt i kolonnen bliver overskrevet
X = 1 ' første rækkei i kolonnen
For I = 0 To UBound(DataTal)
If Not IsEmpty(DataTal(I)) Then
Range("D" & X) = DataTal(I)
X = X + 1
End If
Next
End Sub