Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
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

Problem mit Arrays

Problem mit Arrays
02.11.2017 10:58:08
Dennis
Guten Morgen,
ich habe mal wieder ein Problem:
Ich habe mir ein Array gebastelt und versuche nun, den mit dem Makrorecorder aufgenommenen Befehl, in dem ein Array vorkommt, durch mein Array zu ersetzen, um es dynamisch zu gestalten.
Ihr seht unten den auskommentierten Befehl "ActiveSheet.Shapes.Range(Array("1","2",)).Select.
Dieser Befehl funktioniert. Ich möchte ihn aber durch den Befehl darüber ersetzen, indem ich mein Array y nutze. Wenn ich beide Arrays anzeigen lasse, sehen sie absolut identisch aus. Die Fehlermeldung sagt jedoch: Laufzeitfehler '1004': Der Index in der angegebenen Sammlung ist außerhalb des zulässigen Bereichs.
Hier der Code:
Dim y As Variant
x = ActiveSheet.ChartObjects.Count
y = Array(0)
ReDim Preserve y(x - 1)
For i = 0 To x - 1
y(i) = i + 1
Next
a = Array("1", "2", "3", "4", "5")
MsgBox Join(y, vbLf)
MsgBox Join(a, vbLf)
ActiveSheet.Shapes.Range(y).Select
'ActiveSheet.Shapes.Range(Array("1", "2", "3", "4", "5")).Select
Selection.Copy

Vielen Dank schon einmal für eure Hilfe.
LG,
Dennis

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Arrays
02.11.2017 11:35:20
Beverly
Hi Dennis,
versuche es mal so:
Dim y() As Variant
x = ActiveSheet.ChartObjects.Count
ReDim y(1 To x)
For i = 1 To x
y(i) = i
Next
ActiveSheet.Shapes.Range(y()).Select



AW: Problem mit Arrays
02.11.2017 11:45:23
Dennis
Hallo Katrin,
vielen Dank schon einmal für die Hilfe. Jetzt läuft es durch, aber leider falsch.
Was es machen soll: Ich habe links 5 Diagramme. Diese sollen kopiert werden, um sie in einer neuen Arbeitsmappe als Bilder einzufügen. Macht der auskommentierte Code auch.
Was es mit deinem Code macht: Es kopiert einen bestimmten Bereich der Tabelle. In diesem Bereich ist das erste Diagramm, sowie die rechts stehenden Buttons. Diese werden jetzt als Bild mitkopiert, nicht aber die Diagramme 2-5. Er scheint jetzt sowas wie den gesamten Inhalt der Zellen A1 bis AD24 zu kopieren. :/
Anzeige
AW: Problem mit Arrays
02.11.2017 12:13:53
Beverly
Hi Dennis,
dein Problem liegt darin, dass du Shapes verwendest, und Buttons gehören ebenfalls zu den Shapes - benutze einfach die Namen der Diagramme, also anstelle y(i) = i dieses: ActiveSheet.ChartObjects(i).Name


AW: Problem mit Arrays
02.11.2017 12:01:15
Dennis
Problem gelöst:
Ich habe jetzt einfach den Befehl
ActiveSheet.ChartObjects.CopyPicture
genommen, der kopiert automatisch alle Diagramme und nur diese. Dann brauche ich alles mit den Arrays nicht. Auch wenn ich natürlich dennoch gern herausgefunden hätte, die die korrekte Lösung des obenstehenden Problems mit dieser Methode ist.
LG, Dennis
Anzeige
AW: Problem mit Arrays
02.11.2017 12:33:09
Daniel
Hi
Der Unterschied zwischen y und a ist, das y die Zahlen 1 bis 5 enthält, während a die Texte "1" bis "5" enthält.
Sieht zwar gleich aus, ist aber was ganz anderes.
Probiert mal ob's besser geht, wenn du y ebenfalls mit Texten füllst:
y(i) = CStr(i + 1)
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige