Mit Excel (2010) VBA versuche ich, einen konstanten Zellenbereich (dessen Werte neu berechnet werden) in ein Array zu kopieren (zu übergeben). Dann versuche ich, dieses Array an eine neue Reihe von Zellen direkt darunter zu übergeben. Nachdem ich das getan habe, möchte ich die neuen Werte des konstanten Bereichs wieder in das Array kopieren (und übergeben) und diese neuen Werte an einen Bereich übergeben, der direkt unter dem Wert liegt, den ich zuvor übergeben habe.
Ich weiß, dass dieser Code scheußlich ist (ich bin neu in Arrays in VBA).
%Vor%Ich schätze deine Hilfe sehr!
Danke.
Hochachtungsvoll
Jonathan
Sie sind hier ein wenig auf ein paar Dinge, also hoffentlich hilft das folgende.
Erstens müssen Sie keine Bereiche auswählen, um auf ihre Eigenschaften zuzugreifen, Sie können nur ihre Adresse usw. angeben. Zweitens müssen Sie, außer Sie manipulieren die Werte innerhalb des Bereichs nicht wirklich auf eine Variante setzen . Wenn Sie die Werte ändern möchten, können Sie die Grenzen des Arrays so auslassen, wie sie beim Definieren des Bereichs festgelegt werden.
Es empfiehlt sich auch, Option Explicit
oben in Ihren Modulen zu verwenden, um die Variablendeklaration zu erzwingen.
Folgendes wird tun, wonach Sie suchen:
%Vor%Wenn Sie die Werte innerhalb des Arrays ändern möchten, tun Sie dies:
%Vor%Da Sie die gleichen Daten in alle Zeilen kopieren, müssen Sie gar keine Schleife durchführen. Versuchen Sie Folgendes:
%Vor%