Fejl i output..
Hej,Jeg er ret ny til VBA, og har problemer i forbindelse med et udtræk af data.
Jeg har en ret stor mængde data, hvor jeg skal finde antal værdier der lever op til følgende værdier i 3 kolonner:
- mere end x antal dage siden start
- enten SDP1 eller SDP2
- større eller lig med 24
Sub jvx()
Dim LastRow As Integer
Dim Gruppe00 As Double, Gruppe04 As Double, Gruppe08 As Double, Gruppe13 As Double
Dim Gruppe17 As Double, Gruppe21 As Double, Gruppe26 As Double, Gruppe30 As Double
Dim Gruppe34 As Double, Gruppe39 As Double, Gruppe43 As Double, Gruppe47 As Double
Dim Gruppe52 As Double, Gruppe104 As Double
Application.ScreenUpdating = False
With Sheets("Rådata")
LastRow = .Cells(.Rows.Count, "a").End(xlUp).Row
End With
ActiveWorkbook.Sheets("Rådata").Activate
For i = 1 To LastRow
If Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe00 = Gruppe00 + 1
End If
If Range("k" & i) >= "28" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe04 = Gruppe04 + 1
End If
If Range("k" & i) >= "56" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe08 = Gruppe08 + 1
End If
If Range("k" & i) >= "91" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe13 = Gruppe13 + 1
End If
If Range("k" & i) >= "119" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe17 = Gruppe17 + 1
End If
If Range("k" & i) >= "147" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe21 = Gruppe21 + 1
End If
If Range("k" & i) >= "182" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe26 = Gruppe26 + 1
End If
If Range("k" & i) >= "210" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe30 = Gruppe30 + 1
End If
If Range("k" & i) >= "238" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe34 = Gruppe34 + 1
End If
If Range("k" & i) >= "273" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe39 = Gruppe39 + 1
End If
If Range("k" & i) >= "301" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe43 = Gruppe43 + 1
End If
If Range("k" & i) >= "329" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe47 = Gruppe47 + 1
End If
If Range("k" & i) >= "364" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe52 = Gruppe52 + 1
End If
If Range("k" & i) >= "725" And _
Range("o" & i) = "SDP1" Or Range("o" & i) = "SDP2" And _
Range("q" & i) >= "24" Then
Gruppe104 = Gruppe104 + 1
End If
Next i
ActiveWorkbook.Sheets("Ark2").Activate
Range("c5") = Gruppe00
Range("c6") = Gruppe04
Range("c7") = Gruppe08
Range("c8") = Gruppe13
Range("c9") = Gruppe17
Range("c10") = Gruppe21
Range("c11") = Gruppe26
Range("c12") = Gruppe30
Range("c13") = Gruppe34
Range("c14") = Gruppe39
Range("c15") = Gruppe43
Range("c16") = Gruppe47
Range("c17") = Gruppe52
Range("c18") = Gruppe104
End Sub
Underligt nok bliver mit output som følger.
3549
2473
1816
742
3102
2907
2747
2644
2568
2486
2410
2351
2261
1133
Jeg vil også gerne have en hånd til hvordan jeg kan forsimple min kode..