Anzeige
Archiv - Navigation
1628to1632
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
For Next Schleife -
27.06.2018 14:50:39
Lilli
Hallo Ihr lieben,
ich habe 132 Optionsfelder, die einzeln markiert werden und formatiert werden.
ich habe über das Makrorekorder folgendes aufgenommen.
Sub test()
ActiveSheet.Shapes.Range(Array("Option Button 1")).Select
Application.CutCopyMode = False
With Selection
.Value = xlOff
.LinkedCell = "$P$29"
.Display3DShading = True
End With
End Sub
kann mir bitte jemand helfen eine Schleife um diese Befehle zu machen, wo der Name von "Option Button 1" automatisch steigt und dadurch die vorhandenen Buttons ausgewählt und formatiert werden.
Die Zahl soll bei 1 anfangen und bei 132 enden.
Nach Möglichkeit soll die Bildschirmaktivität am Anfang ausgeschaltet und am Ende wieder eingeschaltet werden.
Vielen Dank für die Mühe im Voraus.
Liebe Grüße,
Lilli :)

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Fehlende Info: .LinkedCell Addresse ! (owT)
27.06.2018 14:55:55
EtoPHG

AW: Fehlende Info: .LinkedCell Addresse ! (owT)
27.06.2018 18:24:21
Lilli
Hallo EtoPHG,
was meinst Du bitte mit
Fehlende Info: .LinkedCell Adresse! (owT)
ich kann leider mit den Makroinhalt wenig anfangen. Es ist alles über den Makro gelaufen.
Was bedeutet bitte owT?
viele Grüße,
Lilli
AW: Fehlende Info: .LinkedCell Addresse ! (owT)
27.06.2018 18:24:48
Lilli
Kontrollkasten aktiviert ;)
AW: Fehlende Info: .LinkedCell Addresse ! (owT)
27.06.2018 18:27:15
Lilli
Die Adresse bleibt bei allen Option Button gleich
.LinkedCell = "$P$29"
AW: Fehlende Info: .LinkedCell Addresse ! (owT)
27.06.2018 23:31:11
Luschi
Hallo Lilli,
so klapt das bei mir:

Sub MachMal()
Dim s As String, i As Integer
With ActiveSheet.Shapes
For i = 1 To 132
'Bezeichnung als String zusammenbauen
s = "Option Button " & i
.Range(Array(s)).Select
Application.CutCopyMode = False
With Selection
.Value = xlOff
.LinkedCell = "$G$2"
.Display3DShading = True
End With
Next i
End With
Range("G2").Select
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Fehlende Info: .LinkedCell Addresse ! (owT)
28.06.2018 15:03:20
Lilli
Hallo Luschi :)
Kollege MachMal hat alles erwartungsgemäß gemacht.
Vielen herzlichen Dank für Deine Mühe. :)
Viele liebe Grüße,
Lilli :)
AW: Fehlende Info: .LinkedCell Addresse ! (owT)
27.06.2018 23:38:22
Mullit
Hallo,
na bitte, dann wird's klarer, mal 2 Mögl., eine mit Array....
Option Explicit

Public Sub test()
   Dim lngIndex As Long
   For lngIndex = 1 To 132
       With ActiveSheet.OptionButtons("Option Button " & lngIndex)
            .Value = xlOff
            .LinkedCell = "$P$29"
            .Display3DShading = True
       End With
   Next
End Sub

Public Sub test2()
   Dim astrNames() As String
   Dim ialngIndex As Long
   With ActiveSheet.OptionButtons
        Redim astrNames(.Count - 1) As String
        For ialngIndex = 1 To .Count
           astrNames(ialngIndex - 1) = "Option Button " & ialngIndex
        Next
   End With
   With ActiveSheet.OptionButtons(astrNames())
        .Value = xlOff
        .LinkedCell = "$P$29"
        .Display3DShading = True
   End With
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
AW: Fehlende Info: .LinkedCell Addresse ! (owT)
28.06.2018 14:30:33
Luschi
Hallo Mullit,
auf eine Rückantwort von Lilli werden wir wohl vergebens warten - sie/er jammert immer nur, solange es nicht klappt; auf erfolgreiche Antworten gibt es einfach kein response.
Gruß von Luschi
aus klein-Paris
AW: Fehlende Info: .LinkedCell Addresse ! (owT)
28.06.2018 15:09:17
Lilli
Hallo Mullit,
ich habe beide ausprobiert und es funktionieren beide einwandfrei.
Vielen lieben Dank für Deine Mühe.
viele liebe Grüße und ab morgen ein schönes Wochenende.
Liebe Grüße,
Lilli :)
Hier kommt der (Be)lehrer....
29.06.2018 12:09:19
EtoPHG
Hallo Lilli,
owT heisst ohne weiteren Text, soll heissen der Betreff sagt schon alles.
In deiner Anfrage fehlten
a) ob es sich um ein Formularsteuerelement oder ein ActiveX-Control handelt.
Das ist oft wichtig für den zu erstellenden Codes.
b) Das alle Option Buttons die gleiche Linkedcell haben. Das hast du nachgereicht.
Dann allgemein: Ich würde sowas niemals mit VBA Code machen. VBA Code in einer XL Datei macht zur Voraussetzung das Makros zugelassen sind, was in vielen Unternehmen gar nicht oder nur unter besonderen Auflagen (z.B. Code mit Sicherheitszertifikat) der Fall ist.
Du hättest viel einfacher alle Steuerelement selektiert und in den (Formatierungs) Eigenschaften die LinkedCell auf die gemeinsame Adresse und das DisplayShading gesetzt.
Das Setzen aller Optionbutton auf xlOff hättest du dann mit dem einfachen Löschen des Zellinhalts der LinkedCell erreicht, ohne VBA Code einsetzen zu müssen.
Für mich sind solche Codes absolute Einmalbrauchen-Wegwerfen-Software!
Gruess Hansueli
Anzeige
AW: Hier kommt der (Be)lehrer....
02.07.2018 10:38:33
Lilli
Hallo Hansueli,
In deiner Anfrage fehlten
a) ob es sich um ein Formularsteuerelement oder ein ActiveX-Control handelt.
Das ist oft wichtig für den zu erstellenden Codes.

darf ich Dich fragen, worin der Unterschied liegt? vielleicht auch sowohl für mich als Nutzer als auch für den Hilfegebender?

Du hättest viel einfacher alle Steuerelement selektiert und in den (Formatierungs) Eigenschaften die LinkedCell auf die gemeinsame Adresse und das DisplayShading gesetzt.
Das Setzen aller Optionbutton auf xlOff hättest du dann mit dem einfachen Löschen des Zellinhalts der LinkedCell erreicht, ohne VBA Code einsetzen zu müssen.
Für mich sind solche Codes absolute Einmalbrauchen-Wegwerfen-Software!

Für mich ist das kein einmalbrauchen-Wegwerfen-Software, da ich dieses mal für 10 Arbeitsblätter (10 Jahre) machen soll. Das sind jedes mal 132 Option Button einzeln anklicken / wählen dann formatieren.
Dazu kommt es noch, dass ich diese Methode für verschiedene Bereiche noch machen muss. Ich werde das erste Makro mindestens 50 Mal nutzen. Für mich ist das ein großes Zeitersparnis. Worüber ich meinen Helfer sehr dankbar bin.
Viele Grüße,
Lilli
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige