Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
832to836
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
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenfeld zurückschreiben mit Excel 2003

Datenfeld zurückschreiben mit Excel 2003
10.01.2007 09:39:21
Uli
Hallo zusammen,
ich habe folgenden Code:
*******************************************************************************
'Datenfeld einlesen
l_Range = Range(Cells(1, 1), Cells(ZZ_g_Zeile_Daten_Ende, ZZ_g_Spalte_TBS_Gruppe_Ende)).FormulaLocal
'[Berechnungen auf dem Datenfeld]
'Datenfeld zurückschreiben
Range(Cells(1, 1), Cells(ZZ_g_Zeile_Daten_Ende, ZZ_g_Spalte_TBS_Gruppe_Ende)) = l_Range
*******************************************************************************
Unter Excel 2000 gibt's keine Probleme, aber Excel 2003 sagt beim Zurückschreiben immer "1004 Anwendungs- oder objektorientierten Fehler", und ich habe inzwischen keine Ahnung, wie ich weitermachen soll.
Mit den Variablen hat's nichts zu tun, ich habe es auch ohne versucht: Range(Cells(1, 1), Cells(185, 15)) = l_Range. Das Ergebnis ist das gleiche (die l_Range ist tatsächlich 185*15 groß).
Ich habe auch schon versucht, nicht mit "Cells" zu arbeiten, sondern nur mit Range("A1..) etc., aber ich bekomme die gleichen Fehler.
Hat jemand einen Vorschlag oder das gleiche Problem schonmal gehabt?
Anmerkung: Ein direktes Schreiben auf die Zellen (ohne Nutzung eines Datenfeldes) wäre zwar denkbar, aber aus Performancegründen wohl nicht praktikabel...
Vielen Dank für Eure Hilfe!
Uli

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

Betreff
Datum
Anwender
Anzeige
AW: Datenfeld zurückschreiben mit Excel 2003
10.01.2007 10:23:48
fcs
Hallo Uli
probiere mal folgendes je nachdem ob die Feldinhalte als Formeln oder Texte im 2. Bereich eintragen willst.

Range(Cells(1, 1), Cells(ZZ_g_Zeile_Daten_Ende, ZZ_g_Spalte_TBS_Gruppe_Ende)).FormulaLocal = l_Range
Range(Cells(1, 1), Cells(ZZ_g_Zeile_Daten_Ende, ZZ_g_Spalte_TBS_Gruppe_Ende)).Value = l_Range

Gruß
Franz
AW: Datenfeld zurückschreiben mit Excel 2003
10.01.2007 10:42:53
Ramses
Hallo
Ich sehe das Problem ehrlich gesagt nicht,... allerdings interessieren mich die "FormulaLocal" auch nicht :-)
Das ist vorher
Tabelle3
 AB
113
226
339
4412
5515
6618
Formeln der Tabelle
B1 : =A1*3
B2 : =A2*3
B3 : =A3*3
B4 : =A4*3
B5 : =A5*3
B6 : =A6*3
 

Dann lass ich den Code laufen
Option Explicit

Sub FeldTest()
Dim getRange(), writeRange As Range
getRange = Range("A1:b6")
Range(Cells(1, 1), Cells(6, 2)).Value = getRange
End Sub

Dann sieht das ganze so aus
Tabelle3
 AB
113
226
339
4412
5515
6618
 

... notabene OHNE Formeln
Gruss Rainer
Anzeige
AW: Datenfeld zurückschreiben mit Excel 2003
10.01.2007 10:36:53
Luschi
Hallo Uli,
das Zurückschreiben des Arrays in die Zellen klappt auch
mit Excel2003.
Der Fehler 1004 erscheint, wenn ein zurückgeschriebener Arraywert
in Excel den Fehler #NV ergibt. Das kann eine Formel sein, die durch
die Berechnung in Excel #NV zurückgibt.
Bei einer Division durch 0 tritt der Fehler 1004 nicht auf.
Gruß von Luschi
aus klein-Paris
Nachtrag
10.01.2007 10:47:05
Luschi
Hallo Uli,
der Fehler erscheint leider auch, wenn man mit
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
''Berechnung und Zurückschreiben
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
die üblichen Excel-Bremsen erst ausschalten und danach wieder aktiviert.
Mein Ratschlag: Scheibe die Formeln als Text zurück und entferne dann in der Tabelle
das Texterkennungszeichen einzeln. Wenn in "l_Range(1,15)" die Formel steht, dann so:
l_Range(1,15) = "'" & l_Range(1,15)
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Datenfeld zurückschreiben mit Excel 2003
10.01.2007 11:19:50
Uli
Hallo Luschi & Ramses,
vielen Dank für Euren Input - die erste Antwort hat das Problem bereits gelöst (ich habe das .FormulaLocal vergessen). Eigentlich ein "Anfängerfehler", aber manchmal sieht man ja den Wald vor lauter Bäumen nicht...
Viele Grüße
Uli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige