Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Diagramm - Datenreihen
#1
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
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
Antworten Top
#2
Hallöchen,

sind denn die Werte der 3 Zellen in Spalte B auch wirklich Leerwerte?
Gehe den code mit F8 mal schrittweise durch und prüfe die 3 Zellinhalte in der Überwachung.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste