01.06.2015, 08:16
(Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2015, 09:00 von Rabe.
Bearbeitungsgrund: Code strukturiert dagestellt durch 5. Button von rechts
)
Hallo liebe Gemeinde,
Ich hoffe, dass ich meine Frage klar und deutlich formuliere....:
ich habe mehrere Messreihen, will aber nur bestimmte Datenreihen im Diagramm haben.
Die Datenreihen sind angegeben und ausgewählt,.
Jetzt habe ich ein Makro um die eingegebenen Daten zu verarbeiten und im Diagramm graphisch darzustellen. Nur leider werden dann alle 12 Datenreihen angegeben. Woran liegt das? [Bild: sm14.gif]
Hier der Code dazu
Hoffe Ihr könnt mir helfen. Denn ich hab wie immer kein Plan, aber davon viel
Schöne Woche Euch
Eure twobbi
Ich hoffe, dass ich meine Frage klar und deutlich formuliere....:
ich habe mehrere Messreihen, will aber nur bestimmte Datenreihen im Diagramm haben.
Die Datenreihen sind angegeben und ausgewählt,.
Jetzt habe ich ein Makro um die eingegebenen Daten zu verarbeiten und im Diagramm graphisch darzustellen. Nur leider werden dann alle 12 Datenreihen angegeben. Woran liegt das? [Bild: sm14.gif]
Hier der Code dazu
Code:
Option Explicit
Sub Datenverarbeitung()
'#############Daten kopieren
Dim zeile As Long
zeile = 9
Dim zeile2 As Long
zeile2 = 9
Do Until Cells(zeile, 2).Value = "" And Cells(zeile + 1, 2).Value = "" And _
Cells(zeile + 2, 2).Value = "" 'Schleife wird abgebrochen, wenn 3 Zeilen nacheinander leer sind
If Cells(zeile, 2).Value = "" Then
Cells(zeile2, 11).Value = ""
Else
Cells(zeile2, 11).Value = textBearbeiten(Cells(zeile, 2).Value)
End If
zeile2 = zeile2 + 1
zeile = zeile + 2
Loop
'##############
'#############Leerezeilen löschen
Const LOESCH_START_SPALTE = 10
Const LOSCH_ENDE_SPALTE = 26
Const LOESCH_ENDE_ZEILE = 56
Dim loesch_start_zeile As Long
loesch_start_zeile = zeile2
Range(Cells(loesch_start_zeile, LOESCH_START_SPALTE), Cells(LOESCH_ENDE_ZEILE, LOSCH_ENDE_SPALTE)).Clear
Range(Cells(loesch_start_zeile - 1, LOESCH_START_SPALTE), Cells(loesch_start_zeile - 1, LOSCH_ENDE_SPALTE)).Borders(xlEdgeBottom).Weight = xlMedium
'###################
'###########Diagramm bearbeiten
'Titel aus Zellen exportieren
ActiveSheet.ChartObjects("Diagramm 2").Chart.ChartTitle.Text = Cells(2, 3).Value & "_" & Cells(3, 3).Value & "_" & Cells(4, 3).Value & "_" & Cells(5, 3).Value & Chr(13) & "MFI Data"
ActiveSheet.ChartObjects("Diagramm 8").Chart.ChartTitle.Text = Cells(2, 3).Value & "_" & Cells(3, 3).Value & "_" & Cells(4, 3).Value & "_" & Cells(5, 3).Value & Chr(13) & "MFI Data"
ActiveSheet.ChartObjects("Diagramm 9").Chart.ChartTitle.Text = Cells(2, 3).Value & "_" & Cells(3, 3).Value & "_" & Cells(4, 3).Value & "_" & Cells(5, 3).Value & Chr(13) & "MFI Data"
ActiveSheet.ChartObjects("Diagramm 10").Chart.ChartTitle.Text = Cells(2, 3).Value & "_" & Cells(3, 3).Value & "_" & Cells(4, 3).Value & "_" & Cells(5, 3).Value & Chr(13) & "MFI Data"
ActiveSheet.ChartObjects("Diagramm 11").Chart.ChartTitle.Text = Cells(2, 3).Value & "_" & Cells(3, 3).Value & "_" & Cells(4, 3).Value & "_" & Cells(5, 3).Value & Chr(13) & "MFI Data"
'Datenbereich an Zellenanzahl anpassen
ActiveSheet.ChartObjects("Diagramm 2").Chart.SetSourceData Source:=Range(Cells(9, 11), Cells(loesch_start_zeile - 1, LOSCH_ENDE_SPALTE))
ActiveSheet.ChartObjects("Diagramm 8").Chart.SetSourceData Source:=Range(Cells(9, 11), Cells(loesch_start_zeile - 1, LOSCH_ENDE_SPALTE))
ActiveSheet.ChartObjects("Diagramm 9").Chart.SetSourceData Source:=Range(Cells(9, 11), Cells(loesch_start_zeile - 1, LOSCH_ENDE_SPALTE))
ActiveSheet.ChartObjects("Diagramm 10").Chart.SetSourceData Source:=Range(Cells(9, 11), Cells(loesch_start_zeile - 1, LOSCH_ENDE_SPALTE))
ActiveSheet.ChartObjects("Diagramm 11").Chart.SetSourceData Source:=Range(Cells(9, 11), Cells(loesch_start_zeile - 1, LOSCH_ENDE_SPALTE))
End Sub
Function textBearbeiten(txt As String) As String
Dim pos As Integer
Dim durchlaeufe As Byte
durchlaeufe = 1
pos = InStr(txt, "_")
Do Until IsNumeric(Mid(txt, pos + 1, 1)) = True
pos = InStr(pos + 1, txt, "_")
durchlaeufe = durchlaeufe + 1
If durchlaeufe > 10 Then
textBearbeiten = "Fehler"
Exit Function
End If
Loop
textBearbeiten = Left(txt, pos - 1)
pos = InStr(txt, "_") 'Variable pos wird mit Position belegt, an der ein _ ist
If IsNumeric(Mid(txt, pos + 1, 1)) = True Then
textBearbeiten = Left(txt, pos - 1)
End If
End Function
Hoffe Ihr könnt mir helfen. Denn ich hab wie immer kein Plan, aber davon viel
Schöne Woche Euch
Eure twobbi