- norbx: IRC a 90-es évek és a 2000-es évek elején
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- plevips: Sorozatkövető v 1.1
- Depression: Hardver rúzs effektus?
- bambano: Bambanő háza tája
- sziku69: Fűzzük össze a szavakat :)
- gerner1
- Gurulunk, WAZE?!
- Luck Dragon: Asszociációs játék. :)
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
bteebi
veterán
Sziasztok!
Event makrókkal próbálnám azt elérni, hogy bizonyos cellákat/oszlopokat csak bizonyos személyek (
Environ("UserName")-mel kiolvasott név alapján) szerkeszthessenek egy adott (mondjuk "DZS" nevű) munkalapon. Nagyrészt működik is, már csak 1-2 nem annyira jelentős anomália van, amiknek jó eséllyel könnyű a megfejtése, de én egyelőre nem jöttem rá.Az egyik oszlopot (5.) csak C és D személy írhatja, a többit pedig csak A és B, de rajtuk kívül senki más (tehát pl. E és F semmit sem csinálhat). Ehhez egy
Worksheet_Changemakrót használok. Ez most már működik. Viszont azt is szeretném megakadályozni, hogy a korábban pl. az 5. oszlopba a jogosult személyek által bevitt adatokat ki tudják törölni arra nem jogosultak. AWorksheet_Changemakró ugye csak akkor fut le, ha a változás már megtörtént. Tehát kiírja azt, hogy pl. nem lehet szerkeszteni az adott cellát, de addigra az már szerkesztődött. Vagyis vissza kell másolni az eredeti cellaértéket. Erre van egyWorksheet_SelectionChangemakró (nyilván ugyanazon a lapon):Dim origvalue As VariantPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)origvalue = TargetEnd SubEz csak annyit csinál, hogy tárolja a cella előző értékét, és ha a módosítás/törlés nem megengedett, akkor a
Worksheet_Changemakróval beleírja azt, hogy Target = origvalue. Ez teljesen jól működik, csak az a baj, hogy amikor még csak megnyitod a file-t, akkor azorigvalueüres, mert nincs seWorksheet_Change, seWorksheet_SelectionChange, szóval még mindig ki tudod törölni azon cella korábbi értékekét (file megnyitásonként csak a legelsőt), amelyiken éppenséggel a kurzor áll.Ez ellen kellene egy
Private Sub Workbook_Open(), amiről most már tudom, hogy aThisWorkbook-ba kell rakni, és részint működik is, de nem pont úgy, ahogy szeretném:Public origvalue As VariantPrivate Sub Workbook_Open()origvalue = ActiveCell.ValueEnd SubÉs így az origvalue-ban a megnyitáskor aktív cella értéke tárolódik. Viszont ha nem kattintok sehová, csak del-t nyomok a megnyitás után, akkor mégis ki tudom törölni az értéket.
Próbáltam már többféleképp megoldani, de sehogy se jó. Hogy kellene úgy átírnom, hogy a másik ("DZS") munkalapon lévő kódban is tudjam használni ezt az
origvalue-t? (Próbáltam azon a lapon isPublic origvalue As Variant-ként, de az se segített.) Egyszerű megoldás lenne, ha valami üres cellára ugrana megnyitáskor aPrivate Sub Workbook_Open(), de az egy elég gagyi megoldás lenne.Nagyon köszönöm a segítségeteket!

Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3943, 100% Akkumulátor
- 192 - Lenovo Legion 5 (15IRX10) - Intel Core i7-14700HX, RTX 5060 (ELKELT)
- AKCIÓ! Microsoft XBOX Series X 1TB SSD fekete játékkonzol extra fejhallgatóval garanciával
- ÉV ELEJI RAKTÁRSÖPRÉS!!! - Videókártyák, Monitorok, Notebookok, Stb. - Szaküzletből! Számlával!
- Xiaomi Redmi 15 / 6/128GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Fferi50