14.10.2019, 12:37
Hallo,
bei mir wird das Else in der IF-Funktion nicht ausgeführt. Habe es auch mit elseif oder einer neuen IF-Funktion probiert aber es führt es einfach nicht aus. liegt vllt an der doppelschleife.
Einmal der ganze Code und einmal der Codebereich um den es geht. Kann innerhalb des Codetags nichts farbig markieren.
bei mir wird das Else in der IF-Funktion nicht ausgeführt. Habe es auch mit elseif oder einer neuen IF-Funktion probiert aber es führt es einfach nicht aus. liegt vllt an der doppelschleife.
Einmal der ganze Code und einmal der Codebereich um den es geht. Kann innerhalb des Codetags nichts farbig markieren.
Code:
For j1 = ErstebefüllteZelle To LetztebefüllteZelle
For j2 = 9 To LetzteZeile
If Month(.Cells(j2, 14)) = Month(.Cells(7, j1)) And year(.Cells(j2, 14)) = year(.Cells(7, j1)) Then
.Cells(4, j1) = .Cells(j2, ErstebefüllteZelle)
Else
.Cells(4, j1) = "#NV"
End If
Next j2
Next j1
Code:
Sub DiagrammMeilenstein()
Dim LetzteZeile As Long, d As Integer
Dim loLetzte As Long, raFund As Range, raFund1 As Range, ErstebefüllteZelle As Long, LetztebefüllteZelle As Long
Dim i As Long, z As Long, j1 As Long, j2 As Long
'Startzeile Ergebnis
z = 2
'Blattname anpassen
With Worksheets("Meilensteintrendanalyse")
ActiveSheet.Unprotect
Sheets("Frontend").Unprotect
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 6 To 6
Set raFund = .Rows(i).Find(what:=1, after:=.Cells(i, 1), LookIn:=xlValues, lookat:=xlWhole, _
searchorder:=xlByColumns, searchdirection:=xlNext)
Set raFund1 = .Rows(i).Find(what:=1, LookIn:=xlValues, lookat:=xlWhole, _
searchorder:=xlByColumns, searchdirection:=xlPrevious)
If Not raFund Is Nothing Then
ErstebefüllteZelle = raFund.Column
LetztebefüllteZelle = raFund1.Column
z = z + 1
End If
Next i
Set raFund = Nothing: Set raFund1 = Nothing
For j1 = ErstebefüllteZelle To LetztebefüllteZelle
For j2 = 9 To LetzteZeile
If Month(.Cells(j2, 14)) = Month(.Cells(7, j1)) And year(.Cells(j2, 14)) = year(.Cells(7, j1)) Then
.Cells(4, j1) = .Cells(j2, ErstebefüllteZelle)
Else
.Cells(4, j1) = "#NV"
End If
Next j2
Next j1
LetzteZeile = .Cells(Rows.Count, 3).End(xlUp).Row
Sheets("Frontend").ChartObjects("Diagramm Meilensteintrendanalyse").Activate
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(1).name = "Planlinie"
ActiveChart.FullSeriesCollection(1).XValues = .Range(.Cells(4, ErstebefüllteZelle), .Cells(4, LetztebefüllteZelle))
ActiveChart.FullSeriesCollection(1).Values = .Range(.Cells(4, ErstebefüllteZelle), .Cells(4, LetztebefüllteZelle))
ActiveChart.FullSeriesCollection(1).ApplyDataLabels
ActiveChart.FullSeriesCollection(1).DataLabels.Delete
Sheets("Frontend").ChartObjects("Diagramm Meilensteintrendanalyse").Activate
For i = 9 To LetzteZeile
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(i - 7).name = .Cells(i, 6).Value
ActiveChart.FullSeriesCollection(i - 7).XValues = .Range(.Cells(7, ErstebefüllteZelle), .Cells(7, LetztebefüllteZelle))
ActiveChart.FullSeriesCollection(i - 7).Values = .Range(.Cells(i, ErstebefüllteZelle), .Cells(i, LetztebefüllteZelle))
ActiveChart.FullSeriesCollection(i - 7).Points(1).Select
ActiveChart.FullSeriesCollection(i - 7).Points(1).ApplyDataLabels
ActiveChart.FullSeriesCollection(i - 7).Points(1).DataLabel.Select
Selection.ShowSeriesName = -1
Selection.ShowValue = 0
Selection.Left = 233.218
ActiveChart.FullSeriesCollection(i - 7).DataLabels.Select
ActiveChart.FullSeriesCollection(i - 7).Points(1).DataLabel.Select
Selection.Format.TextFrame2.TextRange.Font.Size = 28
Selection.Format.TextFrame2.TextRange.Font.Bold = msoFalse
Selection.Format.TextFrame2.TextRange.Font.Bold = msoTrue
With ActiveChart.FullSeriesCollection(i - 7).Format.Line
.Visible = msoTrue
.Weight = 6
End With
Next i
ActiveChart.Axes(xlValue).MinimumScale = .Cells(7, ErstebefüllteZelle).Value
ActiveChart.Axes(xlValue).MajorUnit = 92
ActiveChart.Axes(xlCategory).MinimumScale = .Cells(7, ErstebefüllteZelle - 1).Value
ActiveSheet.Protect
Sheets("Frontend").Protect
End With
End Sub