Frage |
Hallo liebe Gemeinde,
bin neu hier und auch kaum in der VBA Materie, werde aber wohl noch Meister drin ^^.
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.
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?
HIer der Code dazu
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 viel Plan von nichts
Schöne Woche Euch Eure twobbi |