Keresés

Részletes keresés

t.lantos Creative Commons License 28 órája 0 0 38666

Majd ha lesz idom, molyolok rajta, aztan majd jelentkezem :)

Előzmény: Fferenc50 (38665)
Fferenc50 Creative Commons License 28 órája 0 0 38665

Szia!
Tegyél fel egy mintát elérhetően valahová és megnézzük.

Üdv.

Előzmény: t.lantos (38664)
t.lantos Creative Commons License 1 napja -1 0 38664

Rendesen beirok honapot, napot is.

Es a cellaformatum szepen eeee.hh.nn-re allitva.

A regi adatoknal mukodik is, ha ujat irok be (csak az evet javitom 25-rol 26-ra, mar elszurja.

Majd megnezem a rendszerbeallitasiknal, ezek az idiotak minden jol mukodo dolgot elb.sznak.

Az alt-tab-ot is tonkrevagtak

Előzmény: Fferenc50 (38662)
Garashan Creative Commons License 1 napja 0 0 38663

Szia!

Valamiért nem ismeri fel, hogy dátumot próbálsz meg bevinni.

Szerintem a következő a probléma: el van állítva a rendszer dátum formátuma vagy nem annak megfelelően próbálod bevinni a dátumot.

Nincs W11-em, de ha ugyan ott vannak a beállítások, akkor jobb klikk a tálcán a dátumon, majd "Dátum és időbeállítások", ott "Dátum, idő és regionális beállítások", majd "Adatformátumok módosítása", majd "További dátum-, idő- és területi beállítások", ott "Dátum, idő és számformátumok módosítása", majd "További beállítások", "Dátum" fül és itt láthatod a rövid és hosszú dátumformátumokat. Ezt módosítsd a neked megfelelőre és ennek megfelelően vidd be a dátumokat az excelbe. Ő ezeket fogja dátumként felismerni.

2026 amúgy 1905.07.18-ának felel meg.

Előzmény: t.lantos (38661)
Fferenc50 Creative Commons License 1 napja 0 1 38662

Szia!

Önmagában 2026 dátum értékben teljesen korrekten 1905.07.18, mert az Excel dátum kezdete (1900.01.00) a 0 pont és attól számítva pontosan 2026 nap elteltével ez a dátum értéke.

Az Excel ugyanis minden dátumot (és időt) számként tárol, a dátum formátumot pedig így kezeli: Az egész szám a napokat, a számok tört része pedig a napon belüli időt jelenti. 1 nap 24 óra 1 egész, 12 óra az 0,5 míg 6 óra 0,25 számértéknek felel meg.

Ha csak a 2026-ot írtad be és nem írtál hozzá hónapot, napot, akkor a fenti eredményt kell kapjad dátum formátumban. Ha megváltoztatod a cella formátumot számra, szövegre akkor visszakapod a 2026-ot a cellában láthatónak (eddig is ott volt az, csak dátum formátumban megjelenítve, ahogyan a korábbiakban írtam).

Megjegyzem, ez nem Win, hanem Excel spedialitás, úgyhogy a korábbi office verzióban is egész biztosan így működött.

Üdv.

Előzmény: t.lantos (38661)
t.lantos Creative Commons License 2 napja -1 0 38661

Elore szolok. Nem kell kioktatas, nem kell beszolni, higy minek az a szar, van openoffice meg vegyek ujat.

Nem veszek. Majd megoldom. Egyelore nem kuzdottem komolyabban vele.

w10+office2003

Keszult benne egy-ket egyszeru xls (sima xls, nem xlsx). Mukodott.

Most win11-re felraktam ugyanazt az office2003-at

Semmi komolyabb beallitas, lenyegeben szuz.

A datumot tartalmazo mezok kivsit furan jelennek meg.

Ha meg beirok 2026-ot, leforditja 1905-re.

Akkor is, ha egyeni formatumban szepen megadom hogy eeee.hh.nn

 

Andyyy42 Creative Commons License 2025.09.08 0 1 38660

úgy tűnik a power Query-nek nem gond a leokézós msbox, importálja az adatokat azzal együtt is :)

Előzmény: Andyyy42 (38659)
Andyyy42 Creative Commons License 2025.09.07 0 0 38659

+ így szerintem mehet vissza az eredeti MSbox-os "okézós" üzenet is a felhsználói fileokba, mert a power Query -s adatkapcsolatot szerintem nem fogja megzavarni (legalábbis remélem, majd ha odajutok jelentkezem :-) )

Előzmény: Andyyy42 (38658)
Andyyy42 Creative Commons License 2025.09.07 0 0 38658

Szia,

 

Ezt is köszönöm. 
Bevallom még nem foglalkoztam korábban a feladatütemezővel ilyen szinten. Tudtam, h van, de hogy mire való, azt nem.
Ez egy jó ötlet. Neki is estem tegnap, de nem boldogultam vele :-( .
aztán néztem segítséget hozzá neten és több, mint valószínű azért nem működik, mert van egy olyan opció, hogy engedélyeznem kellene a "futtatás a legmagasabb szintű jogokkal" opciót, viszont az nálam le van tiltva az IT által, rendszergazdai jogosultág kell hozzá....

 

Végül olyan megoldást találtam alapnak, amivel egyelőre át tudom "szívni az adatokat" a master filebe, amivel egyelőre úgy tűnik működik a dolog.

 

Power Query - kapcsolattal kötöttem össze a felhasználói fileokat a masterfile-al.
A master file megnyitáskor befrissül, és beállítottam rá még pluszban egy 5 perces automatikus befrissítési időismétlődést is.
Teszt alapján (persze csak a saját gépemen), de jelenleg a master file megnyitáskor akkor is átszívja a friss adatokat, ha a felhasználói file nincs megnyitva és akkor is ha épp dolgoznak benne.
(ha épp dolgoznak benne, akkor nyilván van benne egy 5 perces késés az új adatokkal, de az a mi helyzetünkben teljesen belefér.)

Szóval így jónak tűnik.

Persze még ott tartok a master file  - elkészítésével, hogy megvannak az adatok benne és most fogom ráépíteni a többi funkciót.
Ez még nincs kész, de legalább az alap úgy tűnik megvan, az adatok rendben befrissülnek benne.

Remélem működőképes lesz így!


Előzmény: Garashan (38656)
Andyyy42 Creative Commons License 2025.09.07 0 1 38657

Szia,

 

Köszi a tippet.
Egyelőre kivettem a MSbox üzenetet és úgy dolgoztam tovább.
De ez így tök jó, h van rá mód  x idő után eltűntetni.

 

Köszi! 

Előzmény: Garashan (38655)
Garashan Creative Commons License 2025.09.04 0 0 38656

Az előző válaszomból kihagytam a 2-es pontra való választ.

 

Erre létezik a windowsban gyárilag is lehetőség. Anno ezt a kollégám gépén állítottam be munkaidő vége utánra +15 perccel. Mert a monitorját is cseszett kikapcsolni és ha elment egy kamion az épület előtt, akkor az egér rázkódása felébresztette a monitort.

A start menüben megkeresed az "Ez a gép" ikont és ott rámész a kezelésre. A feladatütemezőben pedig létrehozol egy feladatot, aminek annyi lesz a dolga, hogy minden nap 16:10-kor elindítja azt az Excel dokumentumodat, ami a mester fájlod.

Én a leállítást egy batch fájllal oldottam meg. Ha jól rémlik, akkor volt benne egy 1 perces késleltetés, hogyha véletlenül még a gép előtt ülne (amire soha sem volt példa), akkor le lehessen állítani a leállítási parancsot.

 

Stackoverflow-on volt arra irányuló kérdés, hogy lehet úgy elindítani egy Excel fájlt, hogy ne fussanak le benne a makrók: https://stackoverflow.com/questions/16301530/open-a-workbook-from-vba-and-disable-workbook-open-code

Ez hátha segít még.

Előzmény: Andyyy42 (38653)
Garashan Creative Commons License 2025.09.04 0 0 38655

Lehet nem jól fogalmaztam.

A makró arra lenne jó, hogy ha megvan nyitva a mester fájl, akkor nem futna le a leokézandó makró. Viszont, ha nincs megnyitva, mert éppen dolgoznál benne, akkor ugyan úgy lefutna.

 

Eddig nem ismertem, de rákerestem és létezik automatikusan bezáródó "msgbox"

 

Sub Test1()

    Dim AckTime As Integer, InfoBox As Object

   

    Set InfoBox = CreateObject("WScript.Shell")

    AckTime = 3

    Select Case InfoBox.Popup("Click OK or do nothing within 3 seconds.", _

    AckTime, "This is your Message Box", 0)

    End Select

    'ide jöhet a további kód

End Sub

 

 

Az "AckTime = 3" sor adja meg, hogy mennyi idő után záródjon be.

Előzmény: Andyyy42 (38654)
Andyyy42 Creative Commons License 2025.09.04 0 0 38654

Szia,

 

"365-ös verzió sajátossága"
=>
nincs 365-ös verzió, csak Office16

 

"arra nem emlékszem, hogy korábban veled néztük-e a gépnév ellenőrzést vagy sem"
=> igen, velem néztük
Ez azért nem jó megoldás, mert nekem is van saját felhasználói fileom, ami így csak az én gépemmel nyitható meg.

A master file meg arra kell, hogy egyben lehessen benne látni az összes adatot ( a felhasználói file-ok adatait), napi frissítéssel.
Ehhez a vezetőség kap hozzáférést a saját gépükkel megnyitva  + ugye természetesen én, szintén a saját gépemmel megnyitva csak.
Szóval az én gépem meg tudja nyitni a saját felhasználói fileomat és a master filet is.

 

 

Előzmény: Garashan (38652)
Andyyy42 Creative Commons License 2025.09.04 0 0 38653

Szia,

 

"Ez csak akkor szükséges, ha így írod meg a makrót. A master file frissítő makróban simán kihagyhatod ezt a rákérdezést."
=>A felhasználói file-okat úgy csináltam meg, hogy az autómatikus befrissülés  a before open-be van bemakrózva.
Azaz, amikor végig fut a before open parancssor / makrók, az után a végén jön a Msbox, a leokézós üzenettel.
amikor leokézzák a MSboxot, akkor lesz a file használható.

Így, ha a masterfile-al nyitattom meg a felhasználói file-okat, akkor megnyitáskor lefut bennük a before open és így kérik a msbox leokézésát, ahhoz, hogy aztán a masterfile hozzá tudjon férni a bennük lévő adatokhoz és ki tudja azokat másolni.
Amíg nincs leokézva "manuálisan" az msbox üzenet, addig lényegében nem nyílik meg a felhasználói file.

 

 

"Olvasásra akkor is meg lehet nyitni a fájlt, ha más éppen használja, a makróban ellenőrizheted, nyitva van-e már a fájl: megpróbálod megnyitni kizárólagosan, ha hibát ad, akkor nyitva van már."
=>Az olvasásra megnyitás azért nem jó, mert ha jól tudom akkor abból nem lehet adatot másoltatni, vagy igen?
(az olvasásra megnyitott file nem szerkeszthető - vagy nem jól tudom?)

 

Két gondolat:
1 - Meg lehet-e azt csinálni, hogy a felhasználói fileok megnyitásánál, a before open végén felugró msbox "csak" a szöveges üzenetet hozza és ne kelljen "leokézni" a msbox-ot ahhoz, h eltűnjön (mondjuk pl 10 másodperc után magától eltűnik) ?


2 - a felhasználói fileokat, mondjuk beállítom, hogy teszem fel minden nap 16:00-kor  /  a munkaidő végén automatikusan bezáruljanak. - ezt tudom, hogyan kell.
     Ezzel elérem, hogy minden felhasználói file be legyen 16:00-ra zárva, így egy időben aztán csak 1x lenne mindegyik megnyitva  - elkerülve az 1 időben történő 2x-i megnyitást (felhasználó + master file által is megnyitva egyszerre). Így elkerülve, hogy a master file "csak olvasásra" tudja megnyitni a felhasználói fileokat és így tud már adatot kimásolni belőlük.

Ehhez mondjuk a master file-t meg bemakrózni úgy, hogy az meg mondjuk 16:10-kor nyíljon meg minden nap automatikusan és befrissítse önmagát, egyesével megnyitva - kimásolva - majd bezárva a felhasználói fileokat..
Ezt meg lehet oldani egyáltalán? mert ezt viszont nem tudom. Ha igen, akkor hogyan?
azt a részét nem tudom, hogyan kell, hogy automatikusan 16:10 kor befrissüljön automatikusan -  önmagától a master file.

 

 

Előzmény: Fferenc50 (38651)
Garashan Creative Commons License 2025.09.02 0 0 38652

Zárójeles megjegyzés: van olyan verzió, ahol lehet szimultán is dolgozni egy-egy fájlban. Ha jól rémlik ez az extra a 365-ös verzió sajátossága. Mivel olyannal nem rendelkezem, így sohasem próbáltam :)

 

