Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
428to432
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
428to432
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

OLEObject Spinbutton Problem

OLEObject Spinbutton Problem
22.05.2004 21:23:13
Markus
Hallo zusammen,
ich versuche eine Statistik mit SpinButtons zu beeinflussen.
Dazu sollen die Spinbuttons beim Wechsel einer Zeile gelöscht und in
der neuen Zeile angelegt werden.
Das funktioniert auch soweit.
Einzig die Benennung der Spinbuttons funktioniert nicht.
Es handelt sich um acht Spinbuttons. Wenn ich die Buttons manuell lösche,
erstellt das Makro die Buttons anschliessend durchnummeriert von 1 bis 8.
Lasse ich die Buttons vom Makro löschen, ist die Nummerierung scheinbar zufällig und es werden teilweise Werte ausserhalb von 1 und 8 verwandt.
Ich habe keine Ahnung warum!
Da die SpinButtons aber wieder an Makros gebunden sein sollen, benötige ich die genaue Reihenfolge der SpinButtons.
Ich würde mich über Eure Hilfe freuen.
Gruß
Markus
Hier nun noch mein Makro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zeile, spinner, indexer1(10), indexer2(10) As Integer
Dim posi As Single
Range(Target.Row & ":" & Target.Row).Select
actRow = Worksheets("Optionen").Cells(2, 5).Value
posi = 266.25
If Target.Row > "4" Then
If actRow = Target.Row Then GoTo Teilnehmer
'*** alte Spinner löschen
For Each OLEObject In Worksheets("Eingabe").OLEObjects
If Left(OLEObject.Name, 10) = "SpinButton" Then
OLEObject.Delete
End If
Next
'*** neue Spinner anlegen
For spinner = 1 To 4
indexer1(spinner) = OLEObjects.Add(ClassType:="Forms.SpinButton.1", Link:=False, _
DisplayAsIcon:=False, Left:=posi, Top:=((Target.Row - 1) * 15.75 + 3), _
Width:=14 + 1 / 4, Height:=15.75).Index
indexer2(spinner) = ActiveSheet.OLEObjects.Add(ClassType:="Forms.SpinButton.1", Link:=False, _
DisplayAsIcon:=False, Left:=posi + 41, Top:=((Target.Row - 1) * 15.75 + 3), _
Width:=14 + 1 / 4, Height:=15.75).Index
posi = posi + 116
Next spinner
'*** eigenschaften der spinner festlegen
For i = 1 To 4
OLEObjects(indexer1(i)).Object.Max = 1000
OLEObjects(indexer1(i)).PrintObject = False
OLEObjects(indexer2(i)).Object.Max = 1000
OLEObjects(indexer2(i)).PrintObject = False
Next i
OLEObjects(indexer1(1)).LinkedCell = "D" & Target.Row
OLEObjects(indexer2(1)).LinkedCell = "E" & Target.Row
OLEObjects(indexer1(2)).LinkedCell = "G" & Target.Row
OLEObjects(indexer2(2)).LinkedCell = "H" & Target.Row
OLEObjects(indexer1(3)).LinkedCell = "J" & Target.Row
OLEObjects(indexer2(3)).LinkedCell = "K" & Target.Row
OLEObjects(indexer1(4)).LinkedCell = "M" & Target.Row
OLEObjects(indexer2(4)).LinkedCell = "N" & Target.Row
End If
Teilnehmer:
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: OLEObject Spinbutton Problem
22.05.2004 21:58:54
Nepumuk
Hallo Markus,
weise den Spinnbuttons ein Klassenmodul zu und steck sie in eine Collection. Im Klassenmodul kannst du dann nach dem Index der Collection die verschiedenen Aktionen der Buttons steuern. Auch die Zuweisung von Eigenschaften wie LinkedCell kannst du über diesen Index steuern.
Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige