Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1344to1348
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
Inhaltsverzeichnis

Ansicht soll sich aktualisieren, aber ...

Ansicht soll sich aktualisieren, aber ...
23.01.2014 13:25:57
TinoB
Hallo Excelgemeinde,
ich stehe wieder einmal vor einem Problem. Ich lese in eine Exceldatei eine CSV Datei ein, bereite diese auf und erstelle ein fertiges Diagramm daraus. Das ganze mit VBA und Makro was auch sehr gut funktioniert. Das Ergebnis ist eine neue Datei mit Diagramm und der Wertetabelle für das Diagramm. Jetzt gibt es ein UserForm wo alle Spalte aus der Wertetabelle mit Checkbox an- und abwählbar sind. Also die UserForm mit den Checkboxen greift auf die Wertetabelle zu. Ist die Checkbox Enabled, wird der entsprechende Graf im Diagramm angezeigt, ist dieser disabled wird die Spalte und somit der Graf ausgeblendet. Soweit ist das auch alles in Ordnung.
Jetzt zum Problem. Ich möchte nun, dass sich jedesmal bei Checkbox enabled bzw. disabled das Diagramm aktualisert. Und an dieser Stelle komme ich nicht weiter. Entweder man kann den Eintrag der Checkboxen ändern und erst beim Schließen dieser ändert sich der Graf, oder aber man kann die Checkboxen aktiveren und es wird dabei die Wertetabelle angezeigt. Ich würde jedoch gerne das UserForm mit den Checkboxen auf dem Diagrammblatt haben, sich die Grafen ein- und ausblenden lassen ohne dass die Wertetabelle in den Fordergrund rückt.
Ist so etwas möglich? Und wenn ja, wie müsste dieser Code angepasst werden?
- UserForm öffnen, Checkboxen werden gefüllt

Private Sub UserForm_Activate()
With Application
.ScreenUpdating = False
.DisplayAlerts = True
End With
Sheets("Werte").Activate
Dim X&
For X = 3 To 22
Me.Controls("Checkbox" & X).Value = Not Columns(X).Hidden
Next
End Sub

- Abfragen der einzelnen Checkboxen bzw. ein- und ausblenden der Spalten

Private Sub CheckBox3_Click()
X = 3
Columns(X).EntireColumn.Hidden = Not CheckBox3.Value
End Sub
Private Sub CheckBox4_Click()
X = 4
Columns(X).EntireColumn.Hidden = Not CheckBox4.Value
End Sub
Private Sub CheckBox5_Click()
End Sub

- Schließen vom UserForm

Private Sub CommandButton1_Click()
Sheets(1).Activate
Unload Me
Application.ScreenUpdating = True
End Sub

Danke
TinoB

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ansicht soll sich aktualisieren, aber ...
23.01.2014 13:47:19
fcs
Hallo Tino,
damit das Diagramm angeuzeigt werden kann während die Checkboxen geändert werden muss vor allen Range, Cells, Columns, die sich auf das Werteblatt beziehen, auf das entsprechende Blatt referenziert werden.
Dies geht am einfachsten über eine Variable, die modulweit deklariert wird und der die Wertetabelle in der Activate oder Initialize-Prozedur des Userforms zugewiesen wird.
Ich hab deine Makros mal angepasst, jedoch ohne Gewähr für Funktion.
Gruß
Franz
Private wksData As Worksheet 'Modulweit gültige Variable
Private Sub UserForm_Activate()
Set wksData = Sheets("Werte")
Sheets(1).Activate 'Diagrammblatt
With Application
.ScreenUpdating = False
.DisplayAlerts = True
End With
Dim X&
For X = 3 To 22
Me.Controls("Checkbox" & X).Value = Not wksData.Columns(X).Hidden
Next
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub
'- Abfragen der einzelnen Checkboxen bzw. ein- und ausblenden der Spalten
Private Sub CheckBox3_Click()
X = 3
wksData.Columns(X).EntireColumn.Hidden = Not CheckBox3.Value
End Sub
Private Sub CheckBox4_Click()
X = 4
wksData.Columns(X).EntireColumn.Hidden = Not CheckBox4.Value
End Sub
Private Sub CheckBox5_Click()
End Sub
'- Schließen vom UserForm
Private Sub CommandButton1_Click()
Sheets(1).Activate
Unload Me
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Ansicht soll sich ...Danke funktioniert o.T.
23.01.2014 15:09:17
TinoB
Danke

AW: Ansicht soll sich aktualisieren, aber ...
23.01.2014 13:50:02
Rudi
Hallo,
verzichte auf Activate.
Private Sub UserForm_Activate()
Dim x&
With Application
.ScreenUpdating = False
.DisplayAlerts = True
End With
For x = 3 To 22
Me.Controls("CheckBox" & x).Value = Not Sheets("Werte").Columns(x).Hidden
Next
End Sub

Private Sub CheckBox3_Click()
Dim x
x = 3
Sheets("Werte").Columns(x).Hidden = Not CheckBox3.Value
End Sub

Private Sub CheckBox4_Click()
Dim x
x = 4
Sheets("Werte").Columns(x).Hidden = Not CheckBox4.Value
End Sub

Gruß
Rudi

Anzeige
AW: Ansicht soll sich aktualisieren, aber ...
23.01.2014 15:11:39
TinoB
Hallo Rudi,
warum soll man auf Activate verzichten? Mit diesem Code aktualisiert sich das Diagramm erst nach dem Schließen vom UserForm. So wie es vorher war.
Gruß
TinoB

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige