HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array aus einem String heraus befüllen

Array aus einem String heraus befüllen
14.10.2003 18:25:05
Frank
Hallo hilfreiche Forumsleser,

ich habe ein Problem mit einer Konsolidierungsfunktion in VBA.

Bisher habe ich mir die Namen der einzelnen Blätter mittels VBA ausgelesen und diese mitsamt dem Bereich in einen String geschrieben.

Die VBA-Konsolidierungsfunktion benötigt nun aber einen Array. Das Problem ist, dass die Funktion sowohl unter Excel XP, als auch unter Excel 97 laufen muß.

Ich hoffe Ihr könnt mir weiterhelfen. Hier mal auszugweise der Code:
(wenn ich den Code so ablaufen lasse erhalte ich immer den "Laufzeitfehler '1004' Anwendungs oder Objektdefinierter Fehler"...)


j = ActiveWorkbook.Worksheets.Count
For i = 2 To j

Name = wb.Worksheets(i).Name

Kette = Kette & """'" & WBName & "\[zusammenfassung.xls]" & Name & "'!R31C19:R101C58"","

Next i

Kette = Right(Kette, Len(Kette) - 1)
Kette = Left(Kette, Len(Kette) - 2)

wb.Worksheets(1).Select
Range("S31").Select

Selection.Consolidate Sources:=Array(AKette), Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False


Wie schon geschrieben. Ich hoffe, dass ihr mir weiterhelfen könnt...
Herzlichen Dank für Eure Mühen im voraus

Frank

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Benutzer
AW: Array aus einem String heraus befüllen
14.10.2003 18:39:46
Hans W. Hofmann
So kann das nicht gehen Aus String kannst Du keinen Array bilden...
Schlag nach unter Split.
Für XL97 musst Du allerdings die Split-Funktion nachbauen.
Da liegt Code in der KB bei MS - nachlesen.

Gruß HW
AW: Array aus einem String heraus befüllen
14.10.2003 19:28:03
Boris
Hi Frank,

ich bin nun nicht der VBA-Fachmann, denn ich halte es lieber mit den Formeln - allerdings haben wir seinerzeit eine - wie ich finde - geniale Formellösung gefunden, um aus einem String ein Array zu generieren.
Es war das Excel4-Macro AUSWEERTEN von Nöten - in VBA wohl "Evaluate".

Schau dir das hier mal an - da hab ich den ganzen Thread nochmal zusammengefasst. Vielleicht kannst du es für VBA verwenden.

http://forum.myphorum.de/read.php?f=3040&i=23966&t=23966

Grüße Boris
AW: Array aus einem String heraus befüllen
15.10.2003 10:46:43
Frank
Danke für Eure Mühen,

allerdings konnte mir das noch nicht richtig weiterhelfen, da ich die Umsetzung per VBA lösen muß.

Soweit bin ich mittlerweile:

k = 0
j = ActiveWorkbook.Worksheets.Count
For i = 2 To j

Name = wb.Worksheets(i).Name

Kette = " '" & WBName & "\[zusammenfassung.xls]" & Name & "'!R31C19:R101C58"
AKette(k) = Kette
k = k + 1
Next i

wb.Worksheets(1).Select
Range("S31").Select

Selection.Consolidate Sources:=Array(AKette), Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False


Wobei ich AKette als Array dimensioniert habe. Die einzelnen Tabellenblätter stehen nun auch schön in den einzelnen Arrayfeldern.
Allerdings erhalte ich jetzt an der Stelle "Selection.Consolidate Sources..." einen "Laufzeitfehler '1004' Anwendungs- oder objektdefinierter Fehler".

Offensichtlich bin ich zu doof, dieses Array in der Konsolidierungsformel einzufügen. Was mache ich falsch...

Ich hoffe ich könnt mir nochmal weiterhelfen...
Danke im voraus

Frank
Habe die Lösung gefunden
15.10.2003 17:07:34
Frank
Danke an alle die sich hier Mühe gegeben haben.

Zwar haben Eure Hinweise mich nicht zur Lösung gebracht, aber ich habe es in der Zwischenzeit zum Laufen bekommen.

Lösung: Ein falsch eingefügtes Leerzeichen stand der Erreichung des Ziels im Weg...

Trotzdem Danke an Alle
Frank

99 Forumthreads zu ähnlichen Themen

Meistgelesene Forumthreads (12 Monate)