< návrat zpět

MS Excel


Téma: Hodnota pole jako název druhého pole rss

Zaslal/a 18.2.2016 10:29

Dobrý den,
potřeboval bych poradit s makrem kde hodnota jednoho pole VZZ_nazev(0) = vyrobky
je dokazem na dalši pole vyrobky()

Sub Test2()
Dim VZZ_nazev()
Dim vyrobky()
Dim sluzby()

VZZ_nazev = Array("vyrobky", "sluzby", "tzbozi", "nzbozi")
vyrobky = Array(601000, 601001, 601002, 601010, 611300)
sluzby = Array(501515, 501640)

ucet = 601000
For k = 0 To UBound(VZZ_nazev)
a = VZZ_nazev(k)
For x = 0 To UBound(a)'!!!!tady už to nefunguje
If ucet = a(x) Then
b = "OK"
End If
Next x
Next k
End Sub
Díky moc za radu.

Příloha: zip30163_pole.zip (13kB, staženo 13x)
Zaslat odpověď >

icon #030165
eLCHa
a = VZZ_nazev(k)do proměnné a přiřazujete jedinou hodnotu z pole VZZ_nazev. a tedy není pole a protoIf ucet = a(x) Thenhlásí chybucitovat
#030256
elninoslov
To by som riešil asi cez vlastný Type:
Public Type TZaznam
Nazev As String
Ucet As Variant
End Type

Sub Test2()
Dim VZZ_nazev() As TZaznam, k As Byte, x As Byte, b As String, Ucet As Long

ReDim VZZ_nazev(3)
VZZ_nazev(0).Nazev = "vyrobky": VZZ_nazev(0).Ucet = Array(601000, 601001, 601002, 601010, 611300)
VZZ_nazev(1).Nazev = "sluzby": VZZ_nazev(1).Ucet = Array(501515, 501640)
VZZ_nazev(2).Nazev = "tzbozi"
VZZ_nazev(3).Nazev = "nzbozi"

Ucet = 601000
For k = 0 To UBound(VZZ_nazev)
If IsArray(VZZ_nazev(k).Ucet) Then
For x = 0 To UBound(VZZ_nazev(k).Ucet)
If Ucet = VZZ_nazev(k).Ucet(x) Then
b = "OK"
End If
Next x
End If
Next k
End Sub
citovat
icon #030257
eLCHa
@elninoslov

A co Collection?citovat
#030259
elninoslov
Samozrejme, nieje problém. Tu sa ale asi výhody Collection nevyužijú (napr pridávanie, odoberanie prvkov). Preto iba jednoduché pole Typov. Aj tak nevieme, čo to presne je, a na čo to presne je.

EDIT: Inak vôbec sa mi nepozdáva premenná Ucet. Ak je to skutočne časť čísla bankového účtu, tak rozhodne nie Long, ale string.citovat
icon #030262
eLCHa
Celý ten kód je divný, proto jsem jen napsal, co je špatně a nenavrhoval lepší cestu.

Výhodou Collection je, že každému prvku můžete přiřadit Key a podle Key pak volat. Takto to řeším já, když potřebuji "pole s pojmenovanými indexy".citovat

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje