Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Diagram Gestapelt

Diagram Gestapelt
07.02.2006 10:56:05
Rohr
Hi,
gibt es eine Möglichkeit das Gestapelte Balkendiagram (Auslastungsplanung) so Darzustellen dass;
1 x: Wochentage Y: Stunden
2 Balken einzelne Projekte Wert(Stunden)und Projektnamen im Balken
3 Farbliche zuteilung der Balken gem den Prozentzahlen
z.B.
blau= 50;
gelb= 70;
orange=90;
hellgrün=99;
Grün =100;
Als Grundlage dient folgende Arbeitsmappe https://www.herber.de/bbs/user/30746.xls
Danke für euren Input

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagram Gestapelt
07.02.2006 12:37:20
Cardexperte
Hallo Rohr,
das geht aber nur mit VBA,
zu 1. verstehe ich nicht, da stehen doch an x-Achse Wochentage, oder soll dort ein Datum rein, mo, der ...
zu 2. der Wert ist noch ganz einfach, auf datenreihe klicken, dann rechte Maustaste und auswählen, dann Datenbeschriftung und dann gibt es da Wert und die Stunden erscheinen im Balken, das Problem mit der Projektbezeichnung geht nur wieder über VBA, habe dazu aber auch ein Beispiel, finde es aber nicht)
3. farbliche Änderung der Balken entsprechend % -Zahl auch nur über VBA, hier mal ein Beispiel, wie der Code aussieht:
im Prinzip wird also die Farbe (hier ein Punktdiagramm, funktioniert aber bei allen anderen genauso) aus einer Zelle ausgelesen und die punkte über select case eingefärbt.
'hier wird aus q1 die variable max abgefragt, zur steuerung des Durchlaufs der Schleife
Max = Sheets("Werte").Range("q1").Value
For i = 1 To 2
' hier beginnt die Schleife
For n = 1 To Max
'auswahl für das Kriterium zur Steuerung der Dicke der Punktsymbole aus Spalte e und der Laufvariablen
wahl = "n" & n + 1
krit = Sheets("Werte").Range(wahl).Value
If krit = 13 Then krit = 1 'gelb
If krit = 22 Then krit = 2 'graublau
If krit = 12 Then krit = 3 'lila
If krit = 11 Then krit = 4 'braun
If krit = 20 Then krit = 5 'grün
If krit = 24 Then krit = 6 'blau
If krit = 25 Then krit = 7 'kaki
If krit = 201 Then krit = 8 'rot
ActiveSheet.ChartObjects("Diagramm 25").Activate
ActiveChart.ChartArea.Select
On Error Resume Next
ActiveChart.SeriesCollection(i).Points(n).Select
'Steuerung der Farbe entsprechend der abgefragten Farbnummer aus Spalte n
Select Case krit
Case 1
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 6
.MarkerForegroundColorIndex = 6
End With
Case 2
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 47
.MarkerForegroundColorIndex = 47
End With
Case 3
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 5
.MarkerForegroundColorIndex = 7
End With
Case 4
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 30
.MarkerForegroundColorIndex = 30
End With
Case 5
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 4
.MarkerForegroundColorIndex = 4
End With
Case 6
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 5
.MarkerForegroundColorIndex = 5
End With
Case 7
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 12
.MarkerForegroundColorIndex = 12
End With
Case 8
With Selection.Border
.Weight = xlHairline
.LineStyle = xlNone
End With
With Selection
.MarkerStyle = xlCircle
.MarkerBackgroundColorIndex = 3
.MarkerForegroundColorIndex = 3
End With
End Select
' Ende der Auswahl
Next n
Next i
' hier endet die Schleife
Anzeige
AW: Diagram Gestapelt
09.02.2006 10:01:46
Rohr
Danke Cardexperte,
obwohl ich noch nie mit VBA gearbeitet habe bin ich einigermassen zurechtgekommen siehe Resultat.
https://www.herber.de/bbs/user/30820.xls
Ich tu mich aber noch schwer mit den Schleifen ich habe sie einfach 3 mal eingebaut um die Sprünge zu machen von E zu H zu K. Wenn aber mehrere kommen kann man es vereinfachen in es in eine Schleife packen?
Mit der Beschriftung der einzelnen Balken hab ich nicht hingekriegt.
Hast du dein Beispiel gefunden?
Danke nochmals für den Input
AW: Diagram Gestapelt
09.02.2006 13:10:11
Cardexperte
Hallo Rohr,
meine Hochachtung, dass du das schon soweit hinbekommen hast, alle Achtung,
also hab da noch ein bischen rumgedocktert und im Code alles reingeschrieben was ich so dachte, auch das Problem mit dem zusätzlichen Text am Wert (hier oberhalb) und das natürlich alles nur mit einer Schleife, schau es dir an, wenn du Fragen hast kannst du dich ja melden.
hier deine Datei: https://www.herber.de/bbs/user/30825.xls
Gruss WS
Anzeige
AW: Diagram Gestapelt
09.02.2006 13:44:23
Rohr
genial danke,
Noch eine Frage, wenn ich den Wert nicht haben will und nur das Projekt z.b.nur"a" und nicht "6 a"
Wenn ich ShowValue auf False setze; wird nichts mehr reingeschrieben.. hmm muss man in diesem Fall eine andere Methode anwenden ?
hab auch noch gepröbelt und bin eben angestossen konnte zwar beschriften habe aber mit den rows & cells probleme gekriegt so dass die exakten Werte reingeschrieben wurden.
habe mit dem gearbeitet, wobei die colum variabel war aber die row habe ich nicht hingekriegt

Sub Beschriftung()
' Beschriftung Macro
' Macro recorded 09.02.2006 by CHANROH
'hier wird aus D1 die variable max abgefragt, zur steuerung des Durchlaufs der Schleife JAN bis DEZ
Max = Sheets("Werte").Range("D1").Value
For i = 1 To 1
' hier beginnt die Schleife
For n = 1 To Max
'auswahl für das Kriterium zur Steuerung der Farbe der Balken aus Spalte E und der Laufvariablen
wahl1 = "=Werte!R3C" & n + 2
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.SeriesCollection(i).Points(n).ApplyDataLabels AutoText:=True, _
LegendKey:=False, ShowSeriesName:=True, ShowCategoryName:=False, _
ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False
ActiveChart.SeriesCollection(i).Points(n).DataLabel.Select
Selection.Text = wahl1
'Selection.AutoScaleFont = False
With Selection.Characters(Start:=1, Length:=7).Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 7
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
ActiveWindow.Visible = False
Windows("Test auslastung 1.xls").Activate
Range("C33").Select
Next n
Next i
' hier endet die Schleife
End Sub

danke für die Hilfe
Gruss
AR
Anzeige
AW: Diagram Gestapelt
09.02.2006 13:56:48
Cardexperte
Hallo, ja dann schreib da ändere doch nur:
projekt = Worksheets("Werte").Cells(n + 2, 3 + k).Value
Selection.Characters.Text = projekt & Chr(10) & Selection.Characters.Text
durch:
projekt = Worksheets("Werte").Cells(n + 2, 3 + k).Value
Selection.Characters.Text = projekt
oder noch einfacher:
Selection.Characters.Text= Worksheets("Werte").Cells(n + 2, 3 + k).Value
und schon ist es passiert
Gruss WS
AW: Diagram Gestapelt
09.02.2006 14:02:20
Cardexperte
Hallo, ja dann schreib da ändere doch nur:
projekt = Worksheets("Werte").Cells(n + 2, 3 + k).Value
Selection.Characters.Text = projekt & Chr(10) & Selection.Characters.Text
durch:
projekt = Worksheets("Werte").Cells(n + 2, 3 + k).Value
Selection.Characters.Text = projekt
oder noch einfacher:
Selection.Characters.Text= Worksheets("Werte").Cells(n + 2, 3 + k).Value
und schon ist es passiert
Gruss WS
ach noch was ist mir aufgefallen, das mit den Krit, bei % unter 4 gibt es also Probleme, deshalb wäre es besser das Krit mit Buchstaben zu beschreiben also if bla bla then "A" usw. und dann bei case einfach Case "A" usw. zu schreiben, dann hat man auch keine Probleme bei kleinen krit
Anzeige
AW: Diagram Gestapelt
09.02.2006 14:02:55
Rohr
habs schon rausgefunden
Dank&Gruss
AR
AW: Diagram Gestapelt
10.02.2006 09:50:29
Rohr
weiter gehts.
Habe nun das problem die werte aus einer vertikalen Tabelle in eine Matrix zu packen, so dass die ich es in den chart packen kann
1. Blatt "Projektdaten" sind Werte die aus Access kommen uns so importiert werden. (no problem)
2. Blatt "Datum" definiert das Anfansdatum und streicht es zusammen so dass nur Monat & Jahr für den Chart relevant wird und nicht das exakte Datum. (No problem)
3. Blatt "Factory Planning" Bereitet die Daten auf für die Matrix tebelle für den Chart.
4. Bestehendes Makro Färbt und Beschriftet die Balken, Funktioniert Prächtig.
Mein Problem
Makro zu generieren welches mit VLOOKUP oder ähnlichem die Werte in die Matrix schreibt (und Matrix erweitert falls nötig)und weiterspringt wenn das Datum Wechselt.
Habe hierzu, nur als Beispiel wie es Aussehen sollte, Werte in die Matrix Kopiert.
https://www.herber.de/bbs/user/30866.xls
Hat jemand eine Idee ....
dank
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige