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.
Tetszik, nem probaltam ki de ha jol latom ez felig meddig rogzitett makro es az iranyitott szurot hasznalja az egyedi ertekekkel - es most mar legalabb tudom hogy ez erre jo:) koszonom, ezt fogom hasznalni, ez jobb.
Lehet, hogy ezt is tudod használni, találtam egy olyan makrokódot, ami a kiválasztott tartományból eltávolítja az ismétlődéseket. Ugyanazon tartományban keletkezik az ismétlődések nélküli eredmény, és így már az átalakított tartományon a nagy() kicsi() függvényeket a kívánt módon lehet használni. Egy gombot hozzárendelve használható:
Beépített űrlapon az excel beépített űrlapkezelőjére gondoltam, mert ott lehet lépegetni a rekordok között, törölni, stb. De ha azt bekapcsolom, nem tudok menteni meg elrejteni lapot, amig az űrlapkezelő ott van. Ezekszerint nekem kell megírni az űrlapkezelőt vb-ben?
stringesítés után simán összehasonlíthatók. A stringesítés viszont manuálisan babrás, bár írható rá makró. A topik is tartalmaz egyet, csak nem tudom hol. Elég régen volt.
Azt nem lehet megoldani, amit írtam, hogy a beépített űrlap megjelenjen a doksi nyitásakor és kötődjön egy másik munkalap tartományához?
De igen. Először elrejted az adatbázis munkalapját Formátum/Lap/Elrejtés és az űrlapra állsz és úgy mented el. Mentés előtt esetleg munkalapvédelmet, füzetvédelmet is bekapcsolhatsz, ízlés szerint.
Gondolom, valami olyan dolgot akarsz, hogy pl a típust listából lehet kiolvasni. Erre jó az Adatok/Érvényesítés.
Itt egy VBA fuggvény, mely visszaadja az egyedi értékeket egy oszlopban (Ctrl+Shift+Enter-es!!)
Function UniqueRange(InputRange As Range) As Variant Dim cl As Range, cUnique As New Collection, cValue As Variant Dim result() As Variant
Application.Volatile On Error Resume Next For Each cl In InputRange If cl.Formula <> "" Then cUnique.Add cl.Value, CStr(cl.Value) End If Next cl ReDim result(cUnique.Count - 1) For i = 1 To cUnique.Count result(i - 1) = cUnique(i) Next i UniqueRange = Application.WorksheetFunction.Transpose(result) On Error GoTo 0 End Function József
Kösz, sajnos nem működött. Ennek oka, hogy totál lüke vagyok a VB-hez:)
RTFM
Jó lenne nekem a normál űrlap is úgy, hogy ha megnyitják a munkafüzetet, egyből ott legyen az egyik munkalapon, ne kelljen bekapcsolni és persze kötődjön a másik munkalapon lévő
Ez speciel erre jó.
Akkor lépésenként a képeid alján:
1. Az adatbázist elnevezed Adatbazis névre:
Kijelölöd A1:D5 tartományt, a Név mezőbe beírod: Adatbazis, majd Enter
2. Visszamész az űrlap munkalapra, átnevezed a munkalapot Űrlap-nak.
3. Alt+F11 behozod a Visual Basic szerkesztő, ott kiválasztod az Insert/Module menüpontot.
4. Bemásolod a HozzAd makrót a hozzászólásomból, és bezárod Visual Basic szerkesztőt.
5. megjeleníted a Űrlap eszköztárt (Nezét/Eszköztár/Űrlapok menüpont), kiválasztasz egy nyomógombot az eszköztárról és felrajzolod az űrlap munkalapra.
6. A gomb kérni fogja a hozzárendelt makrót. ide meg adod a HozzaAd-ot. Mindent le OKzol.
pfff, kozben megoldottam a problemat pivot tablaba helyezve az ertekeket tartalmazo oszlopot, igy ugye nem ismetlodnek. csak igy nem tetszik es lassito tenyezo is...
Kösz, sajnos nem működött. Ennek oka, hogy totál lüke vagyok a VB-hez:)
Jó lenne nekem a normál űrlap is úgy, hogy ha megnyitják a munkafüzetet, egyből ott legyen az egyik munkalapon, ne kelljen bekapcsolni és persze kötődjön a másik munkalapon lévő listához vagy tartományhoz.
Vagy van más ötlet, hogy hogyan lehet jól kinéző beviteli lehetőséget teremteni egy sokoszlopos listához?
Utólag elolvastam amit írtam és inkább újrafogalmaznám a kérdésem:
Van egy lekérdezés fájl ami 4 különböző fájlból szedi össze az adatokat. Ez a 4 fájl állandóan nyitva van így csak olvasásra tudja megnyitni (ami teljesen elégséges). Már itt probléma van mert mindig feldobaja az ablakot, hogy használatban van így is meg kívánom-e nyitni (persze, hogy szeretném). Ez volt az első fele kérdésemnek! A második pedig amikor kimásolta az adatokat a 4 különböző fájlból megkérdezi, hogy akarom-e menteni. De mivel csak olvasásra nyitottam meg így nem menthető csak újként, de ezt nem akarom, tehás mentés nélkül szeretnék kilépni.
Azt nem tudom, hogy miért nem jó az Űrlap funkció, de a másik javaslatom a VBA makró userform-mal vagy sima nyomógombbal.
Itt egy egyszerű makró a nyomógombhoz (Az adatbázis tartományt elneveztem Adatbazis-nak, az képeden látható űrlapról feltételeztem, hogy az Űrlap munkalapon van.
A statisztika függvényekben nincs "holtverseny". Az adatsort sorban rendezi, úgy hogy ahol ismétlődő értékek vannak, ott azok egymásutáni helyre kerülnek.
Lásd még MEDIÁN, KVARTILIS függvényket (pl egy csupa "1" ból álló adatsor mediánja , összes kvartilisa is "1".)
Tehat ha a "k" 1-tol n-ig tart, akkor nem rendezi sorba a tombot, hanem az ismetlodo
Ha nem így lenne, akkor nem 1-től n-ig, hanem 1-től n-valamennyi-ig tartana a sorszám.