04.07.2017, 14:03
Hallo,
habe hier ein mittelmäßig katastrophales Problem. Ich habe eine Userform entworfen, in der der Nutzer neue Datensätze anlegen kann, welche in einer Tabelle hinterlegt werden. Anschließend werden diese auf bestimmte Kriterien, welche auch eingegeben werden, überprüft und der Erfüllungsgrad mittels eines Diagrammes angezeigt. Das soll aussehen wie in den ersten beiden Bildern.
Der Code für das Anlegen eines neuen Datensatzes lautet:
Wenn ich nun einen neuen Datensatz anlegen passiert in Excel genau das, was passieren soll. In den richtigen Zellen stehen die richtigen Werte. Das Problem: der Diagrammbereich wird zwar auf den richtigen Wert angepasst, aber die Datenreihen sowie Formatierungen werden gelöscht und auf einen Standardwert gestellt:
Die Datei kann ich leider in der Form nicht hochladen, falls es absolut unmöglich ist eine Aussage über sich selbst resettende Formatierungen bei Diagrammen zu geben kann ich versuchen eine Beispieldatei zu erstellen um das Problem zu reproduzieren.
Gruß
habe hier ein mittelmäßig katastrophales Problem. Ich habe eine Userform entworfen, in der der Nutzer neue Datensätze anlegen kann, welche in einer Tabelle hinterlegt werden. Anschließend werden diese auf bestimmte Kriterien, welche auch eingegeben werden, überprüft und der Erfüllungsgrad mittels eines Diagrammes angezeigt. Das soll aussehen wie in den ersten beiden Bildern.
Der Code für das Anlegen eines neuen Datensatzes lautet:
Code:
Private Sub Label25_Click()
'suchen der ersten leeren Zeile in Sheet1
lIndex = 2
Do While Trim(CStr(Sheets(1).Cells(lIndex, 1).Value)) <> ""
lIndex = lIndex + 1
Loop
'abbruch der sub wenn nichts eingegeben oder gecancelt wird
nAbt = Application.InputBox("A-Eingabe")
If nAbt = False Or nAbt = "" Then
Rows(lIndex).EntireRow.Delete
Exit Sub
End If
nCel = Application.InputBox("C-Eingabe")
If nCel = False Or nCel = "" Then
Rows(lIndex).EntireRow.Delete
Exit Sub
End If
nImd = Application.InputBox("I-Eingabe")
If nImd = False Or nImd = "" Then
Rows(lIndex).EntireRow.Delete
Exit Sub
End If
'eingabe der standard kriterien
Sheets(1).Cells(lIndex, 1) = nAbt
Sheets(1).Cells(lIndex, 2) = nCel
Sheets(1).Cells(lIndex, 3) = nImd
Sheets(1).Cells(lIndex, 4) = "P"
Sheets(1).Cells(lIndex, 6) = "P"
Sheets(1).Cells(lIndex, 8) = "P"
Sheets(1).Cells(lIndex, 10) = "P"
Sheets(1).Cells(lIndex, 22) = "P"
Sheets(1).Cells(lIndex, 24) = "P"
'überprüfen ob bereits ein datensatz mit dem gleichen A-Wert besteht oder die Überschrift der ersten spalte gefunden wird
lIndex3 = lIndex - 1
Do Until Sheets(1).Cells(lIndex3, 1).Value = "A" Or Sheets(1).Cells(lIndex3, 1).Value = nAbt
lIndex3 = lIndex3 - 1
Loop
'falls datensatz mit gleichem A-Wert besteht, aktionen durchführen und exit sub
If Sheets(1).Cells(lIndex3, 1).Value = nAbt Then
Call Modul2.sort_dep
UserForm1.UserForm_Initialize
ComboBox1.Clear
ComboBox2.Clear
ListBox1.Clear
Call UserForm1.ComboBox1_Enter
Exit Sub
'falls noch kein datensatz mit gleichem A-Wert existiert Erweiterung des Diagrammbereichs und Setzen neuer Formeln
ElseIf Sheets(1).Cells(lIndex3, 1).Value = "A" Then
lIndex2 = 2
Do Until Sheets(2).Cells(lIndex2, 1) = ""
lIndex2 = lIndex2 + 1
Loop
Sheets(2).Cells(lIndex2, 1).Value = nAbt
Sheets(3).ChartObjects("Diagramm 1").Activate
ActiveChart.SetSourceData Source:=Range("'Chart_Data'!A2:C" & lIndex2)
Sheets(2).Cells(lIndex2, 5).Formula = "=Countif(Data!A:A,""" & nAbt & """)"
Sheets(2).Cells(lIndex2, 6).Formula = "=Countifs(Data!A:A,""" & nAbt & """,Data!AC:AC,""WAHR"")"
Call Modul2.sort_dep
UserForm1.UserForm_Initialize
ComboBox1.Clear
ComboBox2.Clear
ListBox1.Clear
Call UserForm1.ComboBox1_Enter
End If
End Sub
Wenn ich nun einen neuen Datensatz anlegen passiert in Excel genau das, was passieren soll. In den richtigen Zellen stehen die richtigen Werte. Das Problem: der Diagrammbereich wird zwar auf den richtigen Wert angepasst, aber die Datenreihen sowie Formatierungen werden gelöscht und auf einen Standardwert gestellt:
Die Datei kann ich leider in der Form nicht hochladen, falls es absolut unmöglich ist eine Aussage über sich selbst resettende Formatierungen bei Diagrammen zu geben kann ich versuchen eine Beispieldatei zu erstellen um das Problem zu reproduzieren.
Gruß