Option Buttons kopieren

05/09/2008 - 15:37 von Irene Püntener | Report spam
Hallo Zusammen

Ich habe in einem Excel File (Excel 2003) eine Tabelle. In einer Spalte
befinden sich 3 Option buttons, sagen wir mal mit A, B und C. Der Benutzer
soll jeweils eine Option anklicken. Bei den Eigenschaften ist LinkedCell auf
E5, F5 und G5 (für je einen der 3 Buttons) und der GroupeName ist Z5 (Bezogen
auf die Zeile, in der sich die Option Buttons befinden).

Nun hat aber diese Tabelle 300 Zeilen. Wenn ich die Buttons einfach 300 mal
kopiere oder die Zelle "runterziehe", dann bleibt die "linkedCelle" immer E5
und der Groupe Name àndert sich auch nicht...

Gibt es eine Möglichkeit, dass sich der Zellbezug und der GroupName
automatisch àndert oder muss ich das nun von Hand 300 mal anpassen?
Besten DAnk

Irene
 

Lesen sie die antworten

#1 Melanie Breden
05/09/2008 - 16:27 | Warnen spam
Hallo Irene,

"Irene Püntener" schrieb :
Ich habe in einem Excel File (Excel 2003) eine Tabelle. In einer Spalte
befinden sich 3 Option buttons, sagen wir mal mit A, B und C. Der Benutzer
soll jeweils eine Option anklicken. Bei den Eigenschaften ist LinkedCell auf
E5, F5 und G5 (für je einen der 3 Buttons) und der GroupeName ist Z5 (Bezogen
auf die Zeile, in der sich die Option Buttons befinden).

Nun hat aber diese Tabelle 300 Zeilen. Wenn ich die Buttons einfach 300 mal
kopiere oder die Zelle "runterziehe", dann bleibt die "linkedCelle" immer E5
und der Groupe Name àndert sich auch nicht...

Gibt es eine Möglichkeit, dass sich der Zellbezug und der GroupName
automatisch àndert oder muss ich das nun von Hand 300 mal anpassen?
Besten DAnk



folgende Prozedur kopiert die Zeile 5, sowie die drei OptionButton und fügt
sie
zeilenweise wieder ein.

Public Sub CopyOptionButton()
Dim lngRow As Long
Dim lngOpt As Long
Dim shpCopy As Shape

Application.ScreenUpdating = False

With ActiveSheet
For lngRow = 6 To 10
.Rows("5:5").Copy Destination:=.Rows(lngRow)
For lngOpt = 1 To 3
.Shapes("OptionButton" & lngOpt).Copy
.Paste
Set shpCopy = .Shapes(.Shapes.Count)

With .Cells(lngRow, 4 + lngOpt)
shpCopy.Left = .Left + 1
shpCopy.Top = .Top + 1
shpCopy.DrawingObject.LinkedCell = .Address
shpCopy.DrawingObject.Object.GroupName = "Z" & lngRow
End With
Next lngOpt
Next lngRow
End With

ActiveCell.Select
Range("E5:G10").Value = False
Application.ScreenUpdating = True
End Sub

Beachte, dass die OptionButton die Bezeichnung OptionButton1 etc. haben
müssen.
Zum testen werden erst mal 5 Zeilen kopiert.
Die Zahl 10 in der For lngRow-Zeile kannst du dann noch anpassen.


Mit freundlichen Grüssen
Melanie Breden

- Microsoft MVP für Excel

Ähnliche fragen