Az „Excel” fórum célja, hogy keretet adjon az Excel felhasználók széles táborának tapasztalataik megosztására, és lehetőséget a segítséget kérőknek. Az alábbi összefoglaló azért készült, hogy segítse a helyes kérdésfeltevést.
– Írd le szabatosan a problémát. Úgy fogalmazz, hogy ne csak te magad, de a szakértő is megértse, mire szeretnél választ kapni.
– Írd le, hogy milyen verziójú Excellel dolgozol. (Vagy ha nem – ill. nem csak – Excel, akkor micsoda?)
– Írd le, hogy milyen úton indultál el, és hol akadtál el rajta.
– A kérdés megértése szempontjából sokat segíthet, ha feltölteszt egy képet, amin látszik, hogy mit szeretnél, vagy illusztrálja azt.
– Még jobb, ha feltöltesz egy minta munkafüzetet valahová (pl. data.hu). Feltöltés előtt távolítsd el belőle a nem publikus adatokat.
– Ha a feladat jellege olyan, célszerű az "előtte" és "utána" állapotokat bemutatni. (Miből kellene csinálni mit?)
– Ha VBA kódon kell javítani, másold be a releváns kódrészt. Rövid kód mehet hozzászólásba, hosszú kód inkább ide: http://pastebin.com/
– Ha valami nem úgy működik, ahogy kellene, add meg a rendellenes viselkedés jellemzőit, a hibaüzenetet, és a hibát okozó programsort.
Ha syntax error, akkor az nem a makró hibája. Annál is inkább, mert a "dim wb1 as workbook" sor tökéletesen hibátlan.
Szerintem inkább arról van szó, hogy valami összegubancolódott a munkafüzetedben. Office dokumentumoknál előfordul az ilyesmi. Accessben is viszonylag gyakran megesik, hogy egy űrlap ismeretlen okból tönkremegy, és utána csak akkor tudod használni az adatbázist, ha minden egyes táblát, űrlapot és egyéb objektumot egyenként átviszel egy üres adatbázisba.
A helyedben azt tenném, hogy:
1) nyitok egy új, üres munkafüzetet
2) átmásolom a problémás munkafüzet lapjainak tartalmát egyenként az újba
3) bemásolom a használt makrót/makrókat is az újba
4) bezárom a régi munkafüzetet
5) elmentem az új munkafüzetet új néven
6) újraindítom az Excelt
7) megnyitom az új munkafüzetet és kipróbálom a hibásnak tűnő makrót
Esélyes, hogy működni fog, de ne kérdezd, hogy miért.
X db makróval bevitt szám közül 40% legyen -50, 29% 0, 15% 50, stb.
Megoldás: egy (A) oszlopba beviszek 40 db -50-et, meg a többit, összesen 100 db számot.
A makró egy cellában véletlenszámot generál 1 és 100 között, az A oszlop ennyiedik sorából viszi be a számokat a makró egy másik oszlopba. A bevitt mennyiség módosítható.
Nagyjából stimmel a százalékos arány, minél nagyobb a bevitt mennyiség, annál inkább.
Egy kis cifraság hozzá, hogy az új számsor tagjai mellé beírja, melyik kategóriába tartoznak (1-es a -50, 6-os az utolsó, a 200-as érték).
Én az A oszlopba betenném a szöveget (Céges Indormáció) a B oszlopba a link címét (www.micegunk.hu) textben, és csinálék egy makrót, ami az A-ban lévő szöveghez Beszúrás-Hivatkozás beteszi a B-ben lévő linket. Utána B törölhető.
Közben összeállt a fejemben, és éppen rátapintottál a lényegére, amire nekem szükségem van. 1-100 ig számokra, amik véletleszerű sorrendben vannak. Ehhez utána hozzárendelem a kategóriákat. Hogy tudom előállítani a véletlen sorrendű 1-100-ig terjedő számsort?
sajna rádió kavart meg, a webesek azt irták, egész héten szép idő lesz, majd először azt közölték a rádióban, hogy szerdától eső, majd webes előrejelzés és esti tv is azt mondta, hogy hétfőtől négy napig eső. Hát a hétfő-keddi kamu esőre sokalltam be, pláne a hétfői napomat kellett átszervezni, mert a csoport lemondta a kirándulást, hogy esőben nem jüó menni - simán mehettünk volna hétfőn, erre kedd-szerda kellett a hétfői dolgokat is megcsinálnom, napi 20 órás loholás értelmetlenül.:-((
szóval, nem én, hanem a csoport többsége, és nem öltem meg egy meteorológust ser, mert egyrészt a weboldalak mögött többnyire nem meteorológusok vannak, hanem reklámmarketingetek, akik bevételt akarnak, ehhez nagy kattintási arány kell, másrélszt annyit kapnék értük is, mint egy rendes emberért, nem éri meg.:-(
Egy oszlopba 40 cellába beviszel egy randbetween függvényt, ahol megadod az alsó és felső értéket, mondjuk 100 és 200. A mellette lévő cellákba 250 és 300 közötti értéket adjon a rbw.
A következő 2×29 cellába is megadod az eléggé eltérő véletleneket. És így tovább a 15-höz, és a többihez is.
Legyen a két segédoszlop az A és B.
A C oszlop képlete: =RANDBETWEEN(A1;B1), ezt lemásolod.
E1-be írtam a feltételt, ami A, B, C, D és E lehet.
Most egy egymásba ágyazott Ha függvény következik, aminek csak az első két tagját írtam le (azt is két sorba szedve).
Én az eszközök menü bővítménykezelőben az Analysis ToolPak és az Analysis ToolPak VBA funkciókat telepítettem. Aztán eszközök/adatelemzés elérhető és ott lehet mahinálni ezekkel a generálásokkal. :)
Igazából én nagyon nem értek hozzá, de ha el tudod mondani, hogy milyen infora van szükség a megoldáshoz, akkor azokat kiötlöm. Amit a problémáról magam tudok azt már leírtam sajnos. :)
A roundbtw nem lesz elég, mert ennél összetettebb a probléma.
Ha jól értem, akkor először ki kell számolni a megfelelő eloszlással az eloszlási görbét (STDEV, AVERAGE) és utána meg kell nézni, hogy milyen szám mekkora valószínűséggel esik a görbére (NORMDIST, ha jól emlékszem).
Viszont a statisztikai részét sokkal de sokkal jobban kell érteni, mint amennyire én értem, ahhoz, hogy segíteni tudjak.
Most próbálgatom a véletlenszám generálást, de mindegyiknél az a probléma (a vél() függvénynél is), hogy azonos valószínűségeket rendel a hat kimenet előfordulásához. Nekem pedig minden egyes kimenethez egyéni valószínűség van megadva a táblámban. Ezeket kellene rendelnem a kimenetekhez egyedileg és ennek megfelelően csinálni a véletlenszám generálást.
Az én esetemben a végeredménynek 100 véletlenszám esetén:
1. kat. 40
2. kat. 29
3. kat. 15
4. kat. 9
5. kat. 5
6. kat. 2
A kategóriák ilyen számban, véletleszerű sorrendben fordulnak elő a 100-as mintában. Na ezt nem tudom megoldani... :) De nem adom fel! :D