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

Ausgabe Array - Excel 2007 ok - Excel 97 Fehler

Forumthread: Ausgabe Array - Excel 2007 ok - Excel 97 Fehler

Ausgabe Array - Excel 2007 ok - Excel 97 Fehler
03.04.2009 04:38:45
Markus
Schönen guten Morgen miteinander.
Ein Freund bat mich für ihn ein kleines Makro zu schreiben, was bestimmte Werte eines Tabellenblatts mit der Gesamtstatistik in die zugehörigen Projektleitertabellen überträgt.
Die Werte stehen jeden Tag in einer anderen Zeile. Aber immer in der Zeile, in der der erste "" Eintrag in einer Nachbarzelle kommt.
Mit meinem Excel 2007 klappt das wunderbar:

Sub test()
Dim arr As Variant, arr2(4) As Variant, arr3(4) As Variant, arr4(4) As Variant
Dim i As Long, letzteZeile
arr = Array("Projektleiter1", "Projektleiter2", "Projektleiter3", "Projektleiter4", " _
Projektleiter5")
Sheets("Statistik").Activate
letzteZeile = Cells(Rows.Count, 9).End(xlUp).Row    ' letzter Zeile für einen Statistikwert
For i = LBound(arr2) To UBound(arr2)
arr2(i) = Range("D1:D" & letzteZeile).Find(arr(i)).Row   ' Reihe vom Projektleiter  _
finden
' nun die erste leere Zeile in der Spalte F vom Projektleiter finden
arr3(i) = Range(Cells(arr2(i), 6), Cells(letzteZeile, 6)).Find("", LookIn:=xlValues). _
Row
' Werte einlesen von Spalte G bis J
arr4(i) = Range(Cells(arr3(i), 7), Cells(arr3(i), 10)).Value
Next i
' eingelesene Werte auf die jeweiligen Projektleitertabellen übertragen
For i = LBound(arr) To UBound(arr)
Sheets(arr(i)).Activate
Range("e34:h34") = arr4(i)
Next i
End Sub


--------------------------
Bei mir läuft es wunderbar.
Aber bei meinem Freund kommt mit Excel 97 immer eine Fehlermeldung (ich glaube 1004) an der Stelle, wo ich das Array zurückschreiben möchte.
Auf die Schnelle habe ich das zwar mit Range().copy und PasteSpecial bei ihm gelöst.
Aber ihr versteht sicherlich, daß mich das nervt.
Wo liegt der Fehler? Hat jemand einen Lösungsansatz?
MfG
Markus

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Möglicherweise akzeptiert xl8 keinen...
03.04.2009 06:00:41
Luc:-?
...Variant mit einem Feld bei der Zuweisung an Zellen, Markus.
Dann müsstest du Einzelzuweisungen schreiben...
Range("E34") = arr4(i)(0) usw...
...oder beide xlVersionen sind unterschiedlich eingestellt, so dass in der einen Version das Feld 4, in der anderen 5 Werte enthält - einer ist dann Empty; aber das sollte eigentlich keine derartigen Auswirkungen haben... (?)
Gruß Luc :-?
Anzeige
AW: Möglicherweise akzeptiert xl8 keinen...
03.04.2009 09:50:34
Markus
Danke für die Hinweise, Luc :-?
Ich schau nachher gleich mal bei der Variablenüberwachung im Debugger, ob es Unterschiede gibt.
Mit Excel 2007 wird arr4 mit 5 Feldern und den zugehörigen 4 Werten bestückt:
arr4(0)(1) : : Variant(1 to 4)
arr4(0)(1,1) : 0,174443043295502 : Variant/Double
...
arr4(0)(1,4) : 69,9974779319042 : Variant/Double
...
arr4(4)(1,4) : 61,7490039840637 : Variant/Double
Mal sehen, wie es in Excel 97 aussieht.
Danke nochmal Luc :-?
Anzeige
Bitte sehr! Hoffentl hilft's... Gruß owT
03.04.2009 18:37:51
Luc:-?
:-?
AW: Bitte sehr! Hoffentl hilft's... Gruß owT
07.04.2009 01:04:10
Markus
Hoi Luc :-?,
entschuldige die späte Rückmeldung. Ich kam leider erts jetzt zum testen mit seiner Version.
Und das "hart" eintragen ala arr4(0)(1,1) funktioniert wunderbar.
Vielen Dank nochmals.
MfG
Markus
Besser spät als gar nicht... ;-) Gruß owT
08.04.2009 08:17:34
Luc:-?
:-?
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige