В электронной таблице Excel пользователь может определить порядок листов в пределах Столбец A :
A B
1 Sheet3
2 Sheet4
3 Sheet1
4 Sheet2
5
Как только пользователь ввел заказ в Столбец A , он / она может нажать кнопку, связанную с этим кодом VBA:
Sub Move()
Sheets(Sheet1.Range("A2").Value).Move After:=Sheets(Sheet1.Range("A1").Value)
Sheets(Sheet1.Range("A3").Value).Move After:=Sheets(Sheet1.Range("A2").Value)
Sheets(Sheet1.Range("A4").Value).Move After:=Sheets(Sheet1.Range("A3").Value)
End Sub
Этот VBA размещает листы в порядке, основанном на входах пользователя в Столбец A . Пока все отлично работает
Теперь у меня проблема в том, что количество листов меняется, поэтому может случиться так, что вместо 4 листов будет 8, 10 или 15 и так далее. В этом случае необходимо будет добавить все эти листы вручную в код VBA.
Можно ли сделать код VBA более динамичным. Что-то вроде массива для значений в Столбец A и VBA, например:
Sub Move()
MoveSheets based on Array {Sheet1.Range("A1:A5")}
End Sub