Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi!

Ich möchte eine Excel-Tabelle in mein VB-Prog einlesen, aber das haut irgendwie nicht hin. Kann mir jemand von Euch helfen?

Bisher sieht es so aus:

Private Sub cmd_einlesen_Click()

Dim i As Integer

Dim anzZeilen As Integer

combo_einlesen.Clear

anzZeilen = xlWS1 .UsedRange.Rows.Count

For i = 1 To anzZeilen

combo_einlesen.AddItem xlWS1 .Cells(i, 1).Value

Next i

End Dub

An dem xlWS1 mault er rum und ich weiß nicht, warum.

:( :( :(

Geschrieben

Danke erstmal für Deine Hilfe. Habe schon auf allen einschlägigen Seiten nachgesehen, komme aber nicht wirklich weiter. Die Fehlermeldung tritt in der Zwischenzeit bei UsedRange auf und ich habe nicht den Blassesten, warum bzw. wie ich das Ding gelöst kriege.:(

Geschrieben

Hi,

du musst "xlWS1" durch den Namen vom Tabellenblatt ersetzen.

In meinem Fall war das Tabelle1.

(Haste wohl aus nem Beispiel kopiert :P)


Dim i As Integer

Dim anzZeilen As Integer


Combo_einlesen.Clear

anzZeilen = Tabelle1.UsedRange.Rows.Count


For i = 1 To anzZeilen

Combo_einlesen.AddItem Tabelle1.Cells(i, 1).Value

Next i

Ansonsten kannste so immer nur eine Spalte einlesen.

Die Nummer der Spalte ist in deinem Fall die 1 (also A) und steht hier:

....Cells(i, 1).Value

MfG

KarlBerg

Geschrieben

Danke für Deine Hilfe. Daß das der Dateiname ist, war mir schon klar und meine Datei heißt xlWS1 für Excel Worksheet 1. Allerdings war da ein Schreibfehlerchen im Programm. Den habe ich zwischenzeitlich behoben, aber laufen tut's nicht. Es hakt nun am UsedRange bzw. schon in dem Moment, wenn ich das Worksheet aktiviere. Da kriege ich die Fehlermeldung "Laufzeitfehler". Warum auch immer. Ich verstehe die Welt nicht mehr und weiter komme ich auch nicht.

:( :( :(

Geschrieben

Hi,

wenn's schon bei anklicken vom Worksheet nen Fehler gibt, würd ich mal alle Daten kopieren und in ne neue Datei einfügen und das Macro nochmal test.

(Kann sein, dass ich's falsch verstanden hab, aber Du schreibst: "...meine Datei heißt xlWS1".

Tabelle1 steht hier für den Namen des TabellenBlatts (Worksheets), nicht für den DateiNamen)

(Aber da haste dich wohl nur verschrieben)

Wenn das "UsedRange" net laufen will, kannste ja die Harte Tour versuchen, und alle Zeilen auslesen, nur haste dann halt keine Leerzeilen mehr drin.


    For i = 1 To 65536

        If Tabelle1.Cells(i, 1).Value <> "" Then

            Combo_einlesen.AddItem Tabelle1.Cells(i, 1).Value

        End If

    Next i

MfG

KarlBerg

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...