Keresés

Részletes keresés

Jozsef Creative Commons License 2013.06.05 0 0 21466

Nem tudom milyen a tábláid szerkezete, de ha az 1. sorban a mezőnevek, alatta további sorokban az adatok vannak, és más semmi (pl. összegző sor alul stb), akkor a A:D hivatkozással is végezheted az adatbázis műveleteket.

 

 

Előzmény: maciti (21463)
E.Istvan Creative Commons License 2013.06.05 0 0 21465

A legegyszerűbb módszer, ami nem igényel  magasabb ismereteket ha elnevezed a tartományt.
Kijelölöd a kérdéses területet és a szerkesztőléc bal oldalán a név mezőbe beírsz egy nevet mondjuk „alapadatok”
Range("A1:E20").Select helyett Range("alapadatok").Select

Előzmény: maciti (21463)
Törölt nick Creative Commons License 2013.06.05 0 0 21464

Azt nem tudom hogy makroba hogy kell integralni, de ha az adathalmazra nyomsz egy "format as table" opciot akkor az ad neki egy nevet (Table1 pl.) amire aztan hivatkozhatsz a makroban.

Előzmény: maciti (21463)
maciti Creative Commons License 2013.06.05 0 0 21463

Sziasztok!

 

Visszaolvasva korábbi kérdéseket próbáltam megoldást találni az alábbi problémára, de nem találtam.

A következőről lenne szó. Néhány feladatnál próbálok makró rögzítéssel, majd futtatással gyorsítani a munkámon. Ez több kevesebb sikerrel működik is. Egy olyan számomra VB-ben megoldhatatlannak látszó problémába ütköztem, amiben szeretnék segítséget kérni:

Változó nagyságú adatbázisokon szeretnék bizonyos műveleteket elvégezni, pl törölni. Ehhez valamilyen feltételeknek megfelelő sorokat kellene kijelölni és azt törölni. Viszont ezek a feltételek egy cellában helyezkednek el.

Konkrétan:

Az adatbázis mérete A1:D25, és ebből azokat a sorokat szeretném törölni, amelyikben a D oszlop adatai közül pl. nagyobb mint 100, vagy amelyik pl üres, vagy nem tartalmaz számot stb.

Viszont ha egy hagyományos módon rögzített makróval akarom ezt megoldani, akkor ezt nem érzékeli egy más méretű adatbáziban, csak az eredeti rögzítéskor kijelölt cellákkal hajtja végre a műveletet.

(Nem vagyok otthon VB-ben csak amit saját magam ellestem a makro készítése közben az Excel-től Amit próbáltam: hogy beírok a     Range("A1:E20").Select –ben a 20 helyére valami cellahívatkozást, vagy képletet de ez nagy hülyeség…)

 

Köszönettel veszek minden segítséget

Szabó Tibor

 

Sánta Kutya (SK) Creative Commons License 2013.06.04 0 0 21462

A következő makróval tudna boldoggá tenni valaki, nem tudom, mekkora munka ez. (Off. 2007)

A táblázattal azonos könyvtárban levő, fix nevű csv-t (pl. jancsika.csv) nyissa meg, cserélje le benne globálisan a CRLF (CHR(13)CHR(10)) előfordulásokat egy-egy szóközre (a sima LF marad), és mentse el, majd importálja új üres munkafüzetbe a következő paraméterekkel:

  • tagolt
  • kódolás UTF-8
  • tagolójel pontosvessző
  • szövegjelölő idézőjel
  • egymást közvetlenül követő szövegjelölők nem számítanak egynek (nincs pipa)

Tud ebbe valaki segíteni?

Az első feléhez nem kéne Excel, de így egy menetben lefutna és nem kéne még egy program (mivel nem én fogom használni).

pimre Creative Commons License 2013.06.04 0 0 21461

Nagyon kösz. Ez tökéletesen azt teszi, amit szerettem volna.

Előzmény: Retro Image (21430)
tbando Creative Commons License 2013.06.02 0 0 21460

Alt F11 után beillesztesz egy új modult az Insert/Modul paranccsal, majd ctrl+c ctrl+v -vel bemásolod a makrót.

 

 Utána kijavítod. Ugyanis megfeledkeztem arról, hogy ez a kurva fórummotor elzabrálja a blackslash \ jelet. Tehát a Path után nem "" van, hanem "\".  Azaz helyesen a sor:

 

 a = ActiveWorkbook.Path & "\" & "statutso" & b ".xlsm"

 

Ha akarod, átírhatod még a „statutso”-t filenevet neked valami kedvezőbbre, és persze a dimorphystatmentés makrónevet is.

 

