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

Array kopieren u. Werte in anderes Array einsetzen

Array kopieren u. Werte in anderes Array einsetzen
11.02.2007 19:49:27
Lorenz
Hallo zusammen!
Problem: lt untenstehenden CODE sollte aus den 3 Bereichen die Formel aus Zeile 111 in TargetZeile der Wert übertragen werden. Das tuts aber nicht!Leider!
Dim StatArr As Variant, RngArr As Variant
StatArr = Array(Range(Cells(111, 57), Cells(111, 104)), Range(Cells(111, 153), Cells(111, 168)), Range(Cells(111, 200), Cells(111, 231))).FormulaR1C1
RngArr = Array(Range(Cells(Target.Row, 57), Cells(Target.Row, 104)), Range(Cells(Target.Row, 153), Cells(Target.Row, 168)), Range(Cells(Target.Row, 200), Cells(Target.Row, 231)))
With RngArr
.Calculate
.Value = .Value
End With
Wie gehört der CODE geändert, daß dies geschieht?
Danke im Voraus
Lorenz

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array kopieren u. Werte in anderes Array einse
11.02.2007 21:19:59
fcs
Hallo Lorenz,
mit der Array-Konstruktion funktioniert es meiner Meinung (meines Wissens) nicht.
Formeln und Werte lassen sich nur über entsprechende Range-Objekte zuweisen.
Mir ist allerdings nicht ganz klar ob du
jeweils in Zeile 111 Werte per Formel berechnest, deren Ergebnisse dann in die Target-Zeile übertragen werden sollen
oder
die Formeln aus Zeile 111 in die Target-Zeile kopieren willst, dann neu berechnest und zum Schluss die Formeln in der Target-Zeile durch ihre Werte ersetzen möchtest.
Nachfolgende Code-Beispiele für beide Varianten
Gruss
Franz

Beispiel Zeile 111 neu berechnen, dann Werte nach targetzeile übertragen
Dim SpaltenArr As Variant, i As Integer, Zeile As Long
Zeile = 111 'Zeile mit Formeln
SpaltenArr = Array(57, 104, 153, 168, 200, 231) 'Spaltennummern der jeweiligen Bereiche
'Zeile 111 neuberechne
ActiveSheet.Rows(Zeile).Calculate
'Werte von Zeile 111 in Target-Zeile übertragen
For i = LBound(SpaltenArr) To UBound(SpaltenArr) Step 2
Range(Cells(Target.Row, SpaltenArr(i)), Cells(Target.Row, SpaltenArr(i + 1))).Value = _
Range(Cells(Zeile, SpaltenArr(i)), Cells(Zeile, SpaltenArr(i + 1))).Value
Next
Beispiel Formeln Kopieren, dann durch Werte ersetzen
Dim SpaltenArr As Variant, i As Integer, Zeile As Long
Zeile = 111 'Zeile mit Formeln
SpaltenArr = Array(57, 104, 153, 168, 200, 231) 'Spaltennummern der jeweiligen Bereiche
Application.EnableEvents = False
'Formeln Kopieren
For i = LBound(SpaltenArr) To UBound(SpaltenArr) Step 2
Range(Cells(Zeile, SpaltenArr(i)), Cells(Zeile, SpaltenArr(i + 1))).Copy
Range(Cells(Target.Row, SpaltenArr(i)), Cells(Target.Row, SpaltenArr(i + 1))).PasteSpecial Paste:=xlPasteFormulas
Next
Application.CutCopyMode = False
Application.EnableEvents = True
'Neuberechnen und Werte statt Formeln
For i = LBound(SpaltenArr) To UBound(SpaltenArr) Step 2
With Range(Cells(Target.Row, SpaltenArr(i)), Cells(Target.Row, SpaltenArr(i + 1)))
.Calculate
.Value = .Value
End With
Next

Anzeige
AW: Array kopieren u. Werte in anderes Array einse
11.02.2007 21:40:06
Lorenz
Hallo Franz!
Beispiel Formeln Kopieren, dann durch Werte ersetzen war gemeint!
Code kopiert, Kleinigkeit angepasst (nur um 3 weitere Bereiche ergänzt), eingesetzt und hat sofort suuuuuuuuuuuuuuper funktioniert!!!!!!
Danke vielmals und Grüsse aus Österreich: Lorenz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige