none
Bug in Excel VBA RRS feed

  • Frage

  • Hallo, NG,

    ich habe mir gerade einen Makro geschrieben, und zwar habe ich eine größere Anzahl von Checkboxes, die ich nacheinander durchnumerieren mit einem neuen Namen, also Chk1, Chk2, etc. Ich habe das ganz primitiv gemacht mit

    for X = 1 to 20

      ActiveSheet.Shapes(x).Name = "Chk" & X

    Next

    In der Version ist es etwas schwierig, rauszufinden, welchen Namen die Checkbox jetzt hat - ich habe jeweils bei Makro zuweisen nachgesehen und festgestellt, dass das Umbenennen nur bei jeder 2. Checkbox geklappt hat, also bei 1, 3, 5...

    die Korrektur auf

    for X = 1 to 20 Step 1 brachte nichts, statt dessen kam ich mit dem Statement

    for X = 1 to 20 Step 0.5

    zum Ziel. Ich vermute mal, das ist ein Bug, oder gibt es eine Erklärung dafür.

    Gruß

    Susanne

    Sonntag, 26. September 2010 15:52

Alle Antworten

  • hi,

    Ich vermute mal, das ist ein Bug, oder gibt es eine Erklärung dafür.

    Nicht jedes Shape wird eine CheckBox sein. Im Besonderen stellt sich natürlich die Frage, ob es überhaupt ein Shape ist.

    Du solltest imho zumindest den Typ abfragen:

    For X = 1 To 20
      If ActiveSheet.Shapes(X).Type = MsoShapeType.msoFormControl Then
        ActiveSheet.Shapes(x).Name = "Chk" & X
      End If
    Next X
    Montag, 27. September 2010 11:51