A makró futtatásakor az ALT F8 listából kiválasztod és Run.

 

A makró a filet xlsm-be (tehát makróbarátként) menti, tehát nem csak munkalapokat de a makrót is menti. Ez sajnos problémát okozhat, mert  a biztonsági beállításaitok nem biztos, hogy engedik megnyitni. Akkor azokat át kell állítani. Vagy ha ezt nagyon nem akarjátok, továbbfejlesztem a makrót, hogy xlsx-ben mentsen.

 

 

Előzmény: djmorphy (21459)
djmorphy Creative Commons License 2013.06.02 0 0 21459

Köszi szépen! 
Az irányított beillesztés eszembe nem jutott volna... :)

Erről a makróról tudnál mondani valamit? Semmilyen szinten nem tudok makrózni de ezt a mentés dolgot automatizálnám amennyire csak lehet. Már ha azt csinálja. Mit csinál esetleg hova kell beírnialt(alt+f11?) és hol futattom? 

Előzmény: tbando (21458)
tbando Creative Commons License 2013.06.02 0 0 21458

Megcsinálható.  Én úgy csinálnám, hogy nem a Munkafüzeteket menteném  stabilra , hanem a statfüzetet, pdf-ként, vagy html-ként.  Vagy akár xlsx-be is, ha elötte a stat munkafüzet hivatkozásait  fixálnám  a ctrl+c/irányitott beillesztés/érték paranccsal. Persze nem sima mentéssel mentenék, hanem mentés másként-tel, mondjuk „utsostat” néven.  Vagy ami még jobb: utsostat&datum néven.

 

Ezt  viszonylag egyszerűen bebillentyüzheted, de itt egy makró is rá:

 

Sub dimorphystatmentés()

    Dim a, b

    Cells.Select

    Selection.Copy

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

        :=False, Transpose:=False

    Application.CutCopyMode = False

    b = Date

    a = ActiveWorkbook.Path & "" & "statutso" & b ".xlsm"

   ActiveWorkbook.SaveAs Filename:=a, _

        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

End Sub

 

Előzmény: djmorphy (21457)
djmorphy Creative Commons License 2013.06.02 0 0 21457

Köszi szépen az infót! :)

 

 

Most kértés merült fel bennem hogy meg lehet-e oldani, hogy van egy összesítő táblázatom ami különböző excel file-okból szedik ki az infót a felsővezetésnek.

Kérdésem az hogy meg lehet-e oldani hogy az utolsó infókat "jegyezze meg statikusan"(mintha statisztika.xlsx-be pötyögtem volna be unalmamba) az excel vagy minden Munkafüzetet le kell mentegetnem mindig a hivatkozások miatt pdf-be vagy html-be?

Előzmény: tbando (21433)
Sánta Kutya (SK) Creative Commons License 2013.05.31 0 0 21456

Adok nektek egy jó tanácsot teljesen ingyen! Sose rejtsétek el azt az oszlopot, ahol a szűrő be van kapcsolva, ha látni akarjátok az összes sort! Ááááá....

tbando Creative Commons License 2013.05.31 0 0 21455

Tudja valaki, hogy az hol van leírva, hogy a#=2*b% típusú képletben a double adattipusú a# változó értéke nem léphet ki az integerekre megadott intervallumból?  És hogy miért van ez?  

alairta1 Creative Commons License 2013.05.31 0 0 21454

A kérdésre válaszolva: msgbox csak akkor jön fel ha engedélye van rá. A konkrét fileben egy form jön fel amit a megrendelőnek ki kell tölteni. Semmi másra nincs jogosultsága. A raktári oldal csak két dolgot tehet: elvégezte a műveletet illetve nyomtani akar. A megfeelő helyre pipát tesz. Változtatni a táblázatban egyik sem tud.

Előzmény: Eredő Vektor (21452)
alairta1 Creative Commons License 2013.05.31 0 0 21453

Nincs gazdagép. Van egy Excel file a hálózatban ami megosztott. A különböző gépek shortcut-tal kapcsolónak rá. A mikor valaki műveletet kezdeményes akkor egy makró megnézi, hogy milyen jogosultsági csoportba tartozik. Csak azt engedélyezi amit neki elő van írva. Két fő csoport van. Az egyik a raktár, másik az összes többi. Az első indításkor a gépeken feljön egy kérdés: raktár vagy megrendelő vagy. Ez a kérdés többször nem jön fel.

Előzmény: Eredő Vektor (21452)
Eredő Vektor Creative Commons License 2013.05.31 0 0 21452

Az hogy viselkedne megosztott munkafüzetnél, ha selection change eseményre írsz egy sima msgbox-ot a változás helyével/tartalmával? Csak a gazdagépen jelenne meg?

