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

Zellen per Array an bestimmte Stelle kopieren.

Zellen per Array an bestimmte Stelle kopieren.
08.09.2004 02:01:17
Ralf
Hallo Excel-Profis,
ein forsten im Archiv hat mich nicht weiter gebracht und so poste ich meine Frage hier. Ich habe zwei offene Excel-Mappen. In der ersten stehen in immer gleichen Zellen (ca. 100) Zahlen. Im Moment wähle ich per VBA (mit Macrorecorder aufgezeichnet) jede Zelle an und kopiere sie in die andere Arbeitsmappe in bestimmte, auch immer gleiche Zellen. Das ganze über "Inhalte einfügen...", weil ich die vorhandenen Werte in der Zielmappe nicht überschreiben darf, sondern dazuaddiere muss. Nun meine Frage: Geht das über ein Array? Gefunden habe ich die Möglichkeit Zellen in ein Array einzulesen und in der Zielmappe senkrecht, oder waagrecht wieder zu schreiben. Es soll aber in der Zielmappe auch wieder in bestimmte Zellen - und dazu noch hinzuaddiert werden. Geht sowas überhaupt?
Kann mir bitte jemand weiter helfen?
Danke und Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen per Array an bestimmte Stelle kopieren.
08.09.2004 05:45:05
andre
Hallo Ralf,
das geht, macht aber eigentlich keinen Sinn.
Gehen tut's so:
Wenn Du eine regelmäßige Verteilung hast bekommst Du es über den mathematischen Zusammenhang hin,
for i=1 to 100
sheets("Ziel").cells(i,i)=sheets("Ziel").cells(i,i) + Marray(i) 'diagonal füllen
next
ansonsten kannst Du auch die Zielzelladressen im Array hinterlegen.
for i=1 to 100
sheets("Ziel").range(Marray(i,2))=sheets("Ziel").range(Marray(i,2)) + Marray(i,1)
next
Das diagonale Füllen ohne Array, Daten stehen in Quelle A1 bis A100:
for i=1 to 100
sheets("Ziel").cells(i,i)=sheets("Ziel").cells(i,i) + sheet("Quelle").cells(i,1)
next
Anzeige
AW: Zellen per Array an bestimmte Stelle kopieren.
08.09.2004 10:44:54
Ralf
Hallo Andre,
danke für deine Antwort. Werde mit deinen Vorschlägen etwas experimentieren. Noch kurz zum Hintergrund - es geht um einen Fragebogen, in dem der Usrer per Klick (Worksheet_selectionChange) in eine Zelle ein "X" setzt (darf keine Zahl sein - ist halt Vorgabe), mit der rechten Maustaste löscht er es wieder (falls falsch gesetzt). Mit meinem Makro ändere ich die "X" nun temporär in "1" und kopiere sie zur Auswertung in eine andere Mappe. Da die Zellen nicht zusammenhängend sind wird der Code recht lang, da ich jede Zelle einzeln anspreche und in die andere Mappe kopiere. Deshalb meine Überlegung mit einem Array. Oder lässt sich sowas auch mit einer Schleife lösen? Bin kein VBA-Crack. Also so nach dem Muster - Range.("A4", "B7", "C9"........) dann das ganze in die Zielmappe kopieren, allerdings in andere Zellen? Das ganze per Schleife, damit der Codse nicht ellenlang wird? Könntest du mir bitte noch einen Tipp geben, oder ein entsprechendes Codefragment posten?
Herzlichen Dank
Ralf
Anzeige
AW: Zellen per Array an bestimmte Stelle kopieren.
08.09.2004 19:03:47
andre
Hallo Ralf,
getrennte Bereiche kannst Du nicht so kopieren. Da musst Du schon die Schleife nehmen. ich gehe mal davon aus, dass Du keine mathematisch nachvollziehbaren Regel für die Zellauswahl bilden kannst? A4, B7, C9, D10, E10, wäre 4+3+2+1+0+??? ...
Dann packst Du die Zellen in ein Array:
Dim MyArray
MyArray=Array("A4","B7","C9",.....)
for i=1 to 100 ' oder statt 100 flexibel to ubound(myArray)
sheets("Ziel").range(Myarray(i))=sheets("Ziel").range(Myarray(i)) + Myarray(i)
next
...
AW: Zellen per Array an bestimmte Stelle kopieren.
08.09.2004 19:54:39
Ralf
Hallo Andre,
danke. Es sieht gut aus. Auf der Basis komme ich weiter. Nochmals Danke.
Ralf
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige