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

mal wieder checkbox problem

mal wieder checkbox problem
08.03.2006 12:58:51
Thomas
Hallo
Ich hab mal wieder ein Problem mit den Checkboxen:
Ich hab ein Excel File geschrieben was mir Files in einem Ordner erkennt.
Sind dort bestimmte Files drin erkennt er das und schreibt den Dateinamen in eine Zelle.
Vor der Zelle wird automatisch eine Checkbox erzeugt
Beispiel
Agilent1.xls
Agilent2.xls
Diese Beide Dateinamen werden noch einer Variablen (als Array) übergeben
Agilent_Data(1)=Agilent1.xls
Agilent_Data(2)=Agilent2.xls usw.
Bis dahin klappte alles.
Ich möchte aber nun, dass die erzeugte Checkbox automatisch auf Value=True gestzt wird. d.h. Häckchen ist drin.
Außerdem sollte die Checkbox irgendwie mit der Variablen verknüpft sein.
D.h. Für die weitere verarbeitung sollte es möglich sein, zu checken ob Agilent_Data(1) vorhanden ist und ob die checkbox davor den Wert true hat.
Stimmt beides kann das File eingelesen werden.
Hat die checkbox kein häcken soll die nächste variable abgefragt werden.
ich habs mal ungefähr so probiert:
Dim Box As OLEObject
For Each Box In ActiveSheet.OLEObjects
Box.Object.Value = True
Next
Das klappt. Allerdings sollte das NUR für Checkboxen gelten und nicht für alle objekte
Kann mir jemand weiterhelfen ?
gruß
Thomas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mal wieder checkbox problem
08.03.2006 13:22:10
Heiko S.
Hallo Thomas,
wenn der letzte Punkt, NUR Checkboxen, dein Problem ist dann z.B. so:

Sub NurCheckBoxen()
Dim chbBoxen As OLEObject
For Each chbBoxen In ActiveSheet.OLEObjects
' MsgBox TypeName(chbBoxen.Object)
If TypeName(chbBoxen.Object) = "CheckBox" Then
MsgBox chbBoxen.Name
End If
Next
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
AW: mal wieder checkbox problem
08.03.2006 13:24:28
Hugo
Hallo,
wenn du die Checkboxes nicht umbenannt hast, dann:
Option Explicit

Sub check_it()
Dim Cb As OLEObject
For Each Cb In Worksheets("Tabelle1").OLEObjects
If InStr(1, Cb.Name, "CheckBox") Then
Cb.Object.Value = True
End If
Next Cb
End Sub

Hugo
Anzeige
AW: mal wieder checkbox problem
08.03.2006 15:42:03
Thomas
Hallo ihr beiden
Hat beides geklappt.
Ich muss allerdings die Checkboxen auf den Datei, bzw. variablennamen anpassen da ich ansonsten später nicht mehr unterscheiden kann welche checkbox zur welchen variablen bzw. dateinamen gehört.
Ich glaub aber ich weiß jetzt wie ich es machen kann:
Wenn ein Dateiname in eine Zelle und der zugehörigen variablen geschrieben wird, erstellt er ein Checkbock mit den namen Checkbox_& Variablennamen über heiko`s code ...
chbBoxen.name.....
und zum schluss kann ich mit Hugo`s code und der Suchfunktion InStr dann die checkboxen aktivieren, da ja immer noch "Checkbox" im Namen drin ist.
Werd es jetzt mal ausprobieren.
Melde mich heut abend nochmal falls es funktioniert oder wieder mal probleme auftachen
Aber erst mal danke euch beiden für die Anregungen
gruß
Thomas
Anzeige
GESCHAFFT
08.03.2006 20:06:23
Thomas
Hallo
Ich habs geschafft. Hab es aber anders gelößt. Ist zwar nicht ganz sauber prog, aber dafür einfach und es funzt jetzt!
Hier ein Auszug:
sub
Dim checkBoxName As String
Dim boxCB As OLEObject
Cells(z + 1, 6).Select
i = a5
checkBoxName = "CheckBox_Rauch" & i
Set boxCB = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=True, _
DisplayAsIcon:=False, Left:=ActiveCell.Left + 2.5, Top:=ActiveCell.Top + 2.1, Width:=11, Height _
:=11)
boxCB.Name = checkBoxName
ActiveSheet.OLEObjects(checkBoxName).Object.Value = True
end Sub
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige