Select the product you need help with
Visual Basic-macro maken met Excel Oplosser in Excel 97Artikel ID: 843304 - Bekijk de producten waarop dit artikel van toepassing is. Op deze paginaSamenvattingDit artikel wordt beschreven hoe u Microsoft Visual Basic-macro's maken met Microsoft Excel Oplosser in Microsoft Excel 97. Microsoft Excel Oplosser is een invoegtoepassing van Microsoft Excel. Daarnaast bevat dit artikel informatie over het maken van macro's, het ontwerpen van een macro en werken met de beperkingen van een macro. In dit artikel wordt ook beschreven algoritmen en methoden die worden gebruikt door Microsoft Excel Oplosser. De volgende lijst bevat alle onderwerpen in het artikel.
INLEIDINGDit artikel bevat informatie over Microsoft Excel
Oplosser. Meer informatieBeschrijving van Microsoft Excel OplosserMicrosoft Excel Oplosser is een Microsoft Excel toevoegen in. Microsoft Excel Oplosser helpt u kunt bepalen van de optimale waarde voor een formule in een bepaalde cel in een Microsoft Excel-werkblad. Microsoft Excel Oplosser past de waarden van andere cellen die zijn gerelateerd aan de doelcel met een vergelijking. Nadat u een vergelijking maken en definiëren van parameters of beperkingen voor de variabelen in de vergelijking, probeert Microsoft Excel Oplosser diverse oplossingen te komen tot een het antwoord dat voldoet aan alle beperkingen. Microsoft Excel Oplosser maakt gebruik van de volgende elementen een vergelijking 'oplossen':
http://download.Microsoft.com/download/excel97win/solverex/1.0/WIN98Me/en-us/SolverEx.exe OpmerkingU kunt ook de macro's en de voorbeelden in dit artikel
artikel in Microsoft Excel versie 5.0 en 7.0.
(http://download.microsoft.com/download/excel97win/solverex/1.0/WIN98Me/EN-US/SolverEx.exe)
Microsoft Excel Oplosser-functies gebruiken in een VBA-macroDe functies van Microsoft Excel Oplosser gebruiken in een VBA-macro u moet verwijzen naar de invoegtoepassing uit het VBA-project van de werkmap die de macro's bevat. Als u niet verwijzen naar de Microsoft Excel Oplosser-invoegtoepassing, wordt de volgende compileerfout wanneer u de macro wilt uitvoeren:Compileerfout: Sub of functie niet gedefinieerd.
Het ontwerpen van een VBA-macro maakt en een eenvoudige Microsoft Excel Oplosser-model opgelostHoewel Microsoft Excel Oplosser vele functies, de volgende drie biedt functies zijn fundamenteel maken en het oplossen van een model:
De functie SolverOKDeSolverOKfunctie definieert een eenvoudige Microsoft Excel Oplosser-model. DeSolverOKfunctie is algemeen de eerste functie waarmee u uw Microsoft Excel Oplosser-model te maken. DeSolverOKfunctie is gelijk aanOplosserop deExtramenu en geven de opties die in deParameters Oplosserhet dialoogvenster. Het volgende is de syntaxis voor deSolverOKfunctie:SolverOK (MaxMinVal, ValueOf, ByChange SetCell) De volgende informatie beschrijft de syntaxis voor deSolverOKfunctie:
Figuur 1. Parameters die zijn gekoppeld aan deSolverOKargumenten Deze afbeelding samenvouwen ![]() De functie SolverSolveDeSolverSolvefunctie is het model met de parameters opgelost die u met deSolverOKfunctie. Uitvoeren van deSolverSolvefunctie is gelijk klikkenOplossenin deParameters Oplosserhet dialoogvenster. Het volgende is de syntaxis voor deSolverSolvefunctie:SolverSolve (UserFinish, ShowRef) De volgende informatie beschrijft de syntaxis voor deSolverSolvefunctie:
De functie SolverFinishDeSolverFinishfunctie geeft aan wat te doen met de resultaten en welk rapport maken nadat de oplossing is voltooid. Het volgende is de syntaxis voor deSolverFinishfunctie:SolverFinish (KeepFinal gelijk, ReportArray) De volgende informatie beschrijft de syntaxis voor deSolverFinishfunctie:
Deze afbeelding samenvouwen ![]() In dit artikel wordt beschreven hoe u een eenvoudige Microsoft Excel Oplosser-model interactief maken. De eerste stap is Maak uw werkblad voor het model. Het werkblad bevatten gegevenscellen en ten minste één cel een formule bevat. Deze formule is afhankelijk van de andere cellen in het werkblad. Nadat u het werkblad hebt ingesteld, klikt u opOplosserop deExtramenu. In deParameters Oplosserdialoogvenster Geef de doelcel, de waarde die u oplossen voor het cellenbereik dat wordt gewijzigd, en de beperkingen. Klik opOplossenu start de oplossing. Nadat Microsoft Excel Oplosser een oplossing heeft gevonden, worden de resultaten weergegeven in het werkblad en Microsoft Excel Oplosser verschijnt een bericht waarin u wordt gevraagd als u wilt bewaren van de definitieve resultaten of Als u deze verwijderen. Wanneer u een van deze opties klikt, wordt Microsoft Excel Oplosser is voltooid. Figuur 3 een eenvoudige model maken kunt met behulp van deze stappen ziet. Figuur 3. Een eenvoudige model: de vierkantswortel model Deze afbeelding samenvouwen ![]() In dit voorbeeld wijziging cel A1, waarin de formule = A1 ^ 2 waarde maken cel A2 gelijk aan de waarde 50. Met andere woorden, de vierkantswortel zoeken 50. Er zijn geen beperkingen in het model vierkantswortel. DeFind_Square_Rootmacro we de volgende taken:
De volgende code beschrijft deFind_Square_Root2macro: Rapporten genereren voor oplossingenMicrosoft Excel Oplosser biedt verschillende typen rapporten die beschrijven hoe de resultaten gewijzigd en hoe dicht de beperkingen op de kritieke waarden afkomstig. Elk rapport in een afzonderlijk werkblad in de werkmap geplaatst. Na zijn de typen rapporten dat Microsoft Excel Oplosser biedt:
Microsoft ExcelSolver-functies gebruiken in een macro samenvoegartikelIn veel gevallen is het verstandig Microsoft Excel Oplosser oplossen de cel voor meerdere waarden. U kunt dit meestal doen door een van de samenvoegartikel structuren die beschikbaar in VBA zijn.DeCreate_Square_Root_Tablemacro laat zien hoe Microsoft Excel Oplosser functioneert in een samenvoegartikel macro. DeCreate_Square_Root_Tablemacro maakt een tabel in een nieuw werkblad. Deze getallen een ingevoegd-10 en de bijbehorende vierkantswortel van elk nummer. DeCreate_Square_Root_Tablemacro maakt de tabel met eenVoorlus doorlopen van de getallen 1 tot en met 10 en lossen de cel in de vierkantswortel model voor een waarde die overeenkomt met het nummer van de iteratie. De volgende code beschrijft deCreate_Square_Root_Tablemacro: Figuur 4. Uitvoer wordt gegenereerd door deCreate_Square_Root_Tablemacro Deze afbeelding samenvouwen ![]() Werken met beperkingenEen beperking is een beperking van de inhoud van een of meer cellen. Een model kan een of meerdere beperkingen hebben. De beperking ingesteld is een instellen van ongelijkheden of de equalities bepaalde combinaties van waarden verwijderen voor de variabelen van het besluit van de oplossing. Zo kan een beperking vereisen dat één cel groter dan nul zijn en een andere cel bevatten alleen een geheel getal.De vierkantswortel model die we tot nu toe hebben besproken is een eenvoudige model geen beperkingen. Figuur 5 illustreert een model dat beperkingen gebruikt. Het doel van dit model is de optimale zoeken combinatie van producten voor maximale winst. Figuur 5. Productmix met leidde winstmarge Deze afbeelding samenvouwen ![]() Als een bedrijf produceert tv's, bijvoorbeeld stereo-installaties, en luidsprekers en het gebruikt een gemeenschappelijke onderdelenvoorraad van voedingen, luidspreker kegels, enzovoort. De onderdelen worden in beperkte aanbod. Uw doel is bepaalt de meest winstgevende mix van producten te bouwen. Uw winst per eenheid met volume verkleind omdat extra prijs stimuleringsmaatregelen vereist zijn voor het laden de distributiekanaal. De exponent diminishing resultaat is 0,9. Deze exponent voor het berekenen van de winst per product in het bereik G11:I11. Uw doel is de maximale winst (cel G14) vinden. De waarden die u de maximale winst zijn het aantal eenheden die u maakt wijzigen. De G9:G11 bereik vertegenwoordigt de veranderende cellen in dit model. De enige beperking is dat het aantal onderdelen dat u het aantal onderdelen dat u hebt niet overschrijden voorhanden. Met Microsoft Excel Oplosser deze beperking wordt weergegeven als E3:E7<=b3:b7. if="" you="" were="" to="" build="" this="" microsoft="" excel="" solver="" model="" interactively,="" the="" microsoft="" excel="" solver="" parameters="" would="" look="" similar="" to="" those="" that="" are="" in="" figure="" 6.=""></=b3:b7.> Figuur 6. Microsoft Excel Oplosser-parameters voor de productmix winstmarge leidde model Deze afbeelding samenvouwen ![]() Maken en de productmix winstmarge leidde model oplossen, gebruikt u een nieuwe functie, deSolverAddfunctie naast de Microsoft Excel Oplosser VBA-functies die zijn eerder is beschreven. DeSolverAddde beperking aan het model toegevoegd. Uitvoeren van deSolverAddfunctie is gelijk aan klikken op deToevoegenknop in deParameters Oplosserhet dialoogvenster. DeSolverAddfunctie heeft de volgende syntaxis: SolverAdd (CellRef relatie, FormulaText) De volgende informatie beschrijft de syntaxis voor deSolverAddfunctie:
OpmerkingIn Microsoft Excel 5.0 en 7.0, de R1C1-notatie gebruiken Wanneer u een cel of een cellenbereik met deFormulaTextargument. Gebruik daarentegen A1-stijl in Microsoft Excel 97 notatie opgeven deFormulaTextargument. Figuur 7. Velden die zijn gekoppeld aan deSolverAddargumenten Deze afbeelding samenvouwen ![]() DeMaximum_Profitmacro een model voor de productmix met Diminishing genereert Model retourneert. Deze macro wordt uitgevoerd de volgende functies of argumenten:
Bij het uitvoeren van deMaximum_Profitmacro Microsoft Excel Oplosser vindt een oplossing bouwen 160 televisies 200 stereo-installaties en 80 luidsprekers voor maximale winst van $14,917 dollar. Het wijzigen en verwijderen van beperkingenBeperkingen in uw model programmatisch kunnen worden gewijzigd of verwijderd. Beperkingen worden geïdentificeerd door hunCellRefenRelatieargumenten.Een bestaande programmacode wijzigen beperking gebruiken deSolverChangefunctie. Het volgende is de syntaxis voor deSolverChangefunctie: SolverChange (CellRef relatie, FormulaText) Dat de argumenten voor deSolverChangefunctie zijn
dezelfde die u met deSolverAddfunctie.Als u wilt beperking in de productmix Diminishing retourneert model wijzigen u gebruikt deSolverChangefunctie. Bijvoorbeeld momenteel de beperking die opgegeven aantal gebruikte onderdelen is kleiner dan of gelijk aan de aantal onderdelen op voorraad (E3:E7<= b3:b7).="" if="" you="" want="" to="" change="" this="" constraint="" so="" that="" the="" number="" of="" parts="" used="" is="" less="" than="" or="" equal="" to="" the="" number="" of="" parts="" projected="" (number="" of="" parts="" on="" hand="" plus="" number="" of="" parts="" ordered).="" this="" new="" constraint="" would="" look="" like="" e3:e7=""></=><= d3:d7.="" the="" following="" macro="" would="" change="" the="" existing="" constraint=""></=><=b3:b7 to="" e3:e7=""></=b3:b7><= d3:d7="" and="" solve="" for="" a="" solution.=""></=> De volgende code beschrijft deChange_Constraint_and_Solvemacro: SolverDelete (CellRef relatie, FormulaText) Dat de argumenten voor deSolverDeletefunctie zijn dezelfde die u wilt gebruiken met deSolverAdden deSolverChangefuncties. De volgende macro ziet u hoe te verwijderen en een beperking toevoegen. In dit voorbeeld deChange_Constraint_and_Solve2macro verwijdert de beperking E3:E7<=b3:b7 from="" the="" product="" mix="" with="" diminishing="" returns="" model="" and="" adds="" a="" new="" constraint.="" the="" new="" constraint="" is="" just="" a="" modification="" of="" the="" original="" constraint,="" where="" the="" left="" and="" right="" sides="" of="" the="" constraint="" are="" reversed.=""></=b3:b7> De volgende code beschrijft deChange_Constraint_and_Solve2macro: Laden en opslaan van uw modellenWanneer u een werkmap opslaat, de laatste parameters die u opgegeven in deParameters Oplosserhet dialoogvenster opgeslagen met de werkmap. Wanneer u de werkmap opent, de parameters zijn daarom de hetzelfde als wanneer u de werkmap laatst opgeslagen.U kunt definiëren meer dan één probleem voor een werkblad. Elk probleem bestaat van cellen en beperkingen die u invoert in deOplosser-Parameteren deOpties Oplosserdialoogvensters. Omdat alleen het laatste probleem met opgeslagen het werkblad verloren alle problemen tenzij expliciet opslaat ze. Opslaan, klikt u opModel opslaanin deOplosser Optieshet dialoogvenster. Evenzo als u wilt terugzetten de eerder opgeslagen parameters, klik opModel ladenin deOplosser Optieshet dialoogvenster. Oplosser-modellen worden opgeslagen in een reeks cellen in een werkblad. De eerste cel in het bereik bevat de formule voor de de doelcel. De tweede cel in het bereik bevat de formule geeft de veranderende cellen in het model. De laatste cel in het bereik bevat een matrix dat geeft de opties instellen in deOpties Oplosserdialoogvenster vak. Tussen de tweede cel en de laatste cel cellen bevatten formules die beperkingen in het model aangeven. Figuur 8 ziet u een model voor werknemers plannen. Stel dat u voor een kleine werkt de fabrikant. Deze tabel bevat een uurtarief van salaris, het nummer van de werknemer uren zij geplande en verwachte aantal eenheden van elke werknemer kan in één uur produceren. Uw doel is om te voldoen aan specifieke quota voor het aantal minimaliseren van de kosten van arbeid geproduceerde eenheden. Figuur 8. Werknemer Modus plannen l Deze afbeelding samenvouwen ![]() Twee extra factoren (of beperkingen) moet u Overweeg de minimum/maximum aantal uren een werknemer kan werken en het aantal eenheden dat u wilt produceren. Als voor een opgegeven week moet Nr. 3975 produceren wilt eenheden en u dat elke werknemer werkt tussen 30 en 45 uren, zou Microsoft Excel Oplosser parameters uitzien in de hieronder uiteengezette tabel: Deze tabel samenvouwen
Uw doelstellingen worden opgelost voor optimale arbeid kosten op een wekelijks Wekelijks elke model opslaan en laden van een wekelijks Wanneer u het model. In een macro Microsoft Excel Oplosser parameters voor een model kunnen worden opgeslagen en geladen met deSolverSaveen deSolverLoadfuncties respectievelijk. DeSolverSaveen deSolverLoadhebt u de volgende functies Syntaxis: SolverSave (SaveArea) SolverLoad (LoadArea) DeSolverSaveen deSolverLoadfuncties die elk hebben slechts één argumentSaveAreaen deLoadAreaargumenten respectievelijk. Deze argumenten opgeven een bereik op een werkblad waar de informatie is opgeslagen. De volgendeNew_Employee_Schedulemacro ziet u hoe maken, oplossen en een gebaseerd model opslaan gebruikersinvoer. De gebruiker wordt gevraagd om de datum van het model, het aantal eenheden voor de productie en het minimum en maximum aantal uren per werknemer. Deze gegevens wordt vervolgens gebruikt om het model te maken. Het model is opgelost en met de invoer van de gebruiker opgeslagen. De volgende code beschrijft deNew_Employee_Schedulemacro: Figuur 9 ziet u hoe het model opgeslagen informatie wordt weergegeven op het werkblad. Figuur 9. Model-informatie dat is opgeslagen door de macro New_Employee_Schedule Deze afbeelding samenvouwen ![]() DeNew_Employee_Scheduleelk nieuw model slaat macro het werkblad. DeLoad_Employee_Schedulemacro kan een van deze modellen opgeslagen laden. De macro wordt gevraagd de model laden en vervolgens kolom zoekopdrachten gebruiker ik voor de datum van het model. Als de datum van het model wordt gevonden, deLoad_Employee_Schedulemacro het overeenkomstige model geladen, is opgelost en vervolgens synchroniseert de uiteindelijke resultaten. De volgende code beschrijft deNew_Employee_Schedulemacro: Meer informatie over Microsoft Excel Oplosser zoekenDe volgende bronnen bieden informatie over Microsoft Excel Oplosser invoegtoepassing.
Hoe meer informatie over de algoritmen en methoden die worden gebruikt door Microsoft Excel OplosserMicrosoft Excel Oplosser maakt gebruik van de Generalized Reduced Gradient (GRG2) niet-lineaire optimalisatiecode die is ontwikkeld door Leon Lasdon van de universiteit van Texas in Austin en Allan Waren van de Cleveland State University.Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over het algoritme dat door Microsoft Excel Oplosser gebruikt: 82890
(http://support.microsoft.com/kb/82890/
)
Gebruik Oplosser generalized verlaagdLineaire en gebruik de simplexmethode met grenzen aan de variabelen en de filialen gebonden methode geïmplementeerd John Watson en Dan Fylstra, Frontline Systems, Inc. Voor meer informatie over het interne oplossingsproces door Oplosser contact: Frontline Systems, Inc. P.O. Box 4288 Incline Village, NV 89450-4288 (702) 831-0300 Web site: http://www.frontsys.com Electronic mail: info@frontsys.com Selecties van Microsoft Excel Oplosser programmacode zijn copyright 1990, 1991, 1992 en 1995 bij Frontline Systems Inc. delen zijn copyright van 1989 bij Optimal Methods, Inc. OpmerkingDe Microsoft Excel Oplosser-invoegtoepassing die wordt beschreven in dit artikel wordt geleverd "as is" en we niet garanderen dat kan worden gebruikt in alle situaties. Hoewel Microsoft ondersteuning Professionals kunnen helpen bij de installatie en de bestaande functionaliteit invoegtoepassing niet passen de invoegtoepassing nieuwe functionaliteit. GEEN GARANTIE. De software wordt geleverd "als-is, ' zonder enige garantie, en het gebruik van dit SOFTWAREPRODUCT is voor uw eigen risico. EigenschappenArtikel ID: 843304 - Laatste beoordeling: maandag 28 maart 2011 - Wijziging: 5.0
Automatische vertaling BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten. De Engelstalige versie van dit artikel is de volgende:843304
(http://support.microsoft.com/kb/843304/en-us/
)
|














Naar boven