@Andyyy42: Két ötletem is van. Egyrészt arra nem emlékszem, hogy korábban veled néztük-e a gépnév ellenőrzést vagy sem. Pl. ha a master fájlt csak te fogod futtatni és mindig ugyan arról a gépről és mások nem fognak azon a gépen dolgozni a saját dokumentumukkal, akkor meg lehet azt csinálni, hogy minden dokumentumba beleírod, hogy csak akkor fusson le a makró, ha nem XYZ gépen van megnyitva a dokumentum. Nyilván ennek hátránya, hogy ha valamiért gépet cserélsz, akkor az összes dokumentum makróját módosítani kell.

Másik megoldás, hogy nem a gépnevet ellenőrzöd, hanem hogy nyitva van-e a mester fájlod. Ezt pl. az alábbi makróval meg tudod csinálni:

 

Sub CheckWorkbookOpen()

    Dim resultCheck As Boolean

    Dim wb As Workbook

    On Error Resume Next

    Set wb = Application.Workbooks.Item("valami.xlsx")

    resultCheck = Not wb Is Nothing

    If resultCheck Then

        Exit Sub

    Else

        'ide jön a saját makród

    End If

End Sub

 

Ennek a módszernek is van hátránya. Ha sűrűn változtatod a mester fájlod nevét, akkor sűrűn kell a makrókat módosítani :)

Előzmény: Fferenc50 (38651)
Fferenc50 Creative Commons License 2025.09.02 0 0 38651

Szia!

"Ahhoz, hogy befrissüljön meg kell a master filenak nyitnia minden egyes felhasználó file-t és átmásolni magába az ott lévő adatot.
Ezzel az a gondom, hogy a fent említett módon az egyes exel fileknál megnyitás után le kell okézni a msbox-ot, ahhoz, hogy megnyíljon a file, azaz a master file hozzáférjen az adatokhoz és át tudja másolni"

Ez csak akkor szükséges, ha így írod meg a makrót. A master file frissítő makróban simán kihagyhatod ezt a rákérdezést.

Olvasásra akkor is meg lehet nyitni a fájlt, ha más éppen használja, a makróban ellenőrizheted, nyitva van-e már a fájl: megpróbálod megnyitni kizárólagosan, ha hibát ad, akkor nyitva van már.

Igazából az a probléma szerintem, hogy mikor akarod frissíteni a master fájlt. Talán akkor lenne célszerű, amikor bezárja az aktuális felhasználó a saját fájlját - a before close makróban indíthatod.

Üdv.

Előzmény: Andyyy42 (38650)
Andyyy42 Creative Commons License 2025.09.02 0 0 38650

viszont van új kérdésem....

 

van minden felhasználónak egy külön-saját excel file-ja, amiben dolgozik.
ezek minden megnyitásnál automatikusan befrissülnek az új adatokkal.
Megnyitás után, amikor "betölt" - azaz befrissül, a végén kiíratom Msbox-xal az üzenetet, hogy a "file-od befrissült az új adatokkal, használatra kész, stb..."
Ezt nekik ugye le kell okézni, az msbox eltűnik, és lehet az excelben dolgozni.

 

Ezen kívül akarok egy master file-t még létrehozni, ami egyben tartalmazza mindenki saját excel adatait.
Ezt is automatikus befrissítéssel oldanám meg, minden megnyitáskor

 

Ahhoz, hogy befrissüljön meg kell a master filenak nyitnia minden egyes felhasználó file-t és átmásolni magába az ott lévő adatot.
Ezzel az a gondom, hogy a fent említett módon az egyes exel fileknál megnyitás után le kell okézni a msbox-ot, ahhoz, hogy megnyíljon a file, azaz a master file hozzáférjen az adatokhoz és át tudja másolni


1 gondolat:
Ezt a lépést meg tudom oldani makróval? azaz a master fileban lefutó makró le tudja okézni a másik file Msbox üzenetét?

Mi van akkor, ha közben már meg van nyitva az egyes felhasználóknál a file és azt épp használják? akkor hogyan fut le a makró? ugyan azt a file-t meg tudja nyitni még 1x úgy h adatot is másoljon belőle?

 

2 gondolat:

Lehet olyan megoldást találni, hogy a master file úgy másoljon át adatokat az egyes file-okból, hogy azokat ne kelljen neki megnyitnia?
(függetlenül attól, hogy azok éppen használatban vannak-e vagy sem)

 

Köszi! 

Andyyy42 Creative Commons License 2025.09.02 0 0 38649

Szia/Sziasztok,

 

a hétvégén sikerült foglalkoznom a témával.
Végül más lett a vége.


"többszintű legördülő lista"
=>nem feltétlenül kell, szóval egyelőre ez kimarad

 

"Ezt meg lehet úgy oldani, hogy a userformmal bevitt adatok automatikusan hozzáadódjanak a legördülő lista adataihoz?
Azaz az dinamikusan frissüljön önmagától?"
=> itt pedig külön fülön tárolom a legördülő lista elemeit, amikor új adatot viszünk be, akkor azt az oszlopot makróval rendezem, kiveszem az ismétlődéseket és felülírom a külön fülön lévő legördülő lista elemeit, így az effektíve mindig "automatikusan és dinamikusan" befrissül, ha kerül hozzá új adat

Előzmény: Fferenc50 (38647)
Andyyy42 Creative Commons License 2025.08.07 0 0 38648

Szia,

 

Oké - köszi!

Ezekkel én mindig csak hétvégén tudok foglalkozni és a következő két hétvégém előreláthatólag ebből szempontból ki fog esni.

Fogok még jelentkezni ezzel kapcsolatban, amikor odáig jutok.

Előzmény: Fferenc50 (38647)
Fferenc50 Creative Commons License 2025.08.06 0 0 38647

Szia!

A userformon mit használsz? Javaslom a Comboboxot. Ehhez hozzárendelhetsz forrás tartományt, amelyben tárolod a listaelemeket. A listába tennék egy új város/utca/házszám pontot, amit kiválasztva egy Textboxban megadható az új érték. Ezt feldolgozva hozzá lehet adni a lista forrásához.

Ha a város listából választ, akkor az utca listát szűrve megkaphatod az utca combobox  forrását és így tovább. Ezek a makrók a Userformon belül az adott vezérlő feldolgozásához (eseményéhez) kapcsolódnak.

Vázlatosan kb. ennyi. Próbáld meg és az eredményhez tudunk hozzájárulni további segítséggel.

Üdv.

Előzmény: Andyyy42 (38646)
Andyyy42 Creative Commons License 2025.08.05 0 0 38646

Sziasztok,

 

jövök megint!

 

Példa:
adatokat viszünk be mondjuk userformmal.
pl: Városnév és utca és házszám

 

Azt tudom, hogyan lehet megcsinálni "manuálisan", hogy a városoknál, utcáknál, házszámoknál legyen legördülő lista és az legyen dinamikus.
De ahogyan mondtam, ezt csak manuálisan tudom megoldani, azaz mindig hozzáírom az új adatokat a legördülő lista adataihoz.

 

Ezt meg lehet úgy oldani, hogy a userformmal bevitt adatok automatikusan hozzáadódjanak a legördülő lista adataihoz?
Azaz az dinamikusan frissüljön önmagától?

 

Második lépcső:

ezt meg lehet-e még úgy pluszban csinálni, hogy a userformmal bevitt adatokkal autómatiukusan frissülő legördülő lista többszintű legyen?

azaz a már bevitt városhoz tartozó már bevitt utcákat hozza csak az utcánál lévő legördülő lista?

és ezt ugyan úgy a házszámnál? 
pl:
Debrecen  - Nagy János utca
                  Kiss Tamás utca
                  Tóth Lajos utca 

Debrecen - Kiss Tamás utca - 38
                                         - 40
                                         - 45
                                         - 48

 

Andyyy42 Creative Commons License 2025.07.27 0 0 38645

Még nem jutottam odáig, de azt próbálom majd meg, hogy kilépés/mentés előtt (Workbook_BeforeClose) zárolom a táblázatot.
Így újbóli megnyitásnál is már zárolva jelenik meg a teljes táblázat.
Azt kell majd még kipróbálnom, h a zárolt táblázathoz, újbóli megnyitásnál engedi-e majd hozzászúrni a plusz sorokat.

Előzmény: Andyyy42 (38644)
Andyyy42 Creative Commons License 2025.07.24 0 0 38644

Köszönöm szépen! :-)

 

Már van amúgy másik projectem is, ha őszinte akarok lenni .... :-)

 

Nagyrésze már a fejemben összeállt, hétvégén szerintem neki is ugrok és elkezdem :-)

 

Amit nem tudok még, hogy hogyan :-)
ha az egyik fülön van egy táblázatos forma és azon a fülön zárolom a cellákat, hogy a táblázatot ne lehessen szerkeszteni.
Ez az alapfelállás.

 

Egy makrógombbal szeretném megoldani majd, hogy a meglévő táblázathoz egy gombnyomással hozzáadjon + 1 sort (legutolsónak), ami nincs zárolva még és szerkeszthető, azaz manuálisan bele tudok írni (de a korábbi adatok zárolását ne oldja fel, azzaz, azokhoz ne lehessen nyúlni).
Beleírás után ismét zárolni az egésztáblázatot (a kiegészített 1 vagy több sorral),  hogy mentés után, újboli megnyitásnál, már ismét az egész táblázat zárolva jelenjen meg.

 

Aztán ha akarok, akkor megint tudok +1 sort vagy többet beszúrni a makrógombbal, menteni és így tovább.

 

Ennek még nem néztem utána neten, hogy hogyan.
Esetleg erre van ötlet?

 

 

Előzmény: Fferenc50 (38643)
Fferenc50 Creative Commons License 2025.07.24 0 0 38643

Szia!

Jól elhúzódott, de legalább megoldódott... :)

Sok sikert a továbbiakhoz.

Üdv.

Előzmény: Andyyy42 (38642)
Andyyy42 Creative Commons License 2025.07.24 0 0 38642

Szia,

 

Felcseréltem a source-okat, ahogyan javasoltad, így igen, nekem is generálta a hibát. 

 

aztán kipróbáltam, amit korábban javasoltál (de eddig vmiért még nem tettem meg :-(  ), azaz ezt:
"Megpróbálhatod még az On Error Resume Next sor elé beszúrni a következőt:

Application.DisplayAlerts=False"

 

és így működik! :) nem hozza a hibaüzenetet! :-)

 

 

Köszönöm szépen Mindenkinek! :-)

Előzmény: Fferenc50 (38640)
Andyyy42 Creative Commons License 2025.07.24 0 0 38641

2 excel file-ról van szó.

Az egyik a fő file, amit használunk.
A másik egy másik helyen lévő adatfile, ami bizonyos időközönként frissül, új adatokkal.(ezt a file-t senki sem használja, csak én frissítem be az adatokat benne, a rendszerbe bekerülő új adatokkal, bizonyos időközönként)

 

Amikor megnyitjuk a fő file-t, az először befrissíti magát az adatfile adataival és a frissítés után használatra kész.

 

 

A fő fileban használom az Workbook_Open() rutint. 
azért, hogy csak akkor induljon el, ha az elérési útja az, amit megadok a Workbook_Open-ben ( azaz a tényleges helyét), ezzel úgymond megakadályozva, ha a filet lementi vki/áthelyezi máshová, akkor ne induljon el. Kizárólag abból  a mappából lehessen megnyitni, ahol most van.
+ ehhez jön még a gépnév ellenőrzése is, h mindneki ne férjen hozzá, csak aki kap hozzáférést.

Előzmény: pimre (38637)
Fferenc50 Creative Commons License 2025.07.24 0 0 38640

Szia!

Még annyi kiegészítésként: Nem kell megvárnod a hétvégét és elkérni a munkatársad gépét.

A makróban cseréld fel a source1 és source2 nevét, ekkor a te gépedről először a másik gép elérési útja alapján szeretné megnyitni a fájlt.

Itt a második elérési útra (amit először fog keresni), adja a lehetséges hibajelzést.

Más:

Biztos, hogy a munkatársad gépén ugyanaz a makró van az általa megnyitott munkafüzetben, mint nálad? Lehetséges, hogy abban nincs is benne a hibakezelés?

Üdv.

Előzmény: Andyyy42 (38636)
Fferenc50 Creative Commons License 2025.07.24 0 0 38639

Szia!

A válasz szerint van egy Excel fájl, amiben fut a lekérdező makró. Ennek a fájlnak a nevét ellenőrzi a Thisworkbook.Fullname. Azt akarja, hogy a lekérdező makrót ne lehesen más helyről megnyitni.

Utána még ellenőrzi a számítógép nevét is.

Én úgy gondolom, hogy a Fullname lekérdezés már hibára fut az elején.

Azt javasoltam, hogy az elejére tegye bele az On Error Resume Next utasítást.

De a puding próbája az evés, meglátjuk mi történik.

Üdv.

Előzmény: pimre (38637)
Fferenc50 Creative Commons License 2025.07.24 0 0 38638

Szia!

Imre kérdése és az arra adott válaszod "világosított" meg.

"

Private Sub Workbook_Open()
If ThisWorkbook.FullName = "Z:Mappa1Mappa2munka.xlsm" Or ThisWorkbook.FullName = "Z:KozosMappa1Mappa2munka.xlsm" Then
Sheets("CP").Range("E10").Select
Else: MsgBox ("...szöveg..." & vbCrLf & " ...szöveg...")
ThisWorkbook.Close SaveChanges:=False
End If

"

Itt a fullname lekérdezésekor nem fogja megtalálni szerintem.

Ha ide helyezed át első utasításként az On Error Resume Next utasítást, akkor nem lesz rákérddezés, úgy gondolom. Természetesen a további helyeken már nem kell megismételni ezt az utasítást.

Próbáld ki légy szíves.

Üdv.

Előzmény: Andyyy42 (38633)
pimre Creative Commons License 2025.07.24 0 0 38637

Egyelőre csak azt nem értem, hogy mitől működik nálad az "If ThisWorkbook.FullName..." parancs a szándékod szerint. Lehet, hogy én nem tudok valamit? Ha az általad elindított programban megnyitsz egy munkafüzetet, akkor ez a parancs nem a megnyitott munkafüzet nevét kellene, hogy kiadja, hanem a saját nevét.

 

Vagy arról van szó, hogy már meg van nyitva a "Z:Mappa1Mappa2munka.xlsm" vagy a "Z:KozosMappa1Mappa2munka.xlsm", és ezt indítod el? Viszont akkor meg miért kell ellenőrizni, hogy ő maga meg van-e nyitva?

 

Szóval nem értem, de lehet, hogy nem is kell értenem.

 

Azért kíváncsian várom a tesztprogram eredményét.

Előzmény: Andyyy42 (38636)

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