Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
02.03.2008 13:45:48 |
Siegfried |
|
|
|
02.03.2008 14:14:15 |
Holger |
|
|
|
02.03.2008 19:01:30 |
Siegfried |
|
|
Aw:Aw:Aw: Array-Problem - Variant in StringArray |
03.03.2008 11:48:36 |
Holger |
|
|
Von:
Holger |
Datum:
03.03.2008 11:48:36 |
Views:
909 |
Rating:
|
Antwort:
|
Thema:
Aw:Aw:Aw: Array-Problem - Variant in StringArray |
Hallo Siegfried,
wie schon geschrieben: du versuchst, ein einzelnes Element einem Array zuzuordnen. Wenn du nur ein einzelnes Element zurückholen willst, kannst du dieses nur einer einzelnen Variablen, aber keinem Array zuordnen. Einzelnen Stringvariablen ist auch die Zuordnung von Variantvariablen möglich. Einem Stringarray kannst du aber kein Variantarray zuordnen.
Einige Möglichkeiten:
Du ersetzt Dim arrVerb(7) As String weg durch Dim arrVerb() .
Du ersetzt Dim arrVerb(7) As String weg durch Dim arrVerb As String.
Du schreibst arrVerb(i) = strArrayVerben(j), wobei i und j Zahlen innerhalb der Arraygrenzen sein muss.
Gruß
Holger
arrVerb = strArrayVerben kopiert das ganze strArrayVerben nach arrVerb, du brauchst arrVerb nicht einmal zu dimensionieren,
arrVerb(1) = strArrayVerben(1) kopiert nur das erste Element von strArrayVerben ins erste Element von arrVerb, Dimensionierung von arrVerb erforderlich.
Da ich nicht weiß, was alles kopiert werden soll, kann ich keine konkrete Empfehlung geben.
Viel Erfolg
Holger
Siegfried schrieb am 02.03.2008 19:01:30:
Hallo Holger,
ich glaube ich habe meine Problem nicht deutlich gemacht.
Ich habe als erstes eine Array des Typs Variant. Ein Element des ArrayVariant ist eine Stringarray mit 8 Felder(Spalten).
Das Einlesen des VariantArray habe ich wie folgt programmiert und funktioniert auch!
While (intIndexVerben <= intLastRowVerben - intStartLesen)
If (Range(strColZeitform & intIndexVerben).Text = strZeitform) Then
Dim arrVerb(7) As String
arrVerb(0) = Range(strColZeitform & intIndexVerben).Text
arrVerb(1) = Range(strColGerman & intIndexVerben).Text
arrVerb(2) = Range(strColInfinitiv & intIndexVerben).Text
arrVerb(3) = Range(strColTu & intIndexVerben).Text
arrVerb(4) = Range(strColEl & intIndexVerben).Text
arrVerb(5) = Range(strColNos & intIndexVerben).Text
arrVerb(6) = Range(strColVos & intIndexVerben).Text
arrVerb(7) = Range(strColUstedes & intIndexVerben).Text
arrVerben(intIndexVerben - intStartLesen) = arrVerb
intCountVerbs = intCountVerbs + 1
End If
intIndexVerben = intIndexVerben + 1
Wend
Nun stehe ich vor der Herausforderung (Problem) das VariantArray wieder auszulesen.
Dazu habe ich mir gedacht ich nehme ich eine schöne Funktion
------------------------------------
Dim intMaxLines As Integer 'Variablen auf Modulebene
Dim strArrayVerben() As Variant 'Variablen auf Modulebene
Public Sub setValueUebergabe(strArrayVerbs, intSumVerbs)
strArrayVerben = strArrayVerbs ; Zuordnen des VariantArray
intMaxLines = intSumVerbs ; Anzahl StringArrays in VeriantArray
Dim arrVerb(7) As String (das StringArray sollte 8 Felder haben, wenn ich es nicht die Anzahl Felder des Arrays kenne schreibe ich nur die Klammer)
'Auslesen des VeriantArray - würde gerne den 2. StringArray haben. Nur als Beispiel.
arrVerb = strArrayVerben(1) <-- Hier passiert der Fehler
"kein Zuweisung an
Datenfeld möglich"
usfVerben.txtZeitform = strArrayVerben(0)
usfVerben.txtFrage = arrVerb(1)
Holger schrieb am 02.03.2008 14:14:15:
Hallo Siegfried,
du versuchst, ein einzelnes Element einem Array zuzuordnen. Das geht nicht. Entweder das gesamte Array oder einzelne Elemente:
arrVerb = strArrayVerben kopiert das ganze strArrayVerben nach arrVerb, du brauchst arrVerb nicht einmal zu dimensionieren,
arrVerb(1) = strArrayVerben(1) kopiert nur das erste Element von strArrayVerben ins erste Element von arrVerb, Dimensionierung von arrVerb erforderlich.
Da ich nicht weiß, was alles kopiert werden soll, kann ich keine konkrete Empfehlung geben.
Viel Erfolg
Holger
Siegfried schrieb am 02.03.2008 13:45:48:
Ich habe folgendes Problem,
ich lese 6 Spalten in ein StringArray und speichere dieses StringArray
dann in ein VariantArray. Da funktioniert auch ganz gut.
Nun möchte ich aber dieses VariantArray wieder auslesen. Hierbei mag
mich mein VB allerdings nicht.
Ich habe folgende Anweisung
------------------------------------
Dim intMaxLines As Integer
Dim strArrayVerben() As Variant
Public Sub setValueUebergabe(strArrayVerbs, intSumVerbs)
strArrayVerben = strArrayVerbs
intMaxLines = intSumVerbs
Dim arrVerb(7) As String (das StringArray sollte 8 Felder haben)
arrVerb = strArrayVerben(1) <-- Hier passiert der Fehler
"kein Zuweisung an
Datenfeld möglich"
usfVerben.txtZeitform = strArrayVerben(0)
usfVerben.txtFrage = arrVerb(1)
------------------------------------
Kann mir jemand sagen wie ich das VariantArray meine StringArrays
entlocke?
Gruß!
Siegfried
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
02.03.2008 13:45:48 |
Siegfried |
|
|
|
02.03.2008 14:14:15 |
Holger |
|
|
|
02.03.2008 19:01:30 |
Siegfried |
|
|
Aw:Aw:Aw: Array-Problem - Variant in StringArray |
03.03.2008 11:48:36 |
Holger |
|
|