Keresés

Részletes keresés

Klub19111 Creative Commons License 2019.05.08 0 0 32775

Hát, passz, szabad a gazda:
Mik azok a szögletes zárójeles megoldások?


Az index függvényes megoldásnak is csak egy részét tudtam követni.


Hogyan lehetséges másik tábláról is kiválasztani listaelemet és mekkora a korlát?


Ha kilóg a képernyőröl, görgetni kell, vagy lesz abc-s keresési lehetőség, ha S-el kezdődőt ne kelljen egyesével végiggörgetni?

Előzmény: Delila10 (32729)
Veeyyl Creative Commons License 2019.05.08 0 0 32774

Hát igen, akkor ez felejtős. Köszi.

Előzmény: Eredő Vektor (32773)
Eredő Vektor Creative Commons License 2019.05.08 0 0 32773

Ezt a módszert felhasználói szinten elfelejtheted szerintem.

Meg lehet csinálni. INDIREKT fgv-t szoktak erre használni és működik a munkafüzetetet változóvá téve.

Ez egy jó leírás - de ajánlom figyelmedbe a végén a  "megjegyzést" (Tehát, hogy az indirektben hivatkozott munkafüzetnek nyitva kell lennie)

 

https://exceljet.net/formula/dynamic-workbook-reference

 

 

 

Előzmény: Veeyyl (32772)
Veeyyl Creative Commons License 2019.05.08 0 0 32772

Sziasztok, ismét a segítségeteket kérném.
Egy szabadság nyilvántartó táblát finomítgatok és szeretnék egy olyan felületet készíteni ahol a user kiválaszt egy nevet és az arról a névről elnevezett fájlból befrissíti az adatokat
Mellékelek egy képet, hogy átlátható legyen.
Tehát ha A1 ben kiválasztom a nevet (az egy legördülő cella) akkor a B3 cellában a gipsz jakab.xls helyett a legördülőben kiválasztott nevű fájlból töltse be az adatokat.
Sehogy sem tudok rá hivatkozni, hogy a fájl direkt neve helyett az A1-ből vett adat legyen a cél fájl neve.

Köszi előre is!

James 42 Creative Commons License 2019.05.08 0 0 32771

Köszi! Elsőre azt mondtam, hogy fogalmam sincs, mi lehet az oka, én nem vagyok olyan nagy Excel guru, és adtam három nevet, akik talán tudnak segíteni. Nemrég arra jártam, és meg akartam kérdezni, hogy megoldódott-e a probléma, de éppen beszélgetett valakivel, így csak üzenetet hagytam, hogy erről érdeklődtem. Ha megint szól, hogy még mindig gond van, akkor elkérem ezt a táblázatot, és megpróbálom ezeket ellenőrizni.

Előzmény: Sánta Kutya (SK) (32770)
Sánta Kutya (SK) Creative Commons License 2019.05.08 0 0 32770

Hát az egy kb. a "fáj a hasam, mitől van?" kérdés.

Meg kell nézni, milyen adatérvényesítés van abban a cellában, nevet vagy cellatartományt tartalmaz-e, hova mutat, ott még megvan-e az az adat, a név még a megfelelő tartományra mutat-e.

Előzmény: James 42 (32769)
James 42 Creative Commons License 2019.05.08 0 0 32769

Az egyik kolléganő gépén Office 2010 van. Kapott egy táblázatot xlsx-ben, és annak egy vagy több cellájában állítólag egy legördülő listának kellene lennie, amiből ki lehetne választani a megfelelő értéket. Igen ám, de nem látszik a lista, és ha rákattint a cellára, akkor sem történik semmi. Nem látszik, hogy védett nézetet látna. Akkor mi lehet ennek az oka? Van olyan, hogy ott van a legördülő lista, és valami beállítás miatt mégsem látszik?

Veeyyl Creative Commons License 2019.05.08 0 0 32768

Szerintem nem lesz gond vele :) Nagyon köszönöm még egyszer!

 

Előzmény: Törölt nick (32767)
Törölt nick Creative Commons License 2019.05.08 0 0 32767

Volt egy ilyen gyanúm :-)

Azt írták az okosok, hogy ilyenkor valószínűleg "elfoglalt" az Excel, és nem ér rá azzal foglalkozni, amit kérek tőle, hanem visszadobja kérést. De amikor legközelebb próbálkozol, addigra valószínűleg már túljutott a nagy elfoglaltságon, így a hiba nem jön elő többé.

 

De ha mégis előjön, bármikor, akkor javaslom, hogy ismételd meg a keresési műveletet változatlan feltételek mellett, pusztán a Keresés (vagy hogy neveztem el) gomb újra megnyomásával. Feltételezem, hogy annak a munkafüzetnek az átvizsgálása, amelyiknél a hiba jelentkezik, a hiba miatt nem lesz teljes, így a keresési eredmény sem lesz teljes.

 

Segítség alatt meg azt értettem, hogy ha tudod reprodukálni a hibát, akkor küldd el nekem a teljes tesztkörnyezetet (fájlokat, kereső- és jelszavakat), hogy fel tudjam deríteni a jelenséget. De ez most már nem aktuális, azt hiszem.

Előzmény: Veeyyl (32766)
Veeyyl Creative Commons License 2019.05.08 0 0 32766

Igaz, azóta én sem tudom reprodukálni a hibát, ugyanazokat a szavakat beírva sem ad hibát,(és még 10 keresés után sem) szóval, lehet hogy gép-állapot függő volt a "hiba".

Persze, szívesen segítek ha tudok...

Előzmény: Törölt nick (32765)
Törölt nick Creative Commons License 2019.05.08 0 0 32765

Csak tippelni tudok, hogy mit jelent a hibaüzenet. Nem hinném, hogy a 4 szó miatt van, 5 szóval is teszteltem, és simán vitte. Abból kiindulva, amit a neten találtam az rpc_e_call_rejected -re keresve, még az sem biztos, hogy tudod reprodukálni. De ha te tudod is reprodukálni, én biztosan nem, így kivizsgálni sem, hacsak nem segítesz benne.

Előzmény: Veeyyl (32763)
Veeyyl Creative Commons License 2019.05.08 0 0 32764

Akkor adta a hibaüzit ha 4 kereső szót adtam meg. nem tudom ennek az infónak mennyi jelentősége van :)

Előzmény: Veeyyl (32763)
Veeyyl Creative Commons License 2019.05.08 0 0 32763

Igen így már működik :) Ez gyakorlatilag meg is oldja a problémát. Nagyon szépen köszönöm !!!

Annyi infó még, hogy tesztelés közben adott egy hibaüzit (mindemellett az eredmény jó lett)

 

 

Előzmény: Törölt nick (32760)
Törölt nick Creative Commons License 2019.05.08 0 0 32762

Pontosítsunk a fogalmakon, a közös nyelv érdekében.

A "munkafüzet" az az excel fájl maga, aminek valami.xlsx a neve.

A munkafüzet egy vagy több "munkalapot" tartalmaz. A Munkalap az az 1048576 x 16384 cellát tartalmazó nagy cellatér, amelyeket sokan "füleknek" neveznek, és alapértelmezésben a Munka1, Munka2, stb. nevet kapják.

A táblázat pedig a munkalapon egy teszőleges téglalap alakú cellatartomány.

 

Ha jól értem, akkor azt szeretnéd, hogy a munkafüzeted 3. lapjára, bizonyos cellákba fixen bekerüljenek adatok. Az általad leírt viselkedés természetes, a cellába írt képlet a bemenő paraméterek változása után aktualizálja az értékét. A célod elérésére két lehetőséget látok:

1) ha a számításhoz szükséges feltételek/adatok a 3. munkalapon is adottak, akkor nem a 2. munkalapon kellene mókolni a napi teljesítmény manuális kiszámolásával, hanem a 3. munkalapon a kívánt cellába kellene beírni azt a képletet, amely ezt kiszámolja.

2) Ha ez nem lehetséges, akkor egy makró (programkód) tudná a manuálisan kiszámolt értéket áttenni a megfelelő helyre. A makró megírásához több infó kellene, a munkalapok felépítéséről, pl. mit kell áttenni, mi alapján lehet megtalálni a cél cellát, stb.. Ezen kívül meg kellene határozni, hogy milyen akcióra vagy történésre induljon a makró. Ez lehet gombnyomás, duplakatt egy adott cellára, a munkafüzet mentésa, vagy sok minden egyéb is.

 

Előzmény: mrssimon (32761)
mrssimon Creative Commons License 2019.05.08 0 0 32761

Sziasztok!

 

Segítséget szeretnék tőletek kérni. Nem vagyok profi exceles, de próbálom az életem megkönnyíteni.

 

Kérdés: hogyan lehet megoldani, hogy eredmény kerüljön át egy munkafüzetre?

 

A kiinduló, egy táblázatban három munkafüzet van. Az első az adatokat tárolja (termékek, normatívák, nevek, dátum lista). A második munkafüzeten van két lista érvényesítés egy dátum és egy név. Ez legördíthető ennyi. 

 

Azt szeretném elérni, hogy ha kiválasztom a dátumot a listából, a nevet a listából és az alatta lévő részen a napi teljesítményt kiszámolom, akkor a harmadik munkafüzetbe a szintén kiválasztott naphoz és személyhez rendelje azt az összeget a dátum név metszésében lévő cellához, és az eredmény maradjon is ott meg állandó jelleggel.

 

Remélem megfelelő volt a leírás. Nem nagyon találtam rá megoldást, mert megpróbáltam, de abban a pillanatban hogy a második munkafüzeten a listán nevet és dátumot váltok kitörli az eredményt.

 

Előre is köszönöm, az elolvasást is. :)

 

 

Törölt nick Creative Commons License 2019.05.07 0 0 32760

De nem is kell, azt hiszem megvan, teljes cellatartalomra kerestem. Na de itt egy javított változat.

https://data.hu/get/11816003/szokereso_v1001.exe

 

Előzmény: Törölt nick (32759)
Törölt nick Creative Commons License 2019.05.07 0 0 32759

Fel tudnád tölteni valahová azt a jelszavas fájlt, amiben a programom nem talált meg semmit? És megírni, hogy mit kell keresni benne? Letesztelném, hogy miért nem működik, Nekem ugyanis mindig megtalálta, amit kellett.

Előzmény: Veeyyl (32758)
Veeyyl Creative Commons License 2019.05.07 0 0 32758

Elsőre úgy gondoltam, de csak azért mert nem tudtam, hogy úgy bonyolultabb :)

Majd egy szimpla másolással megoldom, hogy a fájlok egy könyvtárban legyenek, az nem gond.

 

 

A szókereső program tesztelése során arra jutottam, hogy a jelszóval védett fájlban nem találja meg a keresett stringet, amellett, hogy a megnyitható oszlopban az igaz szó szerepel. Tehát elvileg a jelszavast is meg tudja nyitni. A jelszót nem ronthattam, el, teszt jelleggel csak egy "a" betű volt.

(3db xls fájlt csináltam, az egyik nem jelszavas, a másik kettő jelszavas eltérő tartalommal, de a nem jelszavas adatai is szerepelnek bennük, a nem jelszavasban megtalál mindent, a jelszavasokban semmit).

Pedig ez a bekérős formula nagyon jó lenne, a még nálam gyengébb userek is használni tudják :)

Előzmény: pimre (32754)
James 42 Creative Commons License 2019.05.07 0 0 32757

Mármint mire nincs kész megoldás? Hiszen Te magad írtad nemrég, hogy a Jimmy által küldött szókereső program elvégzi a dolgot. Én nem próbáltam ki, csak elhittem. Ha tényleg elvégzi, akkor minek kellene ezen görcsölni?

Előzmény: pimre (32756)
pimre Creative Commons License 2019.05.07 0 0 32756

Jogos. Ha szükséges lesz, és nincs kész megoldás rá valahol, akkor megpróbálom. Egyébként a permutációra végül a saját szórakoztatásom céljából megcsináltam. Így már több elem permutálása is megoldható lenne. Csak nem tettem közkinccsé. Gyakorlati haszna úgysem sok lenne.

Előzmény: Sánta Kutya (SK) (32755)
Sánta Kutya (SK) Creative Commons License 2019.05.07 0 0 32755

Szép példa lenne a rekurzióra. :-)

Előzmény: pimre (32754)
pimre Creative Commons License 2019.05.07 0 0 32754

Pontosítom a kérdést: Remélem, nem úgy gondolod, hogy az adott könyvtár összes alkönyvtárában, meg azok alkönyvtáraiban? Mert az túl bonyolult lenne. 

 

A legjobb, ha egy könyvtárban összegyűjtöd a fájlokat. Az nem lesz gond.

 

De ha több könyvtárról van szó, akkor kellene egy lista azokról a könyvtárakról, amelyekben keresni kell a fájlokat. Ez a lista lehetne a programot tartalmazó munkafüzet egyik munkalapján, aminek legyen a neve például "Könyvtárak". Ebben az esetben az eredményt tartalmazó munkalapnak is adjunk nevet, mondjuk "Találatok" (De a neveket majd tetszésed szerint írd meg).

 

Ez alapján meg tudom oldani a programban, az automatikus keresést.

 

Egyébként a Jimmy által küldött szókereső program elvégzi ugyanezt. Megadod a könyvtárat. Szkenneled (ekkor végigmegy az alkönyvtárakon, kigyűjti a fájlokat). Aztán megadod a keresendő kifejezést, a használt jelszót/jelszavakat, majd egy új munkafüzetbe listázza az eredményt.

Előzmény: Veeyyl (32752)
James 42 Creative Commons License 2019.05.07 0 0 32753

Ha az segít, a dir /s parancs kilistázza őket. Bele lehet íratni a listát egy szövegfájlba is, például:

 

dir /B /S *.xl* > xls.txt

Előzmény: Veeyyl (32752)
Veeyyl Creative Commons License 2019.05.07 0 0 32752

WOW, ez működik :) 

Már szinte csak annyi kellene, hogy egy adott könyvtárban (pl d:/) minden xls, vagy xlsx fájlban keressen.

 

 

