Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
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
Inhaltsverzeichnis

Optinsfelder - LinkedCell ändern

Optinsfelder - LinkedCell ändern
28.06.2016 13:34:53
Baeda
https://www.herber.de/bbs/user/106595.xlsx
Hallo Excel-Spezialisten,
ich erzeuge aus einer Access-Anwendung das beiliegende Excel-Sheet.
Dabei werden die Zeilen 46 bis 50(und bei Bedarf weitere) auf Basis der Zeile 45 kopiert. In allen Zeilen sind Gruppierungen und innerhalb der Gruppierungen 5 Optionsbuttons enthalten. Leider wird bei allen kopierten Zeilen die Linkedcell-Angabe die in den 5 Optionsbuttons der Zeile 45 enthalten ist übernommen.
Kann mir jemand einen Tip geben, wie ich die LinkedCell pro kopierter Zeile und pro Optionsbutton ansprechen und ändern kann?
Danke für Euere Bemühungen.
Servus Baeda

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Optinsfelder - LinkedCell ändern
28.06.2016 16:33:50
Mullit
Hallo,
..versuch's mal so in die Richtung:
Option Explicit

Public Sub test()
Const START_ROW As Long = 30
Const FIRST_CHAR As Long = 77
Dim objOLEObject As OLEObject
Dim lngIndex1 As Long, lngIndex2 As Long
With Tabelle1
    For lngIndex1 = 1 To .GroupObjects.Count
        With .GroupObjects(lngIndex1)
            For lngIndex2 = 1 To .ShapeRange.GroupItems.Count
               Set objOLEObject = .ShapeRange.GroupItems(lngIndex2).OLEFormat.Object
               objOLEObject.Object.GroupName = .Name
               objOLEObject.LinkedCell = _
                 "$" & Chr(FIRST_CHAR + lngIndex2) & _
                 "$" & START_ROW + lngIndex1
            Next
        End With
    Next
End With
Set objOLEObject = Nothing
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: Optinsfelder - LinkedCell ändern
30.06.2016 15:13:07
Baeda
Hallo Mullit,
sorry für die späte Rückmeldung, aber ich habe Deinen Vorschlag erst heute testen können.
Perfekt die Lösung vor allem, da sie auch aus Access heraus einwandfrei funktioniert.
Besten Dank für Deine Mühen.
Servus Baeda

AW: Problem gelöst.
30.06.2016 15:36:39
Werner

AW: Optinsfelder - LinkedCell ändern
30.06.2016 16:54:20
Mullit
Hallo Baeda,
ah, prima, ist vielleicht so noch 'runder':
Option Explicit

Public Sub test()
Const START_ROW As Long = 30
Const START_COLUMN As Long = 13
Dim objOLEObject As OLEObject
Dim lngIndex1 As Long, lngIndex2 As Long
With Tabelle1
    For lngIndex1 = 1 To .GroupObjects.Count
        With .GroupObjects(lngIndex1)
            For lngIndex2 = 1 To .ShapeRange.GroupItems.Count
               Set objOLEObject = .ShapeRange.GroupItems(lngIndex2).OLEFormat.Object
               objOLEObject.Object.GroupName = .Name
               objOLEObject.LinkedCell = _
                Tabelle1.Cells(START_ROW + lngIndex1, _
                START_COLUMN + lngIndex2).Address
            Next
        End With
    Next
End With
Set objOLEObject = Nothing
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 12

Gruß, Mullit

Anzeige
AW: Optinsfelder - LinkedCell ändern
30.06.2016 17:11:30
Baeda
Hallo Mullit,
danke probiere ich gleich aus!
Aber vielleicht kannst Du mir in dieser Routine noch weiter helfen?
Das ganze basiert ja auf einem Excel-Template, und wird von Access aus angesteuert. Ich habe eine Zeile mit dieser Gruppierung mit den jeweils 5 Optionsgruppen. Diese Zeile wird sooft kopiert, wie ich Daten aus eine ACCESS-Tabelle in einer Schleife auslese. Dank Deiner Hilfe, schaffe ich es nun für die einzelnen Zeilen die "LinkedCell" entsprechend anzupassen. Hast Du auch noch einen Tip für mich wie ich den Inhalt von "VALUE" der Optionsgruppe ändern kann?
With wsXLS
For lngIndex1 = 1 To .GroupObjects.count
With .GroupObjects(lngIndex1)
For lngIndex2 = 1 To .ShapeRange.GroupItems.count
Set objOLEObject = .ShapeRange.GroupItems(lngIndex2).OLEFormat.Object
objOLEObject.Object.GroupName = .Name
objOLEObject.LinkedCell = _
"$" & Chr(FIRST_CHAR + lngIndex2) & _
"$" & START_ROW + lngIndex1
objOLEObject.Object.Value = "False"
Next
End With
Next
End With
Set objOLEObject = Nothing
Der Befehl "objOLEObject.Object.Value = "False" oder = FALSE hat keine Wirkung. Wenn man sich im Eigenschaftsfenster der Optionsgruppe den Inhalt von VALUE ansieht, dann ist dieses Feld immer leer - ausser in der ersten Zeile wo es ja im Template gefüllt wurde?
Vielleicht hast Du einen Tip?
Danke und Servus
Baeda

Anzeige
AW: Optinsfelder - LinkedCell ändern
30.06.2016 17:36:45
Mullit
Hallo Baeda,
ah ja, Du darfst die Value-Zuweisung erst nach der Gruppennamen-Zuw. machen:
Option Explicit

Public Sub test()
Const BUTTON_COLUMN As Long = 1  '// alle Buttons in Spalte 1 auf true... 
Const START_ROW As Long = 30
Const START_COLUMN As Long = 13
Dim objOLEObject As OLEObject, objFirstButton As MSForms.OptionButton
Dim lngIndex1 As Long, lngIndex2 As Long
With Tabelle1
    For lngIndex1 = 1 To .GroupObjects.Count
        With .GroupObjects(lngIndex1)
            For lngIndex2 = 1 To .ShapeRange.GroupItems.Count
               Set objOLEObject = .ShapeRange.GroupItems(lngIndex2).OLEFormat.Object
               If lngIndex2 = BUTTON_COLUMN Then Set objFirstButton = objOLEObject.Object
               objOLEObject.Object.GroupName = .Name
               objOLEObject.LinkedCell = _
                Tabelle1.Cells(START_ROW + lngIndex1, _
                START_COLUMN + lngIndex2).Address
            Next
            objFirstButton.Value = True
        End With
    Next
End With
Set objOLEObject = Nothing
Set objFirstButton = Nothing
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 12

Gruß, Mullit

Anzeige
AW: Optinsfelder - LinkedCell ändern
01.07.2016 09:31:47
Baeda
Hallo Mullit,
perfekt - nun funktioniert es so wie ich es brauche.
Nochmals herzlichen Dank für Deine Mühen.
Servus
Baeda

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige