Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Dynamisches Diagramm erstellen
09.08.2007 10:37:02
Phil
Guten Morgen nocheinmal!
Habe gerade massive Probleme wie ich ein Diagramm erstelle bzw die Daten für das Diagramm erfasse.
Folgendes, über eine Listbox werden die Tabellennamen (in meinem Fall "Mai07" "Juni07 "Juli07" und "Aug07") aufgelistet, und dann kann man über die Checkbox auswählen welches Diagramm man will z.B. Kraftstoffverbrauch.
Jetzt würde ich es gerne so machen, dass man beim drücken des cmdbuttons die Daten aus dem ausgewählten Monat (Tabelle) in eine eigene Tabelle kopiert und diese Daten dann für das Diagramm hernimmt. Ich muss die Daten deswegen in eine eigene Tabelle kopiern, weil sie über erst durch einen Filter ausgewählt werden, und da sich der Bereich der Daten wieder ändert wenn man den Filter herausgibt, muss ich sie mir eben kopieren.
Jetzt bin ich leider nicht so gut in VBA und habe keine Ahnung wie ich die Abfrage machen soll. Die Diagrammerstellung ist noch nicht so wichtig, primär möchte ich eine Abfrage und das Kopieren der Daten hinkriegen.
Was ich jetzt so probiert habe, war alles ein Misserfolg, da ich für jeden Monat eine eigene Abfrage habe, jetzt würde ich mich freuen, wenn mir wer sagen kann wie ich mit einer einzigen Abfrage das machen kann.
Würde mich freuen, wenn mir wer Tipps gegen könnte.
Danke im Voraus
Phil
PS: Ich hoffe, ich werd euch schön langsam nicht unangenehm mit meinen ständigen Fragen

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamisches Diagramm erstellen
09.08.2007 10:45:52
Rudi
Hallo,
kannst du die Mappe hochladen? Evtl. abspecken.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Dynamisches Diagramm erstellen
09.08.2007 10:51:00
Phil
kann ich machen, aber bitte nicht weitergeben, ist eine Firmenabrechnung, sollte nicht jeder bekommen ;)
https://www.herber.de/bbs/user/44897.zip

@ Phil
09.08.2007 10:56:00
Ramses
Hallo
"...sollte nicht jeder bekommen ;)..."
Das ist der Brüller des Tages :-), so quietsch naiv kann doch gar niemand sein.
Gruss Rainer

AW: @ Phil
09.08.2007 10:57:00
Phil
war nicht so gemeint *gg*
bekomm ich jetzt eine award? *gggg*

Anzeige
AW: Dynamisches Diagramm erstellen
09.08.2007 10:56:00
Hajo_Zi
Hallo Phil,
der Hinweis "sollte nicht jeder bekommen " ist sinnlos, alles was im Internet liegt ist für jeden öffentlich.
Falls Firmendaten, würde ich mal ein Mail an Hans schicken das er die Datei löschen soll.

AW: Dynamisches Diagramm erstellen
09.08.2007 10:58:56
Phil
naja, so dramatisch wirds schon nicht werden, kann ja e keiner was damit anfangen ;)

AW: Dynamisches Diagramm erstellen
09.08.2007 11:00:04
Phil
außerdem bin ich davon überzeut, dass hier nur kompetente personen am werk sind.

AW: Dynamisches Diagramm erstellen
09.08.2007 11:20:00
Phil
hab gerade mitn chef gereded, der hat kein problem damit, hauptsache es funktioniert nachher :)

Anzeige
AW: Dynamisches Diagramm erstellen
10.08.2007 10:11:12
Wuxinese
Hallo,
ich habe mich auch mal an dem Ganzen versucht, kann mich aber nur einer der Antworten anschliessen. Die Daten in einer fortlaufenden Tabelle zu speichern, erscheint mir wesentlich sinnvoller. Dadurch koennten auch Fehler vermieden werden und das Ganze auch etwas vereinfacht werden.
Ich habe Deinen Vorschlag mal etwas erweitert. Allerdings ist zu bedenken, dass hierbei viele Fehler auftreten koennen. Wird z. B. einmal nur 'DP1' anstatt 'DP1 - Dauerlauf' geschrieben, wird dieses schon nicht mehr als DP1 erkannt. Aber da gibt es ja Moeglichkeiten, sowas zu umgehen. Mit dem kopieren habe ich jetzt fuer jedes Diagramm ein Worksheet erstellt, in das dann die Quelldaten dafuer kopiert werden.
Wie gesagt, es ist EIN Vorschlag und keinesfalls der Stein der Weisen, aber es funktioniert glaube ich ungefaehr so, wie Du es wolltest. Unter https://www.herber.de/bbs/user/44934.zip kannst Du es Dir mal anschauen!
Gruss
Rainer

Anzeige
AW: Dynamisches Diagramm erstellen
09.08.2007 16:42:00
Rudi
Hallo,
also erst mal reicht für die Msgbox dieser Code:

Public Sub CommandButton1_Click()
If CheckBox1.Value = True And CheckBox2.Value = True Then
MsgBox "2 Diagramme"
ElseIf CheckBox1.Value = True And CheckBox2.Value = False Then
MsgBox "1. Diagramm"
ElseIf CheckBox1.Value = False And CheckBox2.Value = True Then
MsgBox "2. Diagramm"
End If
End Sub


Deine Datenstruktur erscheint mir für dein Vorhaben sehr ungeeignet. Du solltest alles unabhängig vom Monat in eine Tabelle in Spalten schreiben. Etwa so:
Monat; Zeitraum; Motor; Bezeichnung; Menge; Einzelpreis
Die 'Schöne' Aufbereitung kann man z.B. mit einer Pivot-Tabelle machen.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Dynamisches Diagramm erstellen
09.08.2007 17:39:00
Rudi
Hallo,
in Tabelle Diagramm:

Private Sub CommandButton1_Click()
Dim i As Integer, shp As Object
If ListBox1.ListIndex > -1 Then
Sheets(".").Cells.Clear
For i = 1 To 3
Set shp = Shapes("checkbox" & i).OLEFormat.Object.Object
If shp = True Then
prcDatenKopieren Sheets(ListBox1.Text), shp.Caption, 9 * i - 8
End If
Next
End If
MsgBox "Fertig"
End Sub


In ein Modul:


Sub prcDatenKopieren(wks As Worksheet, strSuch As String, intSpalte As Integer)
Dim wksZiel As Worksheet
Dim lngRow As Long
Set wksZiel = Sheets(".")
With wks
For lngRow = 5 To .Range("E65536").End(xlUp).Row
If .Cells(lngRow, 5) Like strSuch & "*" And .Cells(lngRow, 1)  "" Then
.Range(.Cells(lngRow, 1), .Cells(lngRow, 8)).Copy wksZiel.Range("A65536").Offset(0,  _
intSpalte - 1).End(xlUp).Offset(1, 0)
End If
Next
End With
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige

226 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige