Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
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 eine Zelle zuweisen

Array eine Zelle zuweisen
07.10.2014 12:57:35
Stefanie
Hallo!
Ich bin immer noch an den Arrays...
Bei folgendem spuckt er mir einen fehler aus:
For z = 0 To 134
For zz = 0 To 134
arraytxt(z, zz) = Cells(3, lSpalte + 1).Value
'MsgBox arraytxt
z = z + 1
zz = zz + 1
Next zz
Next z

Kommt immer. Typen unverträglich? Das Array ist aber als Variant deklariert? Oder woran liegt das?
Vielen Dank !!

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array eine Zelle zuweisen
07.10.2014 13:03:56
Hajo_Zi
Du solltest Z und ZZ nicht erhöhen das passiert durch Next.

AW: Array eine Zelle zuweisen
07.10.2014 13:19:37
Stefanie
Das stimmt! Aber es funktioniert trotzdem nicht. Hab ich vielleicht etwas am array falsch?
Hab es durch arraytxt() as Variant deklariert...
Danke für einen Tipp!

AW: Array eine Zelle zuweisen
07.10.2014 13:21:37
Hajo_Zi
bei mir kommt kein Fehler.
Sub Arrayx()
Dim lspalte As Long
Dim Z As Long
Dim ZZ As Long
lspalte = 10
Dim arraytxt(134, 134)
For Z = 0 To 134
For ZZ = 0 To 134
arraytxt(Z, ZZ) = Cells(3, lspalte + 1)
'MsgBox arraytxt
'            Z = Z + 1
'            ZZ = ZZ + 1
Next ZZ
Next Z
End Sub
Gruß Hajo

Anzeige
AW: Array eine Zelle zuweisen
07.10.2014 13:31:30
Stefanie
Ach Danke dir! war vielleicht der Unterschied arraytxt() zu arraytxt(134,134) :-)

AW: Array eine Zelle zuweisen
07.10.2014 13:40:49
Hajo_Zi
ich benutze Option Explicit und damit definiere ich alle Variablen, falls nicht vorhanden.
Gruß Hajo

AW: Array eine Zelle zuweisen
07.10.2014 14:03:45
Stefanie
Option Explicit? Ok Danke dir! Werd ich mal googeln :-) Du bist echt ne super Hilfe.
Vg Stefanie

AW: Array eine Zelle zuweisen
07.10.2014 13:48:26
Daniel
Hi
mit Dim Arraytext() ist das Array nur "vorbereitet", aber noch nicht vollständig angelegt.
du kannst jetzt zwar dem gesamten Array einen Zellbereich zuweisen (ArrayText = Range(...).Value)
aber noch nicht gezielt auf einzelne Elemente des Arrays zugreifen, weil das Array ja noch gar nicht weiss, wie gross es ist.
Erst wenn du die Grösse des Arrays festgelegt hast, kannst du die einzelelemente ansprechen.
Gruß Daniel

Anzeige
AW: Array eine Zelle zuweisen
07.10.2014 14:04:20
Stefanie
Danke für deine ausführlicher Erläuterung! Jetzt hab ich den Unterschied verstanden. Danke für deine Hilfe!!

AW: Array eine Zelle zuweisen
07.10.2014 13:43:18
Daniel
Hi
der Fehler dürfte nur dann auftregen, wenn die Excelzelle einen Fehlerwert enthält (#NV, #DIV/0, ...)
mit so Fehlerwerten hat Excel so seine Probleme.
probier mal, ob arraytxt(z, zz) = Cells(3, lSpalte + 1).Text
fehlerfrei durchläuft.
Gruß Daniel

Was du da machst, scheint ohnehin sinnfrei ...
07.10.2014 14:45:53
Luc:-?
…zu sein, Stefanie;
den 1.Fehler hat dir ja bereits Hajo, den 2. Daniel mitgeteilt (wobei die Sache mit den FWerten bei Datentyp Variant Quatsch ist). Schließlich wird aber 3. lSpalte nirgendwo in den Zyklen erhöht, so dass in alle Array-Felder stets der gleiche Wert eingetragen wird. War das deine Absicht?
Dein auskommentierter Msgbox-Versuch wäre ebenfalls untauglich, denn VBA ist nicht JavaScript und Msgbox fktioniert auf Arrays bezogen nicht wie Alert.
Wenn es aber darum ginge, einen ganzen ZellBereich in ein Array zu übertragen, könnte man das wesentlich einfacher haben. Dazu findest du auch genug Bspp im Archiv!
Gruß, Luc :-?

Anzeige
AW: Was du da machst, scheint ohnehin sinnfrei ...
07.10.2014 15:59:13
Stefanie
Nein darum geht es nicht... Das wäre ja ziemlich einfach.
Ich kenne mich halt in VBA nicht gut aus...
Hab aber auch schon ne Beispieldatei hochgeladen, falls du dir das anschauen möchtest worum es geht :-)

Ich sehe keinen Link; den hast du wohl, ...
07.10.2014 19:55:38
Luc:-?
…trotz Hinweis, vergessen in deinen BT einzukopieren!
Luc :-?

Aha, aber auf d.hat sie hier auch nicht verwiesen!
07.10.2014 22:00:50
Luc:-?
Gruß, Luc :-?

AW: Aha, aber auf d.hat sie hier auch nicht verwiesen!
08.10.2014 11:39:57
Stefanie
Sorry!! :-)

AW: Ich sehe einen Link; den hat sie wohl, ...
08.10.2014 11:39:31
Stefanie
Danke Luc.. und sorry ja das hatte ich vergessen in der Eile :-)

Anzeige
Da du VBA verwenden willst, könntest du ja ...
08.10.2014 17:24:38
Luc:-?
…auch eine UDF in einer ZellFml verwenden, Stefanie,
bspw so:
Tabelle2!B2[:B3]: {=GLÄTTEN(MxJoin(WENN((Tabelle1!A$4:A$5=Tabelle2!A2)*(Tabelle1!B$4:D$5="X")=0;"";Tabelle1!B$2:D$2);"; "))}
Die UDF MxJoin findest du hier.
Gruß, Luc :-?

Für die Z1S1-Bezugsart deiner BspMappe ...
08.10.2014 20:28:16
Luc:-?
…würde die Fml dann so lauten:
@GLÄTTEN(MxJoin(WENN((Tabelle1!Z4S(-1):Z5S(-1)=Tabelle2!ZS(-1))*(Tabelle1!Z4S:Z5S(2)="X")=0;"";Tabelle1!Z2S:Z2S(2));"; "))
(@ wird bei Eingabe automatisch in = gewandelt und soll hier nur daran erinnern, dass es sich um eine (einzellige) MatrixFml handelt, die bei Eingabe mit [Strg][Umsch][Enter] abgeschlossen wdn muss. In die Folgezellen kann die Fml dann einfach einkopiert wdn.
Luc :-?

Anzeige
Eine 'Stefanie' muss hier gar nichts mehr ...
13.10.2014 20:10:28
Luc:-?
…erfragen, von mir gibt's garantiert keine AW mehr! :-[

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige