wie Teil einfügen von VBA-array zu excel-Bereich
Ist es irgendwie möglich, die Vergangenheit Teil einer vba-array in ein excel-range?
Muss ich tun so etwas wie dieses:
dim testday() as Variant
testday = Sheets("raw").Range("E745:BN745").Value
Sheets("raw").Range("E745:BN745").Value = ""
Sheets("Interface").Range("B4:E4") = testday(3, 4, 5, 6).Value
aber das funktioniert nicht... gibt es eine Möglichkeit dieses Problem zu beheben? Thx!!!
- Ich bevorzuge
Sheets("raw").Range("E745:BN745").ClearContents
- Ja, ich normalerweise Tue, aber die habe ich bedingt formatiert, und ich möchte zu halten, aber thx!!!
ClearContents
nicht entfernen Sie die bedingte Formatierung.- hmm ok das ist also anders als .klar? thx für die!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie entweder:
Eine Schleife verwenden, kopieren Sie die Werte, die Sie brauchen, um ein neues array, und schreiben, dass Sie auf Ihre Palette. Wenn Sie dieses tun, sind Häufig, Sie können schreiben Sie eine wiederverwendbare Funktion, die dies tut. Oder,
Liest nur das, was Sie benötigen, aus Ihrem
"raw"
Blatt, und schreiben, dass Sie auf Ihre Auswahl, wie unten dargestellt. Dies ist wahrscheinlich die einfachste Lösung in Ihrem Fall zu.Können Sie Scheibe die
Array
mitIndex
FunktionArray(3,4,5)
würde ichEvaluate("TRANSPOSE(ROW(" & lStartIndex & ":" & lFinishIndex & "))")
, die ein eindimensionales array von zahlen, beginnend mitlStartIndex
alle den Weg zulFinishIndex
, und kann verwendet werden, weisen Sie eine beliebig lange (zusammenhängenden) array dynamisch.Wenn das array, das Sie kopieren wollen, ist ein-dimensional, und Sie müssen kopieren zusammenhängenden Zellen, die Sie verwenden können, die CopyMemory Funktion:
Getestet mit der ersten Zeile wird
gibt
in der zweiten Reihe.
Also das snippet würde sich ändern, als
Ich hoffe, das hilft!