hipfzwirgel
Goto Top

Befüllte Zellen einer Excelspalte in Access-Array einlesen

Hallo Gemeinde,

ich erfasse Seriennummern in der ersten Spalte der Datei Seriennummern.xlsx beginnend in Zeile 2.
Nun möchte ich aus Access heraus diese Seriennummern in ein Array einlesen.
Der Ansatz den kompletten Range einzulesen, ist nicht der richtige da ich nicht bekannt, ist wie viele Nummern eingelesen werden. mit folgendem Code öffne ich in Access die Exceldatei:

Dim xlAnw As Excel.Application
Dim xlBuch As Excel.Workbook
Dim xlArbBlatt As Excel.WorkSheet

Set xlAnw = CreateObject("Excel.Application")  
Set xlBuch = xlAnw.Workbooks.Open("\\Seriennummernerfassung.xlsx")    'Die Excel-Datei öffnen  
Set xlArbBlatt = xlBuch.Worksheets(1)         'erstes Sheet  

Kann mir jemand sagen wie ich nur die gefüllten Zellen 2 bis X in ein Access-Array einlesen kann?

Content-ID: 6836067549

Url: https://administrator.de/contentid/6836067549

Ausgedruckt am: 22.11.2024 um 02:11 Uhr

ukulele-7
ukulele-7 19.04.2023 um 10:57:55 Uhr
Goto Top
Blöde Frage: Wenn du schon mit Access arbeitest, warum willst du dann ein Array nutzen und keine Tabelle um eine Liste mit Variablen zu speichern? Ist für mich irgendwie abwegig.
hipfzwirgel
hipfzwirgel 19.04.2023 um 11:38:49 Uhr
Goto Top
Hallo Ukulele-7,

weil ich die eingelesenen Seriennummern eben in einem Array haben will um mit diesen die Einträge der dazugehörigen Geräte in der Db zu bearbeiten. Sprich: ich erfasse alle Seriennummern von Geräten die ich an den Hersteller zurücksenden will, in der Excelliste mittels Barcodeleser(da ich die S/N dann auch für postalische Zwecke benötige macht das Erfassen direkt in Access keinen Sinn für mich). Dann will ich in einer Schleife alle HW-Einträge, von denen die S/N existiert als zurückgegeben markieren. Insofern gebe ich dir Recht, als das die Frage in der Tat blöd ist, da ich keine Liste mit Variablen speichern will sondern eingelesene Seriennummern in ein Array.
Im Übrigen ist die Excel-Datei nur mittel zum Zweck, weil schon vorhanden. Könnte ebenso gut eine Text-Datei oder was auch immer sein...
6247018886
6247018886 19.04.2023 aktualisiert um 16:07:54 Uhr
Goto Top
'....  

With xlBuch.Worksheets(1)
    dim cell as Excel.Range
    for each cell in .Range("A2:A" & .Cells(.Rows.Count,"A").End(-4162).Row)  
        msgbox cell.Value
    Next
End With
Cheers briggs
hipfzwirgel
hipfzwirgel 21.04.2023 um 09:47:00 Uhr
Goto Top
Guten morgen Briggs,

vielen dank für deinen Tipp. Ich habe gestern nach einigem Experimentieren meine For-Schleife mal an deine Angepasst. Da meine funktionierte wird es deine wohl auch tun. Werde ich heute aber noch testen...