Előzmény: alairta1 (21451)
alairta1 Creative Commons License 2013.05.31 0 0 21451

Így oldottam meg:

Amikor valaki befejezi az adatbevitelt akkor azt egy gombbal lezárja ami elindít egy kb. így kinéző makrót ami 5 perc múlva teljesképernyőre felnyitja a megnevezett gépen a kicsire csukott lapot:

 

Dim PauseTime, Start

Set wsn = CreateObject("WScript.Network")

If wsn.UserName=’raktari gép neve’

          PauseTime = 300    ' Set duration.

          Start = Timer      ' Set start time.

          Do While Timer < Start + PauseTime

                DoEvents        ' Yield to other processes.

          Loop

         Application.DisplayFullScreen = True

 End If

 

 

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

Esetleg vmi segedprogram ami figyeli h az adott file mikor valtozik (timestamp-et/meretet nezi) es sikit ha valtozott? Konkretan nem ismerek ilyet, de biztos van milliofele.

Előzmény: alairta1 (21447)
tbando Creative Commons License 2013.05.30 0 0 21449

Azt miért nem lehet megcsinálni, hogy a frissitő utasítás egy excel formázási parancsot is küld?

 

Pl. Feltételesen formázottak a raktári munkalapok, teszem azt ha A1=0 akkor a cellák szine normal, ha A1=1 akkor meg sárga.  Ha ezekután a frissitéssel megy az  A1=1 parancs is, akkor a munkalapok sárgára váltanak, esetleg valami szöveg is láthatóvá válik,  amit aztán a raktáros, miután tudomásul vette a változást, A1=0 -val visszavált. 

Előzmény: alairta1 (21447)
alairta1 Creative Commons License 2013.05.30 0 0 21448

A filet megosztod.

 

ThisWorkbook -ban:

Private Sub workbook_open()
   AutoUpdateFrequency = 5
End Sub

 

5 percenként frissit anélkül, hogy zavarna.

Előzmény: E.Istvan (21441)
alairta1 Creative Commons License 2013.05.30 0 0 21447

Egy érdekes és szokatlan probléma megoldásához kérnék segitséget.

Adott egy excel file egy belső hálózatban ami meg van osztva egy vagy több raktári géppel illetve a raktárnak a megrendelést feladó gépekkel. Bárhol történik valami változás az 5 percen belül megjelenik az összes gépnél. Ez rendben működik egy kis hibával. A raktári gépeken szükség lenne valami jelzésre, hogy változás történt azaz megrendelés érkezett. Jó megoldás lenne az automatikus megnyitása a filenek vagy a kicsire csukott excel  lap felugrása ezetleg egy pop-up balak automatikus felugrása.

Köszönettel vennék bármilyen használható ötletet.

tbando Creative Commons License 2013.05.30 0 0 21446

Másképpen mondva azt hívom frissítésnek, amikor egy ikonra kattintással vagy menüpont kiválasztásával vagy billentyűkombinációval bezárás nélkül frissül valami.

 

Akkor mégiscsak ugyanarról beszélünk. Mert ezeket az excel mind tudja:  Office-gomb/Legutóbbi dokumentumok/ 1.számú file megnyitása

 

E kattokhoz rendelhetsz ikont is, billentyű kombinációt is.

 

Egyébként szerény véleményem szerint akkor igazán hasznos a frissítés, ha nem csak a frissült állapotot mutatja, hanem magát a frissitést is jelzi. Hasonlatosan a doc-filek korrektura összehasonlításához. Ilyet az excel valóban nem tud. Tudtommal legalábbis. 

 

 

 

 

Előzmény: Sánta Kutya (SK) (21440)
Jozsef Creative Commons License 2013.05.30 0 0 21445

Gyakorlatilag, ugyanaz a probléma mindkettő, ha gombnyomásra már menne, akkor egy timer segítségével kvázi real-time is.

Igazából használható co-authoring még csak webes alkalmazásoknál láttam Google Doc, Excel web app, de ezek mögött ott van az AJAX.

 

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

Köszi!

Igazából nekem az is elég lenne, ha akkor látnám, amikor egy gombot megnyomok (pont mint itt a fórumban), de ha nem, akkor nem.

Előzmény: Jozsef (21443)
Jozsef Creative Commons License 2013.05.30 0 0 21443

Alapból jól látod, Excelben nem lehet. Ha jól értem, a Google Docs-hoz hasonlót szeretnél, valaki módosít, a másik pár pillanat múlva már látja magánál a módosítást. A Sharepont 2013 segítségével és  új Office verzióval meg lehet majd csinálni. 

http://technet.microsoft.com/en-us/library/ff718249.aspx

 

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

Köszi, ezeket is tudom. A frissítés célja az, hogy lássam, ha változik valami. Feltettem egy egyszerű kérdést, amire senki nem meri azt mondani, hogy nem lehet, pont, hanem ehelyett mindenféle ekézéseket kapok. Köszi szépen. Lapozzunk.

Előzmény: E.Istvan (21441)
E.Istvan Creative Commons License 2013.05.30 0 0 21441

Milyen célból kellene neked frissíteni? Ha az Excel folyamatosan jelezné, hogy a hálózaton lévő fájlban a felhasználók módosításokat végeznek, az felesleges energia pazarlás lenne. Én biztos gutaütést kapnék, hogy két percenként jönne a figyelmeztetés, hogy valaki módosította az adatokat. Amikor olvasásra kivetted a fájlt, kvázi tudomásul vetted, hogy az akkori állapotot látod. Ha egy óra múlva meg akarod nézni, akkor újra megnyitod. Nem kell bezárnod sem, csak újra rá kell nyitni.

Egy esetben működik egy frissítésnek nevezhető funkció. Ha valaki megnyitja a fájlt, majd ezután te is megnyitod, akkor te már csak olvasásra tudod megnyitni, azonban feldob egy ablakot, amiben felajánlja, hogy értesít, amikor felszabadul a fájl.

„A fájl zárolva van szerkesztésre. Megnyithatja ’Olvasásra’, vagy válassza az ’Értesítés’ gombot, ha az olvasásra való megnyitás mellett értesítést is kér, mikor a dokumentum használatát befejezték.”

Ha másik felhasználó bezárta a fájlt, akkor a következő üzenetet kapod:

„A fájl már elérhető szerkesztésre. Szerkesztéshez válassza az ’Írásra is’ gombot.”

Ezután nálad nyílik meg szerkesztésre.

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

Másképpen mondva azt hívom frissítésnek, amikor egy ikonra kattintással vagy menüpont kiválasztásával vagy billentyűkombinációval bezárás nélkül frissül valami.

 

Nagyon sok weboldal egyébként még jelzi is, hogy mikor kéne frissíteni! És nem teljes újratöltéssel. Gondolom, AJAX van ezek mögött.

Előzmény: tbando (21438)
Sánta Kutya (SK) Creative Commons License 2013.05.30 0 0 21439

De ne csináljunk már úgy, mintha a piros lámpánál üresbe tenni az autót és a zöldnél egyesbe ugyanaz volna, mint leállítani a motort, kiszállni, bezárni, visszaszállni... A köznyelvi szóhasználat szerint értettem a frissítést, ahogy pl. egy könyvtárlistánál is. A weblap pont rossz példa, mert a weblapok képesek saját magukat frissíteni mindenféle technikákkal még akkor is, maikor nem akarom, de ott se szeretném bezárni a böngészőt vagy azt a fülét, majd újra nyitni egy üres fület, újra beírni az URL-t és újra legörgetni a lap közepéig. Egész egyszerűen nem ezt hívják frissítésnek.

Szóval lényegében azt mondtad, hogy nem lehet frissíteni, csak jó bonyolultan.

Előzmény: tbando (21438)
tbando Creative Commons License 2013.05.30 0 0 21438

Újra betöltés alatt bezárás/megnyitást értesz? Mert az nem frissítés.

 

Már miért nem?  Amikor F5-tel frissítesz egy weblapot, akkor is ez történik, újra megnyitod a weblapot, ami felülírja a régit. Vagy te mit nevezel frissítésnek? Írd meg kérlek, hagy okosodjak. 

 

Újra betöltés alatt érthetem a bezárás/megnyitást is, de a bezárás az excelnél ugyanúgy elhagyható mint a weblapok újra megnyitásánál.

 

A calculate alatt az F9-t értem. Ha csatolásban vagy a másik fájllal, akkor lehet ezt alkalmazni. De az egyidejűleg megnyitott munkafüzetek között nincs csatolás. Legalábbis E.István  21368 sz. hsz-e alapján ezt szűrtem le. De te is valami ilyesmit írtál, amikor  írtad hogy nincs real time kapcsolat a megnyitott munkafüzetek között.  

 

 

Előzmény: Sánta Kutya (SK) (21435)
Törölt nick Creative Commons License 2013.05.29 0 0 21437

Ja kimaradt, hogy a 2. pontbeli honap oszlop melle kell meg egy VLOOKUP(honap,mellektabla,2,0) amit az IF fv hasznal.

Előzmény: Törölt nick (21436)

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