Előzmény: pimre (32748)
Törölt nick Creative Commons License 2019.05.06 0 0 32751

Nézd meg, hogy ezt tudod-e használni.

https://data.hu/get/11814710/szokereso.exe

Előzmény: Veeyyl (32746)
Törölt nick Creative Commons License 2019.05.06 0 0 32750

Hát, én nem próbáltam ki... szóval lehet, hogy kamu. De ez furcsa, mert nem találtam más, hasonló applikációt, pedig nem tűnik olyan egetrengetőnek a feladat.

Előzmény: pimre (32745)
Törölt nick Creative Commons License 2019.05.06 0 0 32749

Mit is szokás erre mondani? Amíg élünk, remélünk? :-)

Előzmény: zsófi_01 (32747)
pimre Creative Commons License 2019.05.06 0 0 32748

Na akkor küldök egy mintát, hogy milyen úton tudnál elindulni. Persze nem ismerem az adatállományaidat, ezért a programban kézzel kell meghívnod a fájlokat. Ezt nyilván több száz fájllal nem fogod megtenni. De ha majd kitalálsz egy eljárást, hogy milyen módon lehet majd programba írni a feldolgozandó fájlok listáját, ahhoz már könnyű lesz hozzáigazítani a programot.

 

Szóval nyiss egy új excel munkafüzetet, és a következőt másold be a VBA ablakba. A legelső sorban az x-ek helyére írd be a jelszavadat és a keresendő kifejezést.

 

A program kéri, hogy válaszd ki a fájlokat (később majd ezt automatizálhatjuk), megnyitja azokat, végignézi azok munkalapjait, és ahol talál egyezőt, úgy az

A oszlopba kiírja találatokat (munkalaponként csak az elsőt, de ezt is lehet módosítani).

 

Próbáld ki néhánnyal, aztán ha ez jó, akkor majd térjünk vissza az automatizálásra.

 

Const jelszo As String = "xxxx", keresokif As String = "XXXX"

Option Explicit

Sub beolvas()

    Dim hely As String, aktwb As Workbook, aktws As Worksheet, kiirws As Worksheet, filenev As Variant, utolsosor As Long, mf As Long, sor As Long, _

        eredm As Range, mfnev As String

    Set kiirws = ThisWorkbook.Worksheets(1) ' Ide írjuk ki az eredményeket

    utolsosor = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

    kiirws.Range("A1:A" & utolsosor) = "" ' Az első oszlop adatainak törlése

    hely = "C:"

    sor = 0

    While filekival(hely, filenev)

        Set aktwb = Application.Workbooks.Open(filenev, Password:=jelszo)  ' Ez meg is nyitja

        hely = Left(filenev, Len(filenev) - Len(aktwb.Name))

        For mf = 1 To Sheets.Count

            Set aktws = aktwb.Sheets(mf)

            Set eredm = aktws.Cells.Find(what:=keresokif)

                 ' Ezekkel lehet még pontosítani a keresést: LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=True

            If Not eredm Is Nothing Then

                sor = sor + 1

                mfnev = aktwb.Name & " munkafüzet, "

                kiirws.Cells(sor, 1) = mfnev & aktws.Name & " munkalap: " & eredm.Row & ". sor " & eredm.Column & ". oszlop"

                mfnev = Space(Len(mfnev)) ' Hogy másodszorra már ne írja ki

            End If

        Next mf

        Application.DisplayAlerts = False

        aktwb.Close

        Application.DisplayAlerts = True

    Wend

End Sub

'****************************************************************************************

'                            File kiválasztás GetOpenFilename paranccsal

'****************************************************************************************

Function filekival(path As String, filenev As Variant) As Boolean

ChDrive Left(path, 1)

ChDir path

filekival = False

filenev = Application.GetOpenFilename(FileFilter:="Excel files, *.xls*", Title:="File bekérés")

If filenev <> False Then ' Azért kell variant változó, mert lehet a tartalma string, de lehet False is

    filekival = True

End If

End Function

Előzmény: Veeyyl (32746)
zsófi_01 Creative Commons License 2019.05.06 0 0 32747

Hát én nem is tudom mit mondjak.... nagyon szépen köszönöm, kb 2 órás melóval rendezve van minden..... na nem mintha érteném a függvényedet... de köszönöm😅 

Előzmény: Törölt nick (32683)
Veeyyl Creative Commons License 2019.05.06 0 0 32746

Nem, nem erre készülök, tudom a jelszót a fájlokhoz!! , csak sok-sok fájl van sok-sok adattal, és neveket kell keresni bennük.

Már reggel óta próbálgatom a neten talált megoldásokat, de egyik sem oldja meg teljesen a problémát.

Előzmény: pimre (32743)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!