Thema Datum  Von Nutzer Rating
Antwort
29.11.2014 14:44:28 André
NotSolved
29.11.2014 17:35:30 Gast93869
NotSolved
Rot für so konstante Strukturen
29.11.2014 17:39:32 Gast93869
NotSolved
06.12.2014 10:57:50 Daniel
NotSolved

Ansicht des Beitrags:
Von:
Gast93869
Datum:
29.11.2014 17:39:32
Views:
702
Rating: Antwort:
  Ja
Thema:
für so konstante Strukturen

geht auch ganz verkürzt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Option Explicit
Const CHARTNAME As String = "Diagramm1"
Const XFORMULA As String = "='Kanal1'!A2:AZeile"
Const NFORMULA As String = "='Kanal1'!COL1"
Const VFORMULA As String = "='Kanal1'!COL2:COLROW"
Const VSPALTEN As String = "B,C,D,F,H"
Dim strAction As String, strlX As String
 
 
Sub TryThis()
 
Dim oChart As Chart
Dim strName As String
Dim strXValues As String
Dim i As Long
Dim lX As Long
 
Dim ArrCols() As String
 
'bestehende löschen?
For Each oChart In ThisWorkbook.Charts
   Select Case MsgBox("vorhandenes Diagramm löschen?", _
      vbYesNo Or vbQuestion Or vbDefaultButton1, oChart.Name)
      Case vbYes
         oChart.Delete
      Case vbNo
      End Select
Next oChart
strName = CHARTNAME
 
'neues benamsen
i = ThisWorkbook.Charts.Count
If i > 0 Then strName = Replace(strName, "1", Format(i + 1, "0"))
   
 
'Bereich XValues letzte Zeile
With Sheets("Kanal1")
lX = .Range("A1").End(xlDown).Row
If lX = .Rows.Count Or lX = 1 Then Exit Sub
End With
strlX = Format(lX, "0")
     
'SpaltenArray
ArrCols = Split(VSPALTEN, ",")
 
'action
ThisWorkbook.Charts.Add Before:=Worksheets("Kanal2")
 
With ActiveChart
   .ChartType = xlLineMarkers
   .Name = strName
 
   For i = LBound(ArrCols) To UBound(ArrCols)
      strAction = ArrCols(i)
      NewSeriesCollection
   Next i
 
   .SeriesCollection(2).AxisGroup = 2
   .SeriesCollection(5).AxisGroup = 2
   .DisplayBlanksAs = xlInterpolated
   .ClearToMatchStyle
   .ChartStyle = 42
   .Legend.Position = xlTop
 
End With
      
End Sub
 
Sub NewSeriesCollection()
Dim x As Long
 
With ActiveChart
   .SeriesCollection.NewSeries
   x = .SeriesCollection.Count
   .SeriesCollection(x).Name = Replace(NFORMULA, "COL", strAction)    '"='Kanal1'!$B$1"
   strAction = Replace(VFORMULA, "COL", strAction)
   .SeriesCollection(x).Values = Replace(strAction, "ROW", strlX)     '"='Kanal1'!$B$2:$B$36"
   .SeriesCollection(x).XValues = Replace(XFORMULA, "Zeile", strlX)   '"='Kanal1'!$A$2:$A$36"
End With
 
End Sub

 

So etwas !

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
29.11.2014 14:44:28 André
NotSolved
29.11.2014 17:35:30 Gast93869
NotSolved
Rot für so konstante Strukturen
29.11.2014 17:39:32 Gast93869
NotSolved
06.12.2014 10:57:50 Daniel
NotSolved