Checkboxes aus EXCEL-Sheet auslesen

Hallo,

mir stellt sich z.Z. ein kleines Problem:

Daten werden aus einem EXCEL-Sheet via VBA-Routine und XLS-Object in eine Access-DB importiert.

Die Daten in den Zellen machen kein Problem, allerdings gibt es einige Checkboxes in dem Sheet, die nicht an Zellen gebunden sind. Wie komme ich an diese Werte dran? Leider habe ich keinen Einfluss auf das Layout der EXCEL Datei.

EXCEL und Access Version 2002

any help welcome

Tschau
Peter

Hallo Peter,

Daten werden aus einem EXCEL-Sheet via VBA-Routine und
XLS-Object in eine Access-DB importiert.

für dein Problem nicht wichtig aber mich würde der Access-Vba-Code interessieren, magste ihn hier zeigen?

Die Daten in den Zellen machen kein Problem, allerdings gibt
es einige Checkboxes in dem Sheet, die nicht an Zellen
gebunden sind. Wie komme ich an diese Werte dran?

In Excel kann man Checkboxen (CB) aus zwei Symbolleisten heraus in ein Blatt einfügen.
In XL 2002 müßten das die Symbolleisten Formular und Steuerelementtoolbox sein.
Woher stammen deine CBs?
Je nachdem greift man per Code ggfs. unterschiedlich darauf zu.

Wenn du das nicht weißt, so lasse den nachfolgenden Code laufen.

Wie willst du später in deinem Code die CB auswählen deren Wert du haben willst? Aufgrund ihres Namens oder ihres Indexes, der Zelle über der sie steht?

Gruß
Reinhard

Sub tt()
Dim S As Shape
With Worksheets("Tabelle1")
 For Each S In .Shapes
 If S.Type = 8 Then 'msoFormControl
 MsgBox "Checkbox """ & S.Name & """ ist aus Symbolleiste Formular."
 End If
 If S.Type = 12 Then 'msoOLEControlObject
 MsgBox "Checkbox """ & S.Name & """ ist aus Symbolleiste Steuerelementtoolbox"
 End If
 Next S
End With
End Sub

Hallo Reinhard,

Daten werden aus einem EXCEL-Sheet via VBA-Routine und
XLS-Object in eine Access-DB importiert.

für dein Problem nicht wichtig aber mich würde der
Access-Vba-Code interessieren, magste ihn hier zeigen?

Das waere etwas zu viel Code, das gesamte Modul hat ca. 500 Zeilen Code und da es ein Auftragsarbeit ist habe ich nicht die alleinigen Rechte am Code.

Das ganze laeuft ueber eine DBTabelle in der die Zuordung EXCEL-Zelle -> DB-Tabelle/DB-Feld gespeichert ist (z.B. C17 / TablleA /FeldB). Diese Konfigurationstabelle erlaubt es, das man bei Layoutaenderungen im Sheet „von aussen“ die Anpassungen fuer den Import machen kann.

In Excel kann man Checkboxen (CB) aus zwei Symbolleisten
heraus in ein Blatt einfügen.
In XL 2002 müßten das die Symbolleisten Formular und
Steuerelementtoolbox sein.
Woher stammen deine CBs?

Die kommen wohl aus der Toolbox

Je nachdem greift man per Code ggfs. unterschiedlich darauf
zu.

Besten Dank, das hilft mir schon weiter.

Wie willst du später in deinem Code die CB auswählen deren
Wert du haben willst? Aufgrund ihres Namens oder ihres
Indexes, der Zelle über der sie steht?

Ich werde wohl ueber den Bezeichnungstext zugreifen muessen.

Tschau
Peter

Hallo Peter,

für dein Problem nicht wichtig aber mich würde der
Access-Vba-Code interessieren, magste ihn hier zeigen?

Das waere etwas zu viel Code, das gesamte Modul hat ca. 500
Zeilen Code

die Größe ist kein Problem.
Hintergrund meiner Anfrage ist, mich interessiert weder in Word, Access noch Outlook die normale Programmbedienung.
Ich blicke da aus Sicht von Excel-Vba darauf und interessiere mich dafür wie man in den anderen programmen „Elemente“ usw. anspricht, referenziert.

In Word hilft mir ja dabei der Makrorekorder. In Access gibt es den nicht. Insofern ist/wäre mein hauptinteress deinen Code zu sehen um die Syntax zu sehen wie du da was ansprichst.

und da es ein Auftragsarbeit ist habe ich nicht
die alleinigen Rechte am Code.

Okay, das hat Priorität, Codethema erledigt.

Die kommen wohl aus der Toolbox

„wohl“?
Es gibt noch ein Unterscheidungsmerkmal. Gehe in Excel in den Editor in das Modul des Blattes auf dem die CBs sind.
„Obendrüber“ siehst du ein Auswahlfeld, wenn du da auf den Pfeil klickst, wird dir außer „Worksheet“ auch eine Liste aller ActiveX-Elemente (die aus der Steuerelementtoolbox) angezeigt.
Die Elemente aus „Formular“ er scheinen dort nicht.

Je nachdem greift man per Code ggfs. unterschiedlich darauf
zu.

Besten Dank, das hilft mir schon weiter.

Okay, wenn du nicht klar kommst dann frag nach.

Gruß
Reinhard