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

Checkbox ansprechen

Checkbox ansprechen
07.10.2005 13:36:21
Mola
Hallo,
da mir bisher keiner helfen konnte und ich bis jetzt immer noch keine bzw. nur einen Teilerfolg hatte starte ich jetzt hier nochmal einen Versuch...
mitterlweile habe ich die "richtige" checkbox reinkopiert bekommen...leider kann ich diese nun nicht ansprechen...kann mir jemand sagen, was an dem Teilecode nicht stimmt - also LinkedCell und Caption....
Vielen Dank schonmal - bin leider VBA-Starter und komm noch net so richtig klar!
mfg
Mola
'CheckBox in Spalte "G" einfügen
With Range("G" & zeile + 1)
Set objCheckBox = ActiveSheet.OLEObjects.Add _
(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=.Left, Top:=.Top, Width:=.Width, _
Height:=.Height).Object
End With
objCheckBox.LinkedCell = "$G$" & zeile + 1
objCheckBox.Caption = "JA"

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox ansprechen
07.10.2005 15:04:00
Dan
Hallo Mola,
Option Explicit

Sub main()
Dim zeile
Dim objCheckBox As OLEObject
zeile = 1
' CheckBox in Spalte "G" einfügen
With Range("G" & zeile + 1)
' Add Method (OLEObjects Collection):
' Adds a new OLE object to a sheet. Returns an OLEObject object
Set objCheckBox = ActiveSheet.OLEObjects.Add _
(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=.Left, Top:=.Top, Width:=.Width, _
Height:=.Height) ' .Object ==> besser die Referenze auf den OLE-Object selbs halten,
' als auf den 'associated' OLE-Automation Object
End With
objCheckBox.LinkedCell = "$G$" & zeile + 1
objCheckBox.Object.Caption = "JA"
' Object Property:
' Returns the OLE Automation object associated with this OLE object. Read-only Object.
' also einige 'Dinge' sind durch den OLE-Object selbs zugaenglich, andere sind aber nur durch die
' Eigeschafft 'Object' zugaenglich.
' schau mal in dem 'Object Browser' nach (Taste F2)...
End Sub

Anzeige
AW: Checkbox ansprechen
07.10.2005 15:19:07
Mola
Hallo Dan,
ich bekomme alles hin, nur das mit der LinkedCell macht er einfach nicht...ich habe schon fast alles versucht, was mir google, der Makrorecorder, gewisse Foren etc hergeben...es geht einfacht - es ist echt zum Verrückt werden...
Könntest Du mir die Variable (also die Zeile) für meine Textbox anpassen?
Das Makro funzt so wie es ist - bis auf die LinkedCell der Textbox...
1000 Dank!!!!

Sub Einfügen1()
'Einfügen1
Dim zeile As Long
Dim zl As Long
Dim rng As Range
Dim objCheckBox As Object
Application.ScreenUpdating = False
ActiveSheet.Select
'Eintrag mit "x" finden
zl = Range("D:D").Find(What:="x").Row
'von hier zum Ende der Liste springen
If Cells(zl + 1, 4) <> "" Then
zeile = Cells(zl, 4).End(xlDown).Row
Else
zeile = zl
End If
'neue Zeile einfügen
Rows(zeile + 1).Insert
'Spalten "B:K" von oben auffüllen
Set rng = Range(Cells(zeile, 2), Cells(zeile, 11))
rng.AutoFill Range(rng, rng.Offset(1, 0))
'Spalten "F" löschen
Range("F" & zeile + 1).ClearContents
'CheckBox in Spalte "G" einfügen
With Range("G" & zeile + 1)
Set objCheckBox = ActiveSheet.OLEObjects.Add _
(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=.Left, Top:=.Top, Width:=.Width, _
Height:=.Height).Object
End With
With objCheckBox
.BackStyle = fmBackStyleTransparent
.Caption = "Ja"
.LinkedCell = "$G$" & zeile + 1
.Object.Value = False
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Checkbox ansprechen
07.10.2005 15:59:57
Dan
So sollte es laufen:

Sub Einfügen1()
'Einfügen1
Dim zeile As Long
Dim zl As Long
Dim rng As Range
Dim objCheckBox As Object
Application.ScreenUpdating = False
ActiveSheet.Select
'Eintrag mit "x" finden
zl = Range("D:D").Find(What:="x").Row
'von hier zum Ende der Liste springen
If Cells(zl + 1, 4) <> "" Then
zeile = Cells(zl, 4).End(xlDown).Row
Else
zeile = zl
End If
'neue Zeile einfügen
Rows(zeile + 1).Insert
'Spalten "B:K" von oben auffüllen
Set rng = Range(Cells(zeile, 2), Cells(zeile, 11))
rng.AutoFill Range(rng, rng.Offset(1, 0))
'Spalten "F" löschen
Range("F" & zeile + 1).ClearContents
'CheckBox in Spalte "G" einfügen
With Range("G" & zeile + 1)
Set objCheckBox = ActiveSheet.OLEObjects.Add _
(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=.Left, Top:=.Top, Width:=.Width, _
Height:=.Height) ' .Object
End With
With objCheckBox.Object
.BackStyle = fmBackStyleTransparent
.Caption = "Ja"
.Value = False
End With
objCheckBox.LinkedCell = "$G$" & zeile + 1
Application.ScreenUpdating = True
End Sub

Anzeige
Dan-Sorry es funzt noch immer nicht.....
07.10.2005 17:50:12
Mola
Hey Dan,
zunächst einmal vielen Dank für Deinen Support! Leider klappt das was ich machen möchte immer noch nicht. Ich lade deshalb jetzt exemplarisch mal das File hoch. Vielleicht geht das ja auch nicht, was ich mir vorstelle.... Also, ich möchte, dass bei Ausführung des Makros mir unter dem Suchkriterium eine Zelle eingefügt wird und verschieden Spalten übernommen werden. Das geht soweit. Jetzt soll aber in der neuen Zeile in Spalte G auch ein Checkbox integriert werden, die auch mit dieser Zeile und G verlinkt ist. Diese Checkbox möchte ich dann in excel mit einer wenn-funktion ansprechen.
Alles klappt, bis auf die verlinkung der Zelle...
Woran liegt das?
Bitte nochmals um Hilfe....
Vielen Dank!!!
Mfg
Mola
https://www.herber.de/bbs/user/27313.xls
Anzeige
Doch und es geht doch :o)...Danke Dan!!!!!!!!!
07.10.2005 18:12:40
Mola
Dan,
es geht.....prima!
Vielen Dank!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige