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

Checkbox dynamisch + Ereignis

Checkbox dynamisch + Ereignis
Hendryk
Hallo zusammen,
da mir hier schon oft geholfen wurde, wende ich mich auch heute wieder hoffnungsvoll an Euch.
Und zwar möchte ich per VBA dynamisch Checkboxen erstellen lassen (das klappt auch soweit), nur wie kann ich den Checkboxen ein Ergeinis mit auf den Weg geben?
Genauer gesagt lese ich aus meiner Exceldatei alle Zellbenamungen (Bsp. Zelle A1 = MWST) aus und weise diesen Zellnamen eine Checkbox zu. Jetzt möchte ich über die Checkbox steuern, ob der Zellname gesetzt ist oder nicht.
Vielen Dank und Viele Grüße
Hendryk

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

Betreff
Benutzer
Anzeige
AW: Checkbox dynamisch + Ereignis
17.02.2010 13:11:53
Beverly
Hi Hendryk,
was für CheckBoxen verwendest du - die aus der Formular-Symbolleiste oder die aus der Steuerelemente-Toolbox? Wie sieht denn dein bisheriger Code aus?


AW: Checkbox dynamisch + Ereignis
17.02.2010 13:33:39
Hendryk
Hallo Karin,
anbei der Code, ich nehme allerdings nur Zellbenamungen die mit "RET_TMMIP" anfangen, die möchte ich auch nur über die Checkboxen steuern.
Sub RetName()
Dim RetName As Object
Dim Text1 As String
Dim i As Integer
Const T As Double = 2
Dim cleft As Double
Dim cright As Double
Dim Ctop As Double
Dim cwidth As Double
Dim cheight As Double
cleft = 305
Ctop = 0
cwidth = 150
cheight = 15.75
Text_1 = "RET_TMMIP"
i = 1
For Each RetName In ActiveWorkbook.Names
Text1 = Left(RetName.Name, 9)
'Cells(i, 1) = Text1
If InStr(UCase(Text1), "RET_TMMIP") > 0 Then
Cells(i, 1) = RetName.Name
Cells(i, 2) = RetName
ActiveSheet.CheckBoxes.Add(cleft, Ctop, cwidth, cheight).Select
With Selection
.Value = xlOn
.Caption = RetName.Name
.Display3DShading = True
End With
Else
i = i - 1
GoTo Weiter:
End If
Weiter:
i = i + 1
Ctop = Ctop + 12.75
Next
End Sub
Vielen Dank für die Hilfe
Hendryk
Anzeige
AW: Checkbox dynamisch + Ereignis
17.02.2010 13:56:21
Beverly
Hi Hendryk,
was verstehst du unter: "...ob der Zellname gesetzt ist"? Soll der CheckBox die Zellverknüpfung zugewiesen werden?
             With Selection
.Value = xlOn
.Caption = RetName.Name
.Display3DShading = True
.LinkedCell = Range(RetName).Address
End With



AW: Checkbox dynamisch + Ereignis
17.02.2010 14:11:31
Hendryk
Hi Karin,
die Zellnamen sind bei mir Bereiche, die sich z.B. von A1:D9 erstrecken können und immer mit "RET_TMMIP..." beginnen. In diese Bereiche können wird über eine Datenbankschnittstelle z.B. Kundendaten ziehen und in Excel verarbeiten. Da dieser Vorgang immer sehr lange dauert, dachte ich mir, dass ich über die Checkboxen ganz einfach den Namen runter bzw. wieder raufsetze, je nachdem was ich gerade benötige.
Viele Grüße
Hendryk
Anzeige
Deine Erklärungen in Ehre, aber...
17.02.2010 14:32:52
Renee
was soll den bitte
dachte ich mir, dass ich über die Checkboxen ganz einfach den Namen runter bzw. wieder raufsetze heissen, Hendryk ?
Von wo runter ?
Wohin rauf ?
Was hat das mit DB-Interface und ...lange dauern... zu tun ?
Wie sieht der DB-Zugriffs-Code aus ?
GreetZ Renée
AW: Deine Erklärungen in Ehre, aber...
17.02.2010 14:42:19
Hendryk
Hallo Reneè,
der Datenbankzugriff wird über ein Add In realisiert, dieses Add In schaut in den Workbook.Names nach Ranges die mit "RET_TMMIP" beginnen und zieht dann die Daten nach Excel.
So, mein Ansatz jetzt. Ich wollte mir alle Namen beginnend mit "RET_TMMIP" auslesen und mit Checkboxen verknüpfen. Die Checkboxen sollen dabei die Namen für das Add In setzen oder runternehmen, so dass ich eine erhebliche zeitersparnis habe.
Viele Grüße
Hendryk
Anzeige
so langsam dämmerts, aber...
17.02.2010 14:56:21
Renee
da bleibt die Frage, warum so kompliziert ? Hendryk
1. Lass das Kombikästchen-Gedöns (bläst nur die Mappe auf und machts kompliziert.
2. Lies die Namen (wie bereits im Code vorhanden) und deren .RefersTo Eigenschaft und eine Status-Spalte (zusätzlich) auf das Tabellenblatt aus.
3. Für die 'Status'-Spalte setzt du z.B. ein Worksheet_BeforeRightClick Code um den Namen zu löschen (Status in Spalte = "aktiv"), bzw. mit der richtigen .RefersTo Eigenschaft wieder zu erstellen!
GreetZ Renée
AW: so langsam dämmerts, aber...
17.02.2010 15:33:17
Hendryk
so gehts natürlich auch, ich wollts schön machen;-)
Danke an alle Beteiligten
VG
Hendryk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige