Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Adresse "relativ" bei Steuerelementen
11.08.2006 16:17:44
Jochen
Hi,
ich möchte Steuerelemente in einer Liste einsetzten. Z.B soll ein Kontrollkästchen über einer zelle liegen, die dann je nachdem den Wert true/false hat. Nun möchte ich die entsprechende Zeile mehrfach kopieren. Dabei soll die Zellverknüpfung "relativ" sein. Mir gelingt es ohne Problem die Zeilen und damit das Kontrollkästchen zu kopieren; der Bezug bleibt aber immer auf die ursprüngliche Zelle. Mir ist egal ob die Lösung mit einem Element aus "Formular" oder "Steuerelemte" zu realisieren ist.
Thnks for tips!

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

Betreff
Datum
Anwender
Anzeige
AW: Adresse "relativ" bei Steuerelementen
11.08.2006 17:28:45
fcs
Hi Jochen,
folgendes Makro setzt die verknüpfte Zelle entsprechend der Zell-Position der Checkboxen aus "Formular" in Spalte F (6) des Blattes. Makro Erstellt mit Excel 2003

Sub VerknuepfungCheckbox()
Dim Checkbox As Shape
Spalte = 6 ' Checkboxen in Spalte 6 (F)
For Each Checkbox In ActiveSheet.Shapes
With Checkbox
If .Type = msoFormControl Then 'Abfrage auf Formblatt Kontoll-Elemente
If .FormControlType = xlCheckBox And .TopLeftCell.Column = Spalte Then
If .ControlFormat.LinkedCell <> .TopLeftCell.Address Then
.ControlFormat.LinkedCell = .TopLeftCell.Address
End If
End If
End If
End With
Next
End Sub

Dieses Makro kannst du der ersten Checkbox zuweisen. Nach dem Kopieren der Checkboxen wird die Verknüpfung geprüft und ggf. aktualisiert, sobald du eine der Checkboxen anklickst.
Ich hab es mal mit 10 bis 15 Checkboxen probiert. Laufzeit ist ok. Falls du sehr viele Checkboxen hast, dann geht evtl. Laufzeit hoch, da bei jedem Klick auf eine Checkbox alle Shape-Elemente des Blattes überprüft werden. Dann ist es evtl. sinnvoller das Makro nicht den Checkboxen zuzuweisen, sondern nach einer Zeilenkopieraktion das Makro manuel z.B. per Button zu starten.
Gruß
Franz
Anzeige
AW: Adresse "relativ" bei Steuerelementen
11.08.2006 19:51:56
Jochen
Hi,
vilen Dank. Das war ja superschnell - aber, leider funtioniert es noch nicht so ganz. Ich erhalte einen Laufzeitfehler 1004; debuggen bringt dann dies:

Sub VerknuepfungCheckbox()
Dim Checkbox As Shape
Spalte = 7 ' Checkboxen in Spalte 7 (F)
For Each Checkbox In ActiveSheet.Shapes
With Checkbox
If .Type = msoFormControl Then 'Abfrage auf Formblatt Kontoll-Elemente
Gelb--> If .FormControlType = xlCheckBox And .TopLeftCell.Column = Spalte Then
If .ControlFormat.LinkedCell <> .TopLeftCell.Address Then
.ControlFormat.LinkedCell = .TopLeftCell.Address
End If
End If
End If
End With
Next
End Sub

Bei mir geht es um Spalte 7. Noch ne Idee?
Anzeige
AW: Adresse "relativ" bei Steuerelementen
11.08.2006 21:06:44
fcs
Hallo Jochen,
probiere mal folgende Variante. Evtl. hast du noch ein anderes FormControl-Objekt auf dem Sheet, das die Eigenschaft "TopLeftCell" nicht kennt. Zur Kontrolle werden die Namen der gefundenen Objekte angezeigt. Diese Zeile löschen wenns jetzt funktioniert. Ansonsten kennen wir das Problemkind und müssen einen Weg drum herum basteln.
Gruß
Franz

Sub VerknuepfungCheckbox()
Dim Checkbox As Shape
Spalte = 7 ' Checkboxen in Spalte 7 (F)
For Each Checkbox In ActiveSheet.Shapes
With Checkbox
If .Type = msoFormControl Then 'Abfrage auf Formblatt Kontroll-Elemente
MsgBox "Shape-Name: " & .Name 'Testzeile zeigt ggf. Problem-Objekt an
If .FormControlType = xlCheckBox Then
If.TopLeftCell.Column = Spalte Then
If .ControlFormat.LinkedCell <> .TopLeftCell.Address Then
.ControlFormat.LinkedCell = .TopLeftCell.Address
End If
End If
End If
End If
End With
Next
End Sub

Anzeige
AW: Adresse "relativ" bei Steuerelementen
12.08.2006 17:31:34
Jochen
es funktioniert PERFEKT - wenn man nicht immer wieder den gleichen Fehler macht und bei Spalte "A" mit "1" anfängt zu zählen. VIELEN Dank!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige