Keresés

Részletes keresés

Fferi50 Creative Commons License 2013.10.25 0 0 22763

Szia!

 

Mivel az excel sorainak száma 1-től kezdődik, így természetesen negatív számú sorra nem tud rápozicionálni a scrollrow. Ez komoly hibája, ezért nekünk kell erre figyelni, pl. így:

Activewindow.scrollrow=iif(arrIndexMax - 25<1,activewindow.scrollrow  de ide írhatod ezt is: 1,arrIndexMax - 25)

Ebben az esetben vagy marad az ablak tetején az a sor, ami eredetileg is volt, vagy az első sor kerül oda, attól függően, mit írtál középre.

 

A smallscroll ezek szerint "intelligensebb", tudja kezelni, hogy negatívba nem viszi a sorszámot, hanem marad az első sorban.

Kipróbáltad amit azzal kapcsolatban írtam? (Nyilván a 25 sor az elméleti, az a kérdés, mennyi látszik az ablakodban.) De nézd meg nagyított nézetnél is lsz (amikor az ablakban pl. 10-12 sor látszik csak).

Valószínű, hogy amikor behívod a táblázatot, akkor az első sor kerül az ablak legfelső részébe, ezért múködik a smallscroll jónak tűnően.

Mégegyszer hangsúlyozom, a fontos különbség, hogy a smallscroll relatív - az aktuális helytől számol, a scrollrow pedig abszolut, konkrétan megadott sort ugratja az ablak tetejére.

 

Üdv.

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

Szia!

 

A te javaslatod 25-nél kevesebbsorszámnál hibáz hoz:

  ActiveWindow.ScrollRow = arrIndexMax - 25

 

Ez a megoldás hiba nélkül fut teszőleges sorszámnál:

  ActiveWindow.SmallScroll Down:=arrIndexMax - 25

Előzmény: Fferi50 (22757)
Törölt nick Creative Commons License 2013.10.25 0 0 22761

Nem pontos ez így. A megadott változó az utolsó sor sorszámáta daja meg amiből visszaszámol 25-öt. Nagyobb táblázatnál mindig a megjelenített sorok közül az utolsó 25-öt mutatja míg 25 sornál kisebbnél csak annyit amennyi van. Hibát nem hoz.

Előzmény: Fferi50 (22758)
Törölt nick Creative Commons License 2013.10.25 0 0 22760

olvastam

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

OK. Buktam. Filgyelmetlenül olvasta a parancsot amit írtál. Mindjárt megnézem a te verziódat is.

Előzmény: Fferi50 (22757)
Fferi50 Creative Commons License 2013.10.25 0 0 22758

Szia!

 

Még annyit az előzőekhez: Te nem 25 sorral a táblázat vége előttre pozicionáltál, hanem a srollozandó sorok számát állapítottad meg a táblázat vége - 25 sorban. Így pl. 100 soros táblázatnál a scroll mértéke 75 sor lesz.

Ez akkor működik úgy, ahogyan szeretnéd, ha max a 25. sorban áll a cursorod. Ha viszont a 25-dik sornál lejjebb vagy, azt fogod tapasztalni, hogy "eltűnik" a táblázat, mert akkorát scrollozik az utasításod.

 

Üdv.

Előzmény: Törölt nick (22756)
Fferi50 Creative Commons License 2013.10.25 0 0 22757

Szia!

 

Igen, csak a smallscroll-nak és a scrollrow-nak más-más a funkciója:

A smallscroll egy metódus és görgeti az ablakot abba az irányba amerre akarod és olyan lépéssel, amekkorával akarod, onnan ahol éppen állsz.

 

A scrollrow (és scrollcolumn) egy tulajdonság, ami megmondja, hogy hányadik sor/oszlop legyen a bal felső szélén az ablaknak. Azaz itt direktben megadhatod, hova "scrollozzon" a képernyő, melyik legyen az első sor, vagy első oszlop amelyik látszik.

 

Üdv.

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

Amit a 22751-ben megadtam az a "arrIndexMax" a táblázat utolsó sora amihez képes 25 sorral vissza pozicionáltam. Igy szépen látszik a táblázat vége és még marad néhány üres sor.

Előzmény: Fferi50 (22755)
Fferi50 Creative Commons License 2013.10.25 0 0 22755

Szia!

 

Próbáld ki az activewindow.scrollrow=táblázatvége sor -x utasítást.

 

A táblázatvége sor  jelenti azt az utolsó sort, ameddig a táblázat tart (ezt neked kell megállapítanod!), az x pedig, ahány sort akarsz még látni a táblázatból. (Mert gondolom, nem csak a legutolsó sort szeretnéd látni.)

 

Üdv.

Előzmény: Törölt nick (22753)
tbando Creative Commons License 2013.10.25 0 0 22754

Megtaláltam az autószűrő VAGY feltételes opcióját. De úgy látom, hogy nem alkalmas több oszlop vagylagos szűrésére. Jól látom? 

Előzmény: tbando (22746)
Törölt nick Creative Commons License 2013.10.25 0 0 22753

Nem tudom de tény, hogy mindig a táblázat elejét mutatta. Elegánsabb lett volna amikor a tábla áttöltődik (ugyanis más lapról érkezik szűrve) azonnal a végére ugrana és azt mutatná. Kistáblázatról van szó tehát a sebességet nem igen befolyásolja ez a módszer.

Előzmény: pimre (22752)
pimre Creative Commons License 2013.10.25 0 0 22752

Ha a cursort ráállítom valamelyik távoli oszlopra, mondjuk BA-ra, majd az alsó gördítősávval visszahúzom a képernyőt a táblázat elejére, miközben a cursor marad a BA oszlopon, és így mentem, akkor pont az történik, amit írsz. Nem lehet, hogy nálad is ez történt?

Előzmény: Törölt nick (22750)
Törölt nick Creative Commons License 2013.10.25 0 0 22751

Kitoltam vele.

ActiveWindow.SmallScroll Down:=arrIndexMax - 25

Gyönyörűen mutatja a tábla végét

Előzmény: Eredő Vektor (22749)
Törölt nick Creative Commons License 2013.10.25 0 0 22750

Erre én is gondoltam már de nem segít.

Előzmény: Eredő Vektor (22749)
Eredő Vektor Creative Commons License 2013.10.25 0 0 22749

nézd meg, nincs e ablaktábla rögzítés alatt a munkalap.

esetleg futtasd le ezt:

application.screenupdating = true

 

Hátha valami kikapcsolva hagyta...

 

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

Megnyitok egy táblázatot annak mindig az elejét látom miközben a végére kellene ugrania és azt látnom. Hiába próbálkozom cella cimzéssel, select utasítással. A cusor oda megy de a tábla nem ezért mindig scrolloznom kell.

Van valami ötlet?

Eredő Vektor Creative Commons License 2013.10.25 0 0 22747

Javaslatom a "kimutatás tábla", vagy másként "pivot tábla" készítése a táblázatodból.

A dimenzókat szabadon mozgathatóak, a szűrést úgy állítod be ahogy akarod.

Előzmény: roley (22745)
tbando Creative Commons License 2013.10.25 0 0 22746

Pedig a szűrés jó ötlet. Úgy emlékszem az autószűrő is tud több oszlopra a VAGY feltétlellel szűrni (azaz egyaránt kiszűrni az otthoni és az idegen oszlopbeli előfordulásokat), de most hogy keresem, nem találom ezt a lehetőséget.  A Speciál szűrő (a 2003-ban Írányitott szűrő) azonban biztosan alkalmas erre. Amit egyaránt használhatsz helyben szűrésre vagy új helyre történőre. A trükkje, hogy kritérium tartomány 3 soros legyen. 1. Fejléc: otthon/idegen 2. A keresett csapat az otthoni oszlopban. 3. A keresett csapat az idegen oszlopban is. Ha ennyi kevés lenne, az excel súgója elég jól elmagyarázza.

 

Még annyit érdemes tudnod, hogy a kritérium cellákba nem muszáj a keresett teljes nevét beírni. Elég belőlük néhány egyedi betűsorozat 2 csillag között. Pl. *Liver*, *city* stb.

 

