< návrat zpět

MS Excel


Téma: Range to Array rss

Zaslal/a 29.6.2017 8:32

Poradí někdo ?

Public My_Undo As Range
Public My_array() As Variant

Sub zapamatuj()
Set My_Undo = Selection
My_array = My_Undo ' zde to zkolabuje je-li vybrána
'pouze jedna buňka
End Sub

Zaslat odpověď >

#036746
elninoslov
Pr.:
Sub zapamatuj()
Dim X As Long, Y As Long
Set My_Undo = Selection
With My_Undo
X = .Rows.Count
Y = .Columns.Count
ReDim My_array(1 To X, 1 To Y)
If X = 1 And Y = 1 Then My_array(1, 1) = .Value2 Else My_array = .Value2
End With
End Sub

Ale to iba v prípade súmernej, spojenej oblasti. Ak je označená oblasť obsahujúca viac AREAS, treba si každú zvlášť v cykle EACH uložiť napr do COLLECTION.citovat
#036747
avatar
Dík, nakonec to bylo mnohem jednodušší

stačilo

Public My_array As Variantcitovat
#036748
elninoslov
To by som netvrdil. Ak bude bunka iba jedna, tak vo Vašom zápise, nebude premenná typu pole ! Záleží na tom, čo s tým chcete robiť ďalej. Ak nasleduje nejaké spracovanie tej premennej ako pole, tak ten Váš prípad musí zákonite hodiť chybu, lebo nemáte čo indexovať. Môj kód Vám urobí pole 1x1, s ktorým pracujete v následnom spracovaní rovnako ako s akýmkoľvek iným poľom napr. 100x10000. Skúste si to. Pozor na to.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32

Čas od do

jarek1111 • 18.4. 8:31

Makro smyčka

MilanKop • 18.4. 7:18

Makro smyčka

elninoslov • 18.4. 0:18

Makro smyčka

MilanKop • 17.4. 21:33