Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
916to920
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
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Drehfeld in VBA ansprechen

Drehfeld in VBA ansprechen
23.10.2007 15:31:00
Wolli
Hallo liebes Forum, ich versuche gerade per Makro die LinkedCell diverser Drehfelder zuzuweisen. Versucht habe ich:

Dim Drehfeld As Shape
Drehfeld.LinkedCell = Drehfeld.TopLeftCell.Offset(0, -1).AddressLocal


, doch das ergab Laufzeitfehler '438': Objekt unterstützt diese Eigenschaft oder Methode nicht.
Erfolgreich war ich dann mit


Dim Drehfeld As Shape
Drehfeld.Select
Selection.LinkedCell = Drehfeld.TopLeftCell.Offset(0, -1).AddressLocal


, aber das ist so hääääässlich! Wie geht's besser?
Vielen Dank sagt Wolli

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drehfeld in VBA ansprechen
23.10.2007 16:10:18
K.Rola
Hallo,

Sub Dreh()
Dim Sp As Shape
Set Sp = ActiveSheet.Shapes("Spinner 1")
Sp.ControlFormat.LinkedCell = Sp.TopLeftCell.Address
End Sub


Gruß K.Rola

Merci
23.10.2007 16:49:00
Wolli
Hallo K.Rola, vielen Dank! Komisch, dass es dann mit select, aber ohne ControlFormat funktioniert. Wieder was gelernt. Herzlichen Gruß, Wolli

Objektbezogene Zuweisung der Eigenschaft
23.10.2007 18:45:07
NoNet
Hallo Wolli,
die "Krücke" über das SHAPE-Object halte ich immer für einen Notnagel. Es existiert doch auch das tatsächliche Objekt :
Sub Drehfeld()
    'Zuweisung der LinkedCell-Eigenschaft an ein Drehfeld aus der Steuerelement-Toolbox
    Dim objSp As MSForms.SpinButton
    Set objSp = ActiveSheet.OLEObjects("Spinner 1").Object
    objSp.LinkedCell = objSp.TopLeftCell.Address
End Sub

Gruß, NoNet

Anzeige
AW: Objektbezogene Zuweisung der Eigenschaft
23.10.2007 21:01:02
Hubert
Hi,
der Terminus Drehfeld deutet extrem darauf hin, dass es um ein Drehfeld aus
den Formular-Controls geht.
mfg Hubert

AW: Objektbezogene Zuweisung der Eigenschaft
23.10.2007 21:30:05
K.Rola
Hallo,
wenn es ein Control aus der Toolbox wäre, Code in das Parent-Sheet:

Sub til()
SpinButton1.LinkedCell = "A1"
End Sub


Gruß K.Rola

Drehfeld-LinkedCell : Lösung ohne Variable
23.10.2007 22:21:12
NoNet
Hallo Wolli,
Hubert und K.Rola haben mich überzeugt, dass es sich um ein Drehfeld aus der Formularsymbolleiste handelt.
Dieses kann man auch ohne Verwendung einer (Objekt-)Variablen anpassen :
Sub DrehfeldFormular()
    'Ändert die Zellverknüpfung des ersten Drehfeldes aus Fomular-Symbolleiste
    With ActiveSheet.Spinners(1)
        .LinkedCell = .TopLeftCell.Offset(, -1).Address
    End With
End Sub

Gruß, NoNet

Anzeige
AW: Drehfeld-LinkedCell : Lösung ohne Variable
23.10.2007 23:01:36
Hubert
Hi,
du scheinst das Nichtverwenden einer Objektvariablen als Vorteil zu werten.
Nun, dann hast du deren Vorteile offenbar noch nicht durchschaut.
mfg Hubert

Hallo Hubert : "Böse Unterstellung" ! _oT
24.10.2007 10:27:42
NoNet
_oT

AW: Drehfeld in VBA ansprechen
24.10.2007 09:42:14
Wolli
Ach Leute, nicht sticheln bitte! Danke Euch für die weiteren Anregungen. Meine Aufgabenstellung war, einen großen Haufen Drehfelder (die ich mitsamt ihren Zeilen runterkopiert habe) auf die passende LinkedCell einzustellen, dafür kam für mich nur for each ... next in Frage. For each was denn nun? Shape ist tatsächlich etwas zu allgemein, richtig wäre for each Drehfeld (natürlich aus der Formularsymbolleiste). Meine endgültige Lösung ist jetzt

Sub test()
Dim sp As Object
For Each sp In ActiveSheet.Spinners
sp.LinkedCell = sp.TopLeftCell.Offset(0, -1).AddressLocal
Next sp
End Sub


Dabei musste ich raten, bis ich sp AS OBJECT definiert hatte (es ist mir immer ein inneres Bedürfnis, den Variablentyp genau anzugeben).
Viele Grüße, Wolli

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige