Hallo liebe Leute,
ich bin der Büffes und bin neu hier und freue mich schon mein Wissen n Excel etwas zu verbessern.
Ich hänge jetzt schon seit einer Woche an einer Excel Formel die ich irgendwie nicht behoben bekomme und hoffe, dass ihr mir da helfen könnt.
Erst mal zur
Funktion (und zur Anmerkung die Formel hat vorher noch funktioniert) :
Man soll mit einem Drop Down eine eine Nummer auswählen. diese Nummer ist der Name einer anderen Excel Datei mit einem Datensatz.
Wenn man nun die Nummer ausgewählt hat soll Excel die Daten automatisch herausnehmen und dann gleich ein Liniendiagramm erstellen. Das ist mir einem Pfad geregelt der hinterlegt ist.
Technisch kann ich leider nicht mehr sagen, da ich nicht der Ersteller bin sondern "nur" den Fehler beheben soll...
Das Problem : Die Daten werden richtig aus der ausgewählten Datei ausgesucht aber am Diagramm scheitert es. Es wird immer die Fehlermeldung "Laufzeitfehler 13 Typen unverträglich" angezeigt. Die betreffende Zeile auf die verwiesen wird habe ich markiert.
Ich würde mich freuen , wenn mir da jemand helfen kann.
Viele Grüße und schon mal vielen Dank.
Sub diagramm()
Dim setz As Double
länge = Sheets(1).UsedRange.Rows.Count
If länge = 1 Then länge = 2
Sheets(1).Activate
Sheets(1).Rows(2 & ":" & länge).Select
Selection.Delete Shift:=xlUp
Sheets(2).Activate
Sheets(2).Rows(2 & ":" & länge).Select
Selection.Delete Shift:=xlUp
Sheets(2).Cells(1, 1).Select
Sheets(1).Activate
Maschine = Sheets(1).TextBox1
Equi = Maschine & ".xlsx"
Pfad = "Pfad kommt hier rein"
Werk = Sheets(1).ComboBox1.Value & "\"
Datei = Pfad & Equi
namediagramm = ActiveWorkbook.Name
vorhanden = Dir(Datei)
If vorhanden = "" Then
MsgBox ("Text")
Exit Sub
End If
Workbooks.Open (Datei), False, True
Bezeichnung = Sheets(1).Range("C8")
gesamt = MsgBox("Frage"& Chr(13) & "Achtung große Datenmenge und unübersichtlich!", vbYesNo)
If gesamt = vbYes Then
ges:
Range(Cells(17, 1), Cells(Sheets(1).UsedRange.Rows.Count, 4)).Select
Selection.Copy
GoTo Auswahlende
End If
If gesamt = vbNo Then
For ge = Sheets(1).UsedRange.Rows.Count To 17 Step -1
If ge = 17 Then GoTo ges
If Left(Sheets(1).Cells(ge,
, 12) = "Text" Then
beginn = ge
GoTo Rausauswahl
End If
Next
Rausauswahl:
Range(Cells(beginn, 1), Cells(Sheets(1).UsedRange.Rows.Count, 4)).Select
Selection.Copy
End If
Auswahlende:
Workbooks(namediagramm).Activate
Cells(2, 1).Select
ActiveSheet.Paste
Workbooks(Equi).Activate
ZZ = 2
For Z = 17 To Sheets(1).UsedRange.Rows.Count
Qas = Sheets(1).Cells(Z, 6)
If Sheets(1).Cells(Z, 6) <> "" Or Left(Sheets(1).Cells(Z,
, 12) = "Neubefüllung" Then
datumZ = Sheets(1).Cells(Z, 1)
ZugabeZ = Sheets(1).Cells(Z, 6)
BemerkungZ = Sheets(1).Cells(Z,
Workbooks(namediagramm).Activate
Sheets(2).Cells(ZZ, 1) = datumZ
Sheets(2).Cells(ZZ, 2) = ZugabeZ
Sheets(2).Cells(ZZ, 3) = BemerkungZ
Workbooks(Equi).Activate
ZZ = ZZ + 1
End If
Next
Workbooks(Equi).Close False
For r = 2 To 4
lZeile = Sheets(1).UsedRange.Rows.Count
For i = 2 To lZeile
If Cells(i, r) = "" And Cells(i, r + 1) = "" And Cells(i, r + 2) = "" Then
If Cells(i, r - 1) = "" Then GoTo weiter
Sheets(1).Rows(i & ":" & i).Select
Selection.Delete Shift:=xlUp
i = i - 1
Else
If Cells(i, r) = "k.M.e" Then GoTo weiter
setz = Cells(i, r) Cells(i, r) = setz
End If
weiter:
Next
Next
länge = Sheets(1).UsedRange.Rows.Count
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "=Diagramm!$B$1"
ActiveChart.SeriesCollection(1).Values = Range(Cells(2, 2), Cells(länge, 2))
ActiveChart.SeriesCollection(1).XValues = Range(Cells(2, 1), Cells(länge, 1))
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "=Diagramm!$C$1"
ActiveChart.SeriesCollection(2).Values = Range(Cells(2, 3), Cells(länge, 3))
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).Name = "=Diagramm!$D$1"
ActiveChart.SeriesCollection(3).Values = Range(Cells(2, 4), Cells(länge, 4))
ActiveChart.SeriesCollection(3).AxisGroup = 2
ActiveChart.ChartTitle.Text = Bezeichnung & Chr(13) & " Equinr.: " & Maschine
Cells(1, 1).Select
Sheets(2).Activate
With ActiveSheet.PageSetup
.CenterHeader = "&""-,Fett""&14&A " & Maschine
.LeftFooter = "&""blablabla ¦ &D"
.RightFooter = "&""Arial,Standard""&8&P ¦ &N"
End With
Sheets(1).Activate
End Sub