Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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
Inhaltsverzeichnis

Array - Typfehlermeldung

Array - Typfehlermeldung
21.09.2008 11:06:00
Klaus
Hallo
obwohl ich schon oft mit Arrays gearbeitet habe, stehe ich vor einem Berg.
Beschreibung:
In einem eigenen Modul habe ich das Array als "Public drAuftr as Variant" definiert.
In einem anderen Modul wird in einer Sub diese Variable mit "DIM drAuftr(0) as String" dimensioniert.
Anschließend wird eine Userform aufgerufen und eine Selection in einem Listenfeld ausgewertet, die durch einen CommandButton ausgelöst wird. Das Ergebnis der Listefeldauswahl ist ein String den ich dem Array zuweisen möchte. Immer wenn das Array in dieser Buttonauswertung nach dem "else" ins Spiel kommt, erhalte ich die Fehlermeldung, das der Typ nicht übereinstimmt.

Private Sub CommandButton1_Click()
t_suchw = UserForm8.ListBox1.ListIndex
With UserForm8.ListBox1
For X = 0 To .ListCount - 1
If .Selected(X) Then
t_suchw = .List(X)
z = 0
If t_suchw = "Alle Trakte" Then
ws_db.Activate
drow = [A65536].End(xlUp).Row
ws_db.Range(Cells(2, 1), Cells(drow, 1)).Select
ds = Selection.Count
ReDim drAuftr(ds)
For Each y In Selection
suchwert = y.Value
drAuftr(z) = suchwert
z = z + 1
Next
Exit For
Else
'                    ReDim Preserve drAuftr(z )
drAuftr(z) = t_suchw
z = z + 1
End If
End If
Next
End With
Unload UserForm8
End Sub


Kann mir jemand helfen und einen Hinweis auf die Fehlerquelle geben?
MfG. Klaus

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array - Typfehlermeldung
21.09.2008 11:43:40
Daniel
Hi
vielleicht hilft ja folgendes:
drAuftr(z) = CStr(t_suchw)
Gruß, Daniel
AW: Array - Typfehlermeldung
21.09.2008 12:13:00
Gerd
Hallo Klaus,
Fragen zur Listbox:
steht "Multiselect" auf "True" oder "False"
steht "Alle Trakte" als erster(oberster) Eintrag in der Listbox?
Fragen zum Datenfeld:
Sollen mehrere Datenfelder angelegt werden?
Soll -falls nur eines- dies über die Listbox-Abfrage neu gefüllt werden oder
nur Einträge hinzugefügt werden?
Gruß Gerd
AW: Array - Typfehlermeldung
21.09.2008 12:21:00
Klaus
Hallo Gerd,
multiselect seht auf true. Das Array soll per redim jeweils erweitert werden, da die Anzahl der Auswahl vorher nicht feststeht. Der Befehl fehlt noch, da ich für das Array jeweils die Fehlermeldung erhalte, habe ich noch nicht weiter gemacht. Es wird nur die Auswahl aus der Listbox ins Array eingelesen, das Formular wird anschließend geschlossen.
MfG. Klaus
Anzeige
AW: Array - Typfehlermeldung
21.09.2008 12:14:48
Klaus
Hallo Daniel,
ich hab es versucht, ändert sich leider nichts.
Was mir auffällt, ist, dass wenn ich den als ersten ,von mir eingefügten, in der Liste auswählbaren Punkt "Alle Trakte" auswähle, also Listindex(0) , dann läuft es ohne Probleme. Wähle ich aber einen der folgenden Punkte aus, zB. Listindex (2) oder mehr, dann zeigt der Debugger beim Berühren des Arrays drAuftr - Typen unverträglich -, bzw. Programmstop mit Laufzeitfehler 13.
Danke
MfG. Klaus
AW: Array - Typfehlermeldung
21.09.2008 17:32:23
Gerd
Hallo Klaus !
reproduzieren konnte ich den Fehler nicht. Allerdings hatte ich alle übrigen gezeigten Variablen
in der CommandButton1_Click deklariert.
in einer Sub diese Variable mit "DIM drAuftr(0) as String" dimensioniert.
Evtl. besser: Redim drAuftrag(0)
Und die Public- Variable: Public drAuftrag() As Variant
P.S.: Das Konstrukt, bei "Alle..." aus Spalte A einlesen u. in Verbindung mit der Mehrfachauswahl
in der Listbox ggf. markierte Items zusätzlich, verstehe ich nicht. Muss aber nicht sein.
Gruß Gerd
Gruß Gerd
Anzeige
AW: Array - Typfehlermeldung
21.09.2008 22:58:00
Klaus
Hallo Daniel,
es geht darum, wenn "alle Trakte" ausgewählt ist, dann sollen alle DS der DB ausgewählt werden. Es braucht also nicht die Liste übernommen zu werden, sondern ich kann die DS sofort aus der DB übernehmen. Sollen nur einzelne Listeneinträge übernommen werden, dann müssen zunächst alle aus der Liste übernommen werden, und dann müssen einzelne Sätze aus der DB übernommen werden, die über das Array gesucht werden.
AW: Array - Typfehlermeldung
22.09.2008 10:57:00
Klaus
Hallo Daniel,
ich habe aus dem DIM ein REDIM gemacht und es funktioniert. Grund ist für mich nicht einsichtig, weil es bei "Alle Trakte" vorher funktionierte. Seis drum.
Danke für Deine Bemühungen.
MfG. Klaus
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige