< návrat zpět

MS Excel


Téma: Makro - Goal seek rss

Zaslal/a 13.6.2011 16:27

Dobrý den,

potřeboval bych radu,

potřebuji napsat makro na hledání řešení, jehož řešení bude záležet na hodnote v učité bunce např, pokud je v bunce A1, bude goal seek hledat hodnotu 100, pokud tam bude 2 tak bude hledat 200 atd,

můžete prosím pomoci?

děkuji předem,

Jirka32

Zaslat odpověď >

icon #005245
Poki
OK,
bude se hledat hodnota zadana v A1 (nasobena stem).
Ale kde se ma hledat, muze tech hodnot byt vice? CO ma byt vystupem???
Zkuste prilozit vzorovy soubor a naznacit, ceho byste rad dosahl...citovat
#005246
avatar
Dd, nejde mi přiložit příloha...

To si asi nerozumíme, myslím to takto:
Range("c3").GoalSeek Goal:=10000, ChangingCell:=Sheets("list1").Range("C1")

klasické makro na goal seek, potřebuji, když je v bunce třeba A1 hodnota 1 aby výslekdem bylo 10 000, pokud tam bude 2, aby byl výsledek třeba 20 000 atd, samozřejmě že se jako proměnná bude c1. Zkrátka aby hodnota, která se dává do goal seeku natvrdo, reflektovala onu bunku A1 a měnila se dle toho,

potřeboval bych tak 5 podmínek, ale to už je pak asi jedno

děkuji moccitovat
icon #005247
Poki
Tak ja opet nevim, co vlasnte chcete, protoze pokud uz chcete pouzivat goalseek, tak mu musite rict, jakym zpusobem ma iterace pouzit (dat mu vzorec)
V priloze najdete mozne reseni.

Pokud bych mel pouzit vas priklad:
Range("c3").GoalSeek Goal:=10000, ChangingCell:=Sheets("list1").Range("C1")


Range("C3") musi obsahovat vzorec, ktery bude navazan na bunku Range("C3") - ta musi byt prazdna, postupne se do ni doplnuji jednotlive iterace, dokud neni dosazeno hodnoty Goal (10 000), ktera muze byt samozrejme definovana ruzne (na zaklade podminek atd).

Zkuste se podivat do prilohy a kdyztak se ozvete...

Btw. priloha musi byt zazipovana!citovat
#005248
avatar
Dd, tak snad už příloha projde,

tam je to vysvětleno,

děkuji,

Jirka
Příloha: zip5248_goalseek.zip (14kB, staženo 19x)
citovat
#005252
avatar
S tvého zadání jsem nepochopil co chceš, resp. jaké má býd řešení v tabulce. Funkce Range("c3").GoalSeek Goal:=10000, ChangingCell:=Sheets("list1").Range("C1") neodpovídá tomu, co je v tabulce vlož tedy modul a případně si uprav tak aby vyhovovalSub HledejReseni()
Dim Pom
With ActiveSheet
Select Case .Range("A1")
Case 1
Pom = 10000
Case 2
Pom = 20000
Case 3
Pom = 30000
Case Else
Pom = .Range("A1") * 10000
End Select
.Range("d3").GoalSeek Goal:=Pom, ChangingCell:=.Range("d1")
End With
End Sub
citovat
icon #005253
Poki
Obavam se, ze jste to v priloze nevysvetlil vubec.

Prectete si muj prispevek vyse - tam se dozvite jak pouzit GoalSeek - musite mu do bunky C3 dat vzorec, ktery se bude pouzivat.

Logika je takova, ze excel pomoci Iteraci (do bunky ChangingCell) postupne navysuje hodnotu v bunce ChangingCell (hodnota v ni se tedy meni) dokud neni v bunce C3 dosazeno pozadovane hodnoty (Goal).

Musite tedy mit VZOREC odkazujici se na bunku ChangingCell.

Je uplne jedno, jak definujete hodnotu Goal, podminek muze byt spousta!citovat
#005254
avatar
Romane, Poki

díky moc, já tam vložil sloupec, proto makro neodpovídalo sloupcům, každopádně tvůj návod s podmínkami Case fachá naprosto přesně :-) Předpokládám, že podmínek "Case" tam mohu vložit "neomezeně krát"

Pánové, oběma velké díkycitovat
#005257
avatar
Samozřejmě podmínek Case může být více, nevím kolik je limit, ale psát desítky podmínek je blbost to je lepší je vyhledávat.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