Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
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
Datenwahl via Checkboxen für Diagramm
10.04.2013 09:53:16
Horst
Moin moin Leute,
ich möchte ein Makro schreiben, welches ermöglicht die Datenreihen, welche in einem Diagramm erscheinen sollen, via Checkboxen vorher auszuwählen. Ich erhoffe mir Hinweise, wie ich dieses Problem am geschicktesten angehen kann.
Also, der derzeitige Stand ist, dass ich ein Excel-Sheet mit mehreren Datenkolonnen habe und diese 'dynamisch' in einem Diagramm darstellen will. Nach einem Click auf einen Button, öffnet sich eine Userform1, in welcher 19 Datenreihen liegen. Diese können vom Nutzer über eine Checkbox ausgewählt werden. Danach frage ich, ob auf der Abszisse (standardmäßig) die Zeit oder eine andere Datenreihe aufgefasst werden soll. Sollte es sich um eine andere Datenreihe handeln, öffnet sich eine Userform2, in welcher man aus 19 OptionButtons (die gleichen wie in Userform1) einen auswählen kann.
Tja, so weit so gut. Ich würde das ganze gerne über eine Schleife ansteuern, in welcher geprüft wird, welche z.B. Checkboxen ausgewählt sind. Nun ist hier die Frage wie ich eine Checkbox mit einer speziellen Spalte eines Tabellenblatts kopple und ob ich diese quasi in den Zwischenspeicher bzw. in der Implementierung der Datenreihen des Diagramms direkt einbinden kann.
Oder, Variante 2, muss ich diese in eine neues Tabellenblatt kopieren und dann daraus ein Diagramm zeichen?
Oder, Variante 3, einfach all jene Spalten, welche nicht ausgewählt wurden ausblenden vom existierenden Tabellenblatt, Diagramm zeichen und dann wieder alles einblenden?
Gerade Variante 2 hört sich für mich eher unchique an, Variante 1 ziemlich kompliziert. Gibt es hier einen nützlichen Tipp von euch mein Problem zu lösen?
Und weiter: Kann ich die Checkboxen über eine Schleife ansprechen?
Sprich i=1 bis 19 erreicht und eingebunden über Checkbox & i = True?
Genung des Schreibens, vielen Dank für eure Hinweise!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenwahl via Checkboxen für Diagramm
10.04.2013 10:22:04
Rudi
Hallo,
Und weiter: Kann ich die Checkboxen über eine Schleife ansprechen?
Sprich i=1 bis 19 erreicht und eingebunden über Checkbox & i = True?
for i= 1 to 19
if Controls("CheckBox" &i) then
'mach was
end if
next i

keine Vorstellung zum Rest
Gruß
Rudi

AW: Datenwahl via Checkboxen für Diagramm
10.04.2013 12:54:27
Horst
Vielen Dank für deine Antwort!
Also es wäre ja denkbar, dass ich wirklich die Spalten, welche nicht benötigt werden ausblende und von den verbliebenen das Diagramm zeichnen lasse. Das würde heißen, dass ich in deinen Code eine False-Aussage einbinden muss. Wie würde ich dies tun? Und wie schaffe ich es, dass z.B. Checkbox1 mit Spalte A:A verbunden ist? Über einen Tag?
Muchas Gracias!

Anzeige
AW: Datenwahl via Checkboxen für Diagramm
10.04.2013 13:00:41
Horst
So ungefähr so:
Sub Checkbox_check()
For i = 1 To 19
If Controls("CheckBox" & i) = False Then
Range("Tabellenblatt2").Select
Column(xy).Hidden = True
End If
Next i
End Sub

Die Verbindung zur Spalte ist leicht lückenhaft...

AW: Datenwahl via Checkboxen für Diagramm
10.04.2013 13:10:42
Rudi
Hallo,
angehakt=Spalte sichtbar
  myArr = Array(0, 1, 3, 5, 7, 11, 13, 14, 15, 16, 17) 'ergänzen!!! erste muss 0 sein
For i = 1 To 19
Sheets("Tabelle2").Columns(myArr(i)).Hidden = Not Controls("CheckBox" & i)
Next i
Gruß
Rudi

AW: Datenwahl via Checkboxen für Diagramm
10.04.2013 13:50:33
Horst
Hey Rudi,
vielen Dank! Meine Code sieht jetzt wie folgt aus:
Private Sub CommandButton1_Click()
Dim myArr As Integer
Dim i As Integer
myArr = Array(0, 1, 3, 5, 7, 11, 13, 14, 15, 16, 17) 'ergänzen!!! erste muss 0 sein
For i = 1 To 19
Sheets("aufgearbeitete Daten").Columns(myArr(i)).Hidden = Not Controls("CheckBox" & i)
Next i
End Sub
Allerdings erhalte ich eine Nachricht mit dem Tenor "Erwartet:Datenfeld". Markiert ist dabei das "Controls".
Angenommen Checkbox1 spricht Spalte 1 an,Checkbox 2 Spalte 2 und Checkbox 3 Spalte 1.
Würde das dann so aussehen: myArr = Array(0, 3, 2, 1)?

Anzeige
AW: Datenwahl via Checkboxen für Diagramm
10.04.2013 16:29:35
Horst
Ich habe mittlerweile eine Lösung gefunden:
Private Sub UserForm_Initialize()
For i = 1 To 19
With Controls("CheckBox" & i)
' Bezeichnung aus Überschriften der Zeile 1 und Spalte in Tag-Eigenschaft ermitteln
.Caption = Worksheets("Tabelle2").Cells(1, CLng(.Tag)).Value
' Wert der Kontrollkästchen nach Anzeigezustand der Spalten einstellen
.Value = Not Worksheets("Tabelle2").Columns(CLng(.Tag)).Hidden
End With
Next i
End Sub
Private Sub CommandButton1_Click()
For i = 1 To 19
With Controls("CheckBox" & i)
' Spalte ausblenden, wenn CheckBox deaktiviert
Worksheets("Tabelle2").Columns(CLng(.Tag)).Hidden = Not .Value
End With
Next i
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
In der UserForm sollte man die einzelnen Checkboxes noch mit Tags versehen, entsprechend der Nummerierung der Spalte.
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige