Forum » Programiranje » [VBA EXCEL] kombinacije
[VBA EXCEL] kombinacije
ALfonz ::
Pozdravljeni,
potrebujem pomoč...v excelu bi s pomočjo VBA izvedel vse možne kombinacije ki se lahko pri danih robnih pogojih pojavijo.
primer:
A1 'vrednost v celici je poljubna številka
B1 'vrednost v celici je poljubna številka
C1 'vrednost v celici je poljubna številka
vrednost v stolpcu A se lahko množi z faktorjem: 1 ali 3...
vrednost v stolpcu B se lahko množi z faktorjem: 1...
vrednost v stolpcu C se lahko množi z faktorjem: 0 ali 1...
zgornji robni pogoji mi dajo rezultat generiranih kombinacij:
1komb=A1*1+B1*1+C1*0'zapišemo rezultat v D1
2komb=A1*3+B1*1+C1*0'zapišemo rezultat v D2
3komb=A1*1+B1*1+C1*1'zapišemo rezultat v D3
4komb=A1*3+B1*1+C1*1'zapišemo rezultat v D4
...
Kako bi rezultat kombinacij generiral avtomatično s pomočjo VBA? Tudi v primeru, da imamo možnost npr. A1 množiti z večimi različnimi faktorji.
lp
potrebujem pomoč...v excelu bi s pomočjo VBA izvedel vse možne kombinacije ki se lahko pri danih robnih pogojih pojavijo.
primer:
A1 'vrednost v celici je poljubna številka
B1 'vrednost v celici je poljubna številka
C1 'vrednost v celici je poljubna številka
vrednost v stolpcu A se lahko množi z faktorjem: 1 ali 3...
vrednost v stolpcu B se lahko množi z faktorjem: 1...
vrednost v stolpcu C se lahko množi z faktorjem: 0 ali 1...
zgornji robni pogoji mi dajo rezultat generiranih kombinacij:
1komb=A1*1+B1*1+C1*0'zapišemo rezultat v D1
2komb=A1*3+B1*1+C1*0'zapišemo rezultat v D2
3komb=A1*1+B1*1+C1*1'zapišemo rezultat v D3
4komb=A1*3+B1*1+C1*1'zapišemo rezultat v D4
...
Kako bi rezultat kombinacij generiral avtomatično s pomočjo VBA? Tudi v primeru, da imamo možnost npr. A1 množiti z večimi različnimi faktorji.
lp
prtenjam ::
Pozdravljeni,
tukaj imate dve tematiki o VBA in kombinacijah:
Iskanje seštevka celih števil
Prirejanje parov
Sicer pa še malce poiščite po forumu, saj smo o tem tam že govorili...
tukaj imate dve tematiki o VBA in kombinacijah:
Iskanje seštevka celih števil
Prirejanje parov
Sicer pa še malce poiščite po forumu, saj smo o tem tam že govorili...
Matjaž Prtenjak
https://mnet.si
https://mnet.si
ALfonz ::
hvala za hiter odgovor...prtenjam, ne vem če bi znal na tak način do rešitve...
mislim, da bi s for zankami nekako moral priti do rešitve. Ali je spodnja psevdokoda prava smer?
ideja ki sme jo dobil:
-nekako bi preko for zanke shranil vrednosti kot "value(i)
psevdokoda:
1.korak'shranjevanje vrednosti iz celic v spremenlivjko val(i)
'shranim vrednosti iz izbranih celic v VBA, kot val(1), val(2) in val(3) ...(kolikor vrednosti pač hočem kombinirat)
for row=1 to n
for i=1 to 3
val(i)=cell(row,i)
next i' nova vrednost
next row 'če obstajajo vrednosti v naslednih vrstah
end for
2.korak'shranjevanje možnih kombinacijskih faktorjev, ki pripadajo posamezni vrednosti...
'val(i) se lahko množi z fact_i(j)
'možni faktorji za val(1)
fact_1(0)=1.0
fact_1(1)=1.3
'možni faktorji za val(2)
fact_2(0)=1.0
'možni faktorji za val(3)
fact_3(0)=0.0
fact_3(1)=1.0
3.korak
'verjetno generacija kombniacij s for zanko. Vsaka generirana kombinacija se sproti zapisuje v vsporedne celice...
'predvidevam da nekaj v smislu:
for row=1 to n '(n=1 če obstaja samo ena vrsta vrednsoti (A1,B1,C1)...
'tukaj so potrebne for zanke za menjavo različnih faktorjev pri nespremenljivih vrednsoti
cells(row, x)=val(i)*fact_1(j)+val(i+1)*fact_2(j)+val(i+2)*fact_3(j)
next row 'gremo na nasledno vrstico če obstaja (npr.:A2,B2,C2). X je št. stoplca kamor vsporedno zapisujem kombinacije
end
mislim, da bi s for zankami nekako moral priti do rešitve. Ali je spodnja psevdokoda prava smer?
ideja ki sme jo dobil:
-nekako bi preko for zanke shranil vrednosti kot "value(i)
psevdokoda:
1.korak'shranjevanje vrednosti iz celic v spremenlivjko val(i)
'shranim vrednosti iz izbranih celic v VBA, kot val(1), val(2) in val(3) ...(kolikor vrednosti pač hočem kombinirat)
for row=1 to n
for i=1 to 3
val(i)=cell(row,i)
next i' nova vrednost
next row 'če obstajajo vrednosti v naslednih vrstah
end for
2.korak'shranjevanje možnih kombinacijskih faktorjev, ki pripadajo posamezni vrednosti...
'val(i) se lahko množi z fact_i(j)
'možni faktorji za val(1)
fact_1(0)=1.0
fact_1(1)=1.3
'možni faktorji za val(2)
fact_2(0)=1.0
'možni faktorji za val(3)
fact_3(0)=0.0
fact_3(1)=1.0
3.korak
'verjetno generacija kombniacij s for zanko. Vsaka generirana kombinacija se sproti zapisuje v vsporedne celice...
'predvidevam da nekaj v smislu:
for row=1 to n '(n=1 če obstaja samo ena vrsta vrednsoti (A1,B1,C1)...
'tukaj so potrebne for zanke za menjavo različnih faktorjev pri nespremenljivih vrednsoti
cells(row, x)=val(i)*fact_1(j)+val(i+1)*fact_2(j)+val(i+2)*fact_3(j)
next row 'gremo na nasledno vrstico če obstaja (npr.:A2,B2,C2). X je št. stoplca kamor vsporedno zapisujem kombinacije
end
Zgodovina sprememb…
- spremenil: ALfonz ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | pomoč excel (strani: 1 2 )Oddelek: Programska oprema | 7941 (3518) | -JM- |
» | Excel Težava - fukncijaOddelek: Pomoč in nasveti | 2500 (2193) | smetko |
» | excell razvrščanjeOddelek: Programska oprema | 4117 (3761) | rferrari |
» | [Excel]Kako izvleči vrednost?Oddelek: Programiranje | 3783 (3506) | Mobidick |
» | Prosim za pomoč pri VBAOddelek: Programiranje | 2092 (1895) | apachee |