Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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

Makrozuweisung einer Checkbox auf Tabellenblatt

Makrozuweisung einer Checkbox auf Tabellenblatt
30.10.2014 15:22:21
Adleano
Hallo zusammen,
ich hoffe ihr könnt mir bei einem kleinen Problem helfen.
Auf einem Tabellenblatt in einer Arbeitsmappe erstelle ich via VB-Script ein Diagramm mit verschiedenen Kurven. Das zugehörige Makro liegt in einer separaten Addin-Datei. Um dem Anwender das Ein- und Ausblenden von Kurven zu ermöglichen, erstelle ich per Code neben dem Diagramm Checkboxen mit einer Makrozuweisung.
Code:
With .CheckBoxes.Add(rng.Left, rng.Top, rng.Width, rng.Height)
.LinkedCell = rng.Address
.Characters.Text = ""
.value = True
.Locked = False
.Name = "Name"
.OnAction = "'ChkboxETQ_Company_Click " & Chr(34) & strCompany & Chr(34) & " , " & Chr(34) & strRange & Chr(34) & " , " & Chr(34) & strNameSheet & "'"
end with

Die Funktion "ChkboxETQ_Company_Click" befindet sich ebenfalls in einem Modul des Addins.
Nach Erstellung des Diagramms mit den Checkboxen passiert folgendes:
1. In der Arbeitsmappe erstellt Excel automatisch eine Verknüpfung zum Addin (mit Pfad und Dateiname)
2. Wenn ein anderer Anwender die Datei öffnet frägt Excel natürlich, ob die Verknüpfungen aktualisiert werden sollen.
3. Die Checkboxen haben für den Anwender keine Funktion, da das hinterlegte Makro auf eine andere Addindatei verweist.
Habt ihr eine Idee, wie ich das hinbekomme ohne den Code in die Arbeitsmappe auszulagern?
Besten Dank schonmal und Grüße

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makrozuweisung einer Checkbox auf Tabellenblatt
30.10.2014 18:18:31
Daniel
Hi
wenn du den Code in einem AddIn hast, dann muss der Mensch, der mit dieser Datei arbeiten soll, ebenfalls über das AddIn verfügen und es bei sich installiert haben.
Wenn das nicht geht, musst du den Code in die Arbeitsmappe auslagern.
das beschriebene Problem kannst du aber auch makrofrei lösen (zumindest für die Anwendungsdatei):
1. weise der Checkbox eine Ausgabezelle zu
2. Erstelle einen Excel-Namen mit folgedender Formel ( Formel schematsich):
=Wenn(AusgabeZelle der Checkbox = Wahr; Zellbereich der Diagrammdaten; Leerer Zellbereich)
3. Verwende diesen Namen als Datenquelle für das Diagramm.
Das machst du für jede Datenreihe.
Gruß Daniel

Anzeige
AW: Makrozuweisung einer Checkbox auf Tabellenblatt
04.11.2014 10:57:58
Adleano
Hallo Daniel,
deinen Tipp habe ich soweit nachgebaut. Das Ein- und Ausblenden der Diagrammkurven funktioniert auch. Allerdings meldet Excel auf dem Tabellenblatt immer, dass eine Formel ungültige Bezüge hat.
Ursache dafür müssen die Formeln in den Namensdefinitionen sein:
Hier die Formel für eine der Kurven:
=WENN(Blatt1!$B$10=WAHR;BEREICH.VERSCHIEBEN(Blatt1!$T$35;;;ANZAHL(Blatt1!$T:$T));Blatt1!$Z$1)
Wenn ich die Namen über den Namensmanager rauswerfe, erscheint die Meldung nicht mehr.
Alle Namen haben als Bereich das Blatt1 angegeben.
Was mach ich falsch?
Grüße
Anzeige

149 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige