
myarray = Sheets("List1").Range("A1:A5").Value
kraken192(30.3.2022 21:41)citovat#052424 
zase pokud to vypisu v msg boxu a mam to rucne tak ok
https://photos.app.goo.gl/VmC4tbwBKGALhmo18
https://photos.app.goo.gl/Pyd574pomNs9zUeJ8

Pole musí být deklarované jako dynamické a typ Variant:
Sub pole()
Dim myarray() As Variant
myarray = Sheets("List1").Range("A1:A5").Value
End Sub
Taky je třeba myslet na to, že vznikne dvourozměrné pole. V tomto případě se jedná o pole: myarray(1 To 5, 1 To 1)

Ak je to 2 rozmerné pole, potrebujete Transpose (v tomto prípade bez premennej - podľa potreby prípadného ďalšieho spracovania...).
Sheets(Application.Transpose(Sheets("List1").Range("A1:A3"))).Copy
Ak je množstvo listov dynamické, teda môže nastať 1, tak to do poľa neprejde. To treba ošetriť. Ak môže nastať, že bude medzi bunkami prázdna, či neexistujúci list, to treba ošetriť...
kraken192(1.4.2022 18:24)citovat#052453 
panove dekuji za odpovedi.. ale je to asi nad moje usili stim hnout dal.... prace s polema je nad moje chapani...

Tak použijte jednoduše třeba toto: Sub pole2()
Dim myarray(4) As Variant
myarray(0) = Sheets("List1").Range("A1").Value
myarray(1) = Sheets("List1").Range("A2").Value
myarray(2) = Sheets("List1").Range("A3").Value
myarray(3) = Sheets("List1").Range("A4").Value
myarray(4) = Sheets("List1").Range("A5").Value
End Sub
nebo toto:Sub pole()
Dim myarray(4) As Variant
For i = 0 To 4
myarray(i) = Sheets("List1").Range("A" & i + 1).Value
Next
End Sub
kraken192(1.4.2022 20:00)citovat#052455 
tak kousek posun nastudovani Application.Transpose jsem to jiz dokazal dostat do pole... ale posun je ze jsem zjistil ze je problem pokud nemam spravne definovanou velikost pole.. pokud ma mdefinouvanou vetsi velikost pole nez je pocet dnu k ulozeni tak to pise subscript out of range.. je to posun ale stimhle opravdu nevim co delat.. teda nevim jak definovat velikost pole treba podle promene?? pak uz bych si to dokazal dopocitat...
Dim Fname As String
Dim myarray As Variant
myarray = Application.Transpose(Sheets("List1").Range("C1:C3"))
’myarray = Array("pondeli", "utery")
MsgBox Join(myarray, vbCrLf)
Fname = Sheets("List1").Range("B14").Value
Sheets(myarray).Copy
With ActiveWorkbook
.SaveAs Filename:=Fname
.Close
End With
End Sub

Vložte soubor s makrem, které vám funguje s těmi ručně zadanými hodnotami.
Protože tam je makro, musí se soubor nejdříve zazipovat.