Mivel a csillagos beírás frankón működik, a belinkelt web táblázatból sem muszáj a otthoni és idegenbeli oszlopokat szekesztened, mert mérközésoszlopra rászűrve a ** közé írt csapatjelöléssel kiszűri neked az összes előfordulást.  Persze ekkor a kritériumtartományt  2 sorosnak kell meghatároznod.

   

Előzmény: roley (22745)
roley Creative Commons License 2013.10.25 0 0 22745

Sziasztok!

 

A segitségeteket szeretném kérni. Adott egy táblázat foci bajnokság meccseredményeivel:

A oszlop=hazai csapat, B oszlop= vendég csapat, C oszlop =hazai gólok, D oszlop= vendég gólok. Pl mint az alábbi oldalon, csak ez excelbe bemásolva: http://www.fogadoportal.hu/foci/anglia/premier-league-2012-2013/eredmenyek/

 

 

 Azt szeretném kérdezni, hogy hogyan tudok egy olyan szűrést megcsinálni, ami kidobná x csapat eredményeit, mind a hazai, mind a vendég meccseket egyszerre, időrendei sorrendben. 

 

Próbálkoztam úgy hogy táblázattá alakitottam és ott szűrés, de ott csak vagy a hazainál, vagy a vendégnél engedi meg a szűrést külön-külön, együtt nem. Esetleg vmilyen kereséses fügvvény alkalmazása, stb, nem tudom mi lehetne a megoldás.

 

 

Bármi ötleteteket nagyon hálásan fogadom!

 

 

Köszönettel,

Roley

tbando Creative Commons License 2013.10.24 0 0 22744

Kösz. Jó helyen kerestem,  és bár majd kibökte a szemem, mégis átsiklottam rajta :((((

Előzmény: Delila10 (22743)
Delila10 Creative Commons License 2013.10.24 0 0 22743

Előzmény: tbando (22741)
tbando Creative Commons License 2013.10.24 0 0 22742

Miután elküldtem a makrót, rájöttem, hogy sokkal praktikusabb lenne a beforesave makrót  open-ként megadni és kiegészíteni  a beirás makro subrutinnal. Így a filemegnyitáskor már rögtön  bekéri a user nevét. Ha rossz nevet ad meg, akkor javíthat  a beirás makró direkt indításával. 

 

A beforesave makró átírva, a változtatások kivastagítva. A beirás makró változatlan.

 

Private Sub Workbook_Open()

 

Cells.Select

Sheets("Munka1").Unprotect ("xxx")

Selection.Locked = True

Selection.FormulaHidden = False

Sheets("Munka1").Protect ("xxx")

beiras

End Sub

 

Sub beiras()

 

Dim ppw, oszlopNo

ppw = InputBox("Mi a titkos neved?")

If ppw = "pali" Then oszlopNo = 3: GoTo cimke

If ppw = "peti" Then oszlopNo = 4: GoTo cimke

If ppw = "poka" Then oszlopNo = 5: GoTo cimke

Exit Sub

cimke:

Sheets("Munka1").Unprotect ("xxx")

Sheets("Munka1").Columns(oszlopNo).Select

Selection.Locked = False

Sheets("Munka1").Protect ("xxx")

End Sub

 

Előzmény: tbando (22740)
tbando Creative Commons License 2013.10.24 0 0 22741

Szia!

 

Néztem a makródat, de már az első sorban elakdtam :))).  Azt hogyan kell csinálni, hogy 3 nevet megadni egy érvényesítésben? Próbálgattam, de nem jöttem rá.

Előzmény: Delila10 (22738)
tbando Creative Commons License 2013.10.24 0 0 22740

Szóval az alábbi 2 makróval oldottam meg. Mindkettőt az adott füzet ThisWorbook moduljába másold.  A védett munkalap a Munka1, a védelmi jelszó xxx, a három felhasználó titkos nevei, pali, peti és poka, akik 3, 4, 5 oszlopokhoz férhetnek hozzá.  A felsorolt beállításokat igazitsd a te lapodhoz. Miután megvan a makró, mentheted a füzetet.  A fiúk amikor be akarnak írni, a beírás makrót indítsák. A kijelölt tartományba írhatnak.

 


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cells.Select
Sheets("Munka1").Unprotect ("xxx")
Selection.Locked = True
Selection.FormulaHidden = False
Sheets("Munka1").Protect ("xxx")
End Sub

 

Sub beiras()
Dim ppw, oszlopNo
ppw = InputBox("Mi a titkos neved?")
If ppw = "pali" Then oszlopNo = 3: GoTo cimke
If ppw = "peti" Then oszlopNo = 4: GoTo cimke
If ppw = "poka" Then oszlopNo = 5: GoTo cimke
Exit Sub
cimke:
Sheets("Munka1").Unprotect ("xxx")
Sheets("Munka1").Columns(oszlopNo).Select
Selection.Locked = False
Sheets("Munka1").Protect ("xxx")
End Sub

 

Előzmény: giaco_mo (22735)
Eredő Vektor Creative Commons License 2013.10.24 0 0 22739

Védett munkafüzet tartományai szerkesztésének engedélyezése egyes felhasználók számára

Fontos:    Ha egyes felhasználóknak engedélyt szeretne adni a védett munkalap tartományainak szerkesztéséhez, Microsoft Windows XP vagy újabb operációs rendszert kell használnia, és a számítógépnek tartományba kell tartoznia. A tartomány használatát megkövetelő engedélyek helyett jelszót is megadhat valamely tartományhoz.

  1. Jelölje ki a védelemmel ellátni kívánt munkalapot.
  2. Kattintson a Korrektúra lap Változások csoportjában a Tartomány szerkesztésének engedélyezése gombra.

Megjegyzés:    Ez a parancs csak akkor érhető el, ha a munkalap nem védett.

  1. Az alábbi lehetőségek közül választhat:
    • Új szerkeszthető tartomány hozzáadásához kattintson a Megadás gombra.
    • Korábban megadott szerkeszthető tartomány módosításához jelölje ki a kívánt tartományt a Lapvédelemnél csak jelszóval módosítható tartományok listában, majd kattintson a Módosítás gombra.
    • Szerkeszthető tartomány törléséhez jelölje ki a kívánt tartományt a Lapvédelemnél csak jelszóval módosítható tartományok listában, majd kattintson a Törlés gombra.
  2. Írja be a Cím mezőbe a zárolni kívánt tartomány nevét.
  3. Írjon a Hivatkozás mezőbe egy egyenlőségjelet (=), majd a zárolni kívánt tartomány hivatkozását.

 Tipp   Másik lehetőségként kattintson a párbeszédpanelt összecsukó gombra, jelölje ki a munkalapon a tartományt, majd a teljes párbeszédpanel ismételt megjelenítéséhez újra kattintson a párbeszédpanelt összecsukó gombra.

  1. Írja be a Tartományjelszó mezőbe azt a jelszót, amellyel majd hozzá lehet férni a tartományhoz.

Megjegyzés:    Hozzáférési engedélyek használatakor nem kötelező jelszót megadni, de ha jelszót alkalmaz, megtekintheti, hogy a tartomány módosításához jogosultsággal rendelkező személyek milyen felhasználói hitelesítő adatokat használnak.

  1. A hozzáférési engedélyek megadásához kattintson az Engedélyek, majd a Hozzáadás gombra.
  2. Írja be az Írja be a kijelölendő objektumok nevét (példák) mezőbe azoknak a felhasználóknak a nevét, akiknek engedélyezni kívánja a tartományok szerkesztését.

 Tipp   Tájékoztatást kaphat arról, hogy hogyan kell megadni a felhasználóneveket, ha a példák hivatkozásra kattint. A megadott nevek helyességének ellenőrzéséhez kattintson a Névellenőrzés gombra.

  1. Kattintson az OK gombra.
  2. A kijelölt felhasználóhoz rendelendő engedély típusának megadásához jelölje be az Engedélyek mezőben az Engedélyezés vagy a Megtagadás jelölőnégyzetet (vagy törölje annak jelölését), és kattintson az Alkalmaz gombra.
  3. Kattintson az OK gombra, majd a még nyitva lévő másik párbeszédpanel OK gombjára.

 Tipp   Kérés esetén írja be a megadott jelszót.

  1. Kattintson a Tartomány szerkesztésének engedélyezése párbeszédpanelen a Lapvédelem gombra.
  2. A Minden felhasználónak engedélyezve listában adja meg azokat az elemeket, amelyeket a felhasználók módosíthatnak.

További információ a munkalapelemekről

Munkalapelemek

 

Törlendő jelölőnégyzetMegakadályozandó felhasználói műveletZárolt cellák kijelölése Az egérmutató mozgatása olyan cellákhoz, melyeknél be van jelölve a Cellák formázása párbeszédpanel Védelem lapján a Zárolt jelölőnégyzet. A felhasználók alapértelmezés szerint kijelölhetik a zárolt cellákat.Nem zárolt cellák kijelölése Az egérmutató mozgatása olyan cellákhoz, melyeknél törölve van a Cellák formázása párbeszédpanel Védelem lapján a Zárolt jelölőnégyzet jelölése. A felhasználók alapértelmezés szerint kijelölhetik a nem zárolt cellákat, és a TAB billentyű lenyomásával lépegethetnek a nem zárolt cellák között a védett munkalapokon.Cellák formázása A Cellák formázása és a Feltételes formázás párbeszédpanelen található beállítások módosítása. Ha a munkalap védetté tétele előtt feltételes formázást alkalmazott, az ennek megfelelő változások továbbra is megtörténnek, ha egy felhasználó valamely más feltételt kielégítő értéket ír be.Oszlopok formázása Az oszlopok formázására vonatkozó parancsok használata, beleértve az oszlopszélesség módosítását és az oszlopok elrejtését is (Kezdőlap lap, Cellák csoport, Formátum gomb).Sorok formázása A sorok formázására vonatkozó parancsok használata, beleértve a sormagasság módosítását és a sorok elrejtését is (Kezdőlap lap, Cellák csoport, Formátum gomb).Oszlopok beszúrása Oszlopok beszúrása.Sorok beszúrása Sorok beszúrása.Hivatkozások beszúrása Új hivatkozások beszúrása, beleértve a nem zárolt cellákba történő beszúrást is.Oszlopok törléseOszlopok törlése.

 Megjegyzés:   Ha az Oszlopok törlése beállítás védelem alatt áll, az Oszlopok beszúrása azonban nem, a felhasználók beszúrhatnak oszlopokat, melyeket aztán nem tudnak törölni.

Sorok törléseSorok törlése.

 Megjegyzés:   Ha a Sorok törlése beállítás védelem alatt áll, a Sorok beszúrása azonban nem, a felhasználók beszúrhatnak sorokat, melyeket aztán nem tudnak törölni.

Rendezés Az adatok rendezésére szolgáló parancsok (Adatok lap, Rendezés és szűrés csoport).

 Megjegyzés:   A felhasználók e beállítástól függetlenül nem rendezhetnek zárolt cellákat tartalmazó tartományokat a védett munkalapokon.

AutoSzűrő használataA legördülő lista használata a tartományszűrés módosításához AutoSzűrők alkalmazása esetén.

 Megjegyzés:   A felhasználók e beállítástól függetlenül nem alkalmazhatnak, illetve nem távolíthatnak el AutoSzűrőt a védett munkalapon.

Kimutatások használata Kimutatások formázása, elrendezésük módosítása, kimutatások frissítése vagy egyéb módosítása, illetve új kimutatások létrehozása.Objektumok szerkesztéseAz alábbi műveletek:

  1. Módosítások elvégzése azokon a grafikus objektumokon (beleértve a térképeket, beágyazott diagramokat, alakzatokat, szövegdobozokat és vezérlőelemeket), amelyeknek a zárolását nem oldotta fel a munkalap védetté tétele előtt. Ha például egy makrót futtató gomb található egy munkalapon, a felhasználók a gombra kattintva futtathatják a makrót, nem törölhetik azonban a gombot.
  2. Beágyazott diagram módosítása, például formázása. A diagram továbbra is frissül a forrásadatok módosítása esetén.
  3. Megjegyzések írása vagy szerkesztése.

Esetek szerkesztéseAz elrejtett esetek megtekintése, azoknak az eseteknek a módosítása, amelyekre ezt letiltotta, és ezen esetek törlése. A felhasználók módosíthatják a változó cellák értékét, ha a cellák nincsenek zárolva, és megadhatnak új eseteket.

 

DiagramlapelemekBejelölendő jelölőnégyzet Megakadályozandó felhasználói műveletTartalomA diagram részét képező elemek módosítása – ilyenek például az adatsorok, a tengelyek és a jelmagyarázatok. A diagram továbbra is megjeleníti a forrásadatok módosításait.ObjektumokA grafikus objektumok megváltoztatása (például alakzatok, szövegdobozok és vezérlőelemek), amennyiben a diagramlap védelme előtt a zárolás alól nem oldotta fel az objektumokat.

  1. Írjon be egy jelszót a Jelszó a védelem feloldásához mezőbe, kattintson az OK gombra, majd megerősítés végett ismét írja be a jelszót.

Megjegyzések:    

  • A jelszó megadása nem kötelező, ha azonban nem ad meg jelszót, bármely felhasználó megszüntetheti a munkalap védelmét, és módosíthatja a védett elemeket.
  • Olyan jelszót válasszon, amelyre emlékezni fog, ellenkező esetben nem tud hozzáférni a munkalapon lévő védett elemekhez.

 Megjegyzések 

  • Ha egy cella több tartományba is beletartozik, a cellát az adott tartományok bármelyikének szerkesztésére felhatalmazott felhasználók módosíthatják.
  • Ha egy felhasználó egyszerre több cellát próbál módosítani, és csak néhány cellára vonatkozik a jogosultsága, a program kéri, hogy a cellákat egyenként jelölje ki és változtassa meg.
Előzmény: giaco_mo (22735)
Delila10 Creative Commons License 2013.10.24 0 0 22738

A 3 területet elnevezed a 3 felhasználó nevével. Ugyanezt a 3 nevet megadod egy érvényesítésben. Az érvényesítést én az F1 cellába vittem be.

 

A védelem menüpontban a "Tartomány módosításának engedélyezése" almenüben egyenként megadod a 3 tartományt, a hozzájuk tartozó jelszavakkal együtt. A jelszavak ne egyezzenek meg az elnevezett területek nevével.

 

A laphoz rendeled az alábbi makrót:

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F$1" Then
        ActiveSheet.Protect UserInterfaceOnly:=True
        Cells.Locked = True
        Range("F1").Locked = False
        Range(Target.Value).Locked = False
    End If
End Sub

Az F1 cella értékének változásakor a makró levédi a lap összes celláját, majd megszünteti a zárolást az F1 cellában, és az érvényesítésben kiválasztott nevű tartományban.

Ha nem az érvényesítésben kiválasztott ember tartományába akarnál írni, meg kellene adnod annak a tartománynak a jelszavát.

 

 

 

Előzmény: giaco_mo (22735)
tbando Creative Commons License 2013.10.23 0 0 22737

És persze szükséges még egy a mentéshez kapcsolt makró, ami újra írásvédetté teszi az összes oszlopot.

 

A jelszóbekéréshez meg praktikusabb az inputbox használata.

 

Előzmény: tbando (22736)
tbando Creative Commons License 2013.10.23 0 0 22736

Én csak egy olyat tudnék csinálni, hogy az egész lap védve van, kivéve az a1 cella. Ide kéne beírni a személyes jelszót, majd indítani az általános írásvédettséget megszüntető makrót, ami csak a személyes jelszó szerinti oszlopokat teszi hozzáférhetővé.

Előzmény: giaco_mo (22735)
giaco_mo Creative Commons License 2013.10.23 0 0 22735

Sziasztok!

Egy excel dokumentumon belül adott 3 oszlop, és 3 felhasználó, aki hozzáférhet a dokumnetumhoz.


Miként lehetne mogoldani, hogy a mindegyik felhasználó csak a neki kijelölt oszlopban szerepő értékeket módosíthassa, a másik kettőben szereplőket ne?

(Excel 2013)

forzajuve Creative Commons License 2013.10.23 0 0 22734

Tökéletes, és nem is kell számként használnom.

Köszönöm újra!!!

Előzmény: Fferi50 (22733)

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