2017-01-23 3 views
0

In meinem Excel-Arbeitsblatt habe ich eine Reihe von Zahlen von B1 bis B100, die zufällig sind. Was ich tun möchte, aber nicht genau herausfinden kann, wie man sie in einem Array speichert, und entsprechend dem in A1 eingegebenen Wert werden wir dieses 'n' nennen, um das Array mit ReDim auf die Größe von 'n zu skalieren ".VBA - Resize ein Array nach einem Wert in einer Zelle

Jede Hilfe würde sehr geschätzt werden, Danke.

Antwort

1

Ich würde sicherstellen, dass Sie nicht Ihre Array-Größe bei der Deklaration festlegen.

Dies funktioniert zum Beispiel:

Dim arr() As Integer 'declare array but do not dimension it 
Dim ws As Worksheet 'declare worksheet 
Dim nsize As Integer 'size variable of cell A1 
Set ws = ThisWorkbook.Worksheets(1) 'set worksheet variable 
nsize = ws.Cells(1, 1).Value 'get cell A1 value 
ReDim arr(nsize) 'redim array 

Wenn ich etwas ...

this helps falsch verstanden habe!

+0

Aber ich denke, wenn Sie das Array mehrfach wiederholen müssen, funktioniert das möglicherweise nicht ... ** Edit: ** Nevermind ... es scheint zu funktionieren, wenn ich Schleife und Redim in verschiedenen Größen – bucky310

+0

Auch .. Wenn Sie Werte basierend auf Ihrem Bereich B1 bis B100 und dann auf A1 anpassen möchten, können Sie 'ReDim Preserve' verwenden, um dies zu tun – bucky310

+0

Ich habe gerade versucht, dies in einem Makro auszuführen, aber es scheint nicht arbeiten, irgendwelche Ideen? – Reety

Verwandte Themen