Keresés

Új hozzászólás Aktív témák

  • stigma

    addikt

    válasz stigma #49639 üzenetére

    Útközben megtaláltam, hogy space nem lehet az elérési utban és nem is tudom helyettesíteni a %20-al ezért a root mappával/elérési úttal kell dolgoznom. pl.: https://sharepoint.com/

  • stigma

    addikt

    válasz Mutt #49637 üzenetére

    Hi, köszi az infót útközben sikerült megoldani, de nem írtam be ide neked, ezért sorry.
    Youtube videot nam találom mi alapján csináltam, de leírom gyorsan.

    Mappa elérési útvonala tegyük fel a A2-es cellában van, amiből a Sharepoint alatt az adatokat beolvassa a makró.
    - A2-es cellánaka névtartományát elneveztem ,,mappa"-nak
    - Kattingatós módszerrel csináltam a sharepoint mappából egy fájlkeresést, majd a kódját az alábbi pár sorral módosítottam a PowerQuery-ben:
    let 
        mappa = Excel.CurrentWorkbook(){[Name="mappa"]}[Content]{0}[Column1],
        Forrás = SharePoint.Files(mappa, [ApiVersion = 15]),

    - Ezek után egy munkalapra ezeket a fájlokat kilistáztam ahogy mondtad/írtad.

    És ugye az általad írt kóddal kellett volna mennie tökéletesen, ami ment is de ha mappát váloztatok a frissítés nem midnig tökéletes:
    ActiveWorkbook.Connections("Lekérdezes - querynév").Refresh

    Erre ez volt a megoldás, amivel már 100%-ra működik:
        With ThisWorkbook.Connections("Lekérdezes - querynév").OLEDBConnection
            bRfresh = .BackgroundQuery
            .BackgroundQuery = False
            .Refresh
            .BackgroundQuery = bRfresh
        End With

    Ez lefutáskor frissíti az adatokat tökéletesen, és így már nincs az, hogy ha átírom a mappanevet néha a régi fájlnevek jönnek be.

    Most egy picit még szívok a sharepoint-os elérési úttal- de megoldom :DDD - , mert az elérési útban ha van space nem dolgozza fel, még azt sem ha át van aláakítva %20-al.
    Tehát mondjuk ilyesmik lennének az elérési utak amik fixek:
    - https://sharepoint.com/Shared Documents/mappa1
    - https://sharepoint.com/Shared Documents/mappa2

    Itt a Powerquery-ben replace-el kicserélm a space-t "%20"-ra de nem működik, viszont a megoldásom az lett, hogy az elérési utat ezzel vizsgálom ( https://sharepoint.com/) majd egy másik oszlopban ahol a Folder-t listázza, ott szűröm, hogy a "mappa1" vagy "mappa2" bennelegyen és így már életképes a megoldás.

  • stigma

    addikt

    válasz Mutt #49615 üzenetére

    Hi, köszi, igen eddig így csináltam, viszont van egy érdekesség amire nem jövök rá mi lehet a gond.
    Refresh utána táblázat aktualizálódik, viszont, ha elérési úton változtatok egy másik mappára, akkor nem mindig frissül a táblázat (Képletek /Számolási beállítás /automatikusan van) és a régi elérési utakat dobja bele.
    Application.wait-et is tettem bele, de minden 2. futtatás után jön elő a hiba, mikor mappát váltok.

    A fájlokat egy tömbbe töltöm bele, ami tökéletes, mert eddig nem igazán kellett ezen kívül változtatnom a makrón hála istennek.

    A többire guglizok, mert szerintem valamit én rontok el. Köszi az eddigi segítséget. :R

  • stigma

    addikt

    Sziasztok.

    Régebben volt 1 kérdésem, amit sikerült megoldani a Mutt fórumtárs segítségével, hogy egy adott mappában keresgessek fájlokat.

    A Query szépen megkeresi, és frissíti is is a fájlokat ha lefuttatom.
    Annyit optimalizáltam rajta, hogy egy új lekérdezésbe a mappa+fájlneveket összefűztem és eredményként csak az elérési útjaikat adja vissza.
    Van arra lehetőség, hogy VBA kóddal ezeket kimentsem 1 listába/tömbbe bármibe?

    Erre azért lenne szükségem mert egy meglévő makrót írok át, ahol a helyi hálózat helyett Sharepoint felületről szedi az adatokat a makró.

    Tud valaki segítnei?

  • stigma

    addikt

    válasz Mutt #49502 üzenetére

    Hi, köszi szépen, ma nekiálltam és sikerült megcsinálni és az általad írt VBA kód is megy.
    Elboldogulok már szerintem vele, lényeg a fájlkeresés volt a lényeg, mert a struktúra így néz ki:
    https:\\valami.sharepoint.com\sites\rootmappa
    |->https:\\valami.sharepoint.com\sites\rootmappa\Mappa1
    |->Makrós Excel ami fájlokat keres és hivatkozásokat ír a munkalapokra
    |->https:\\valami.sharepoint.com\sites\rootmappa\Mappa2
    |->Makrós Excel ami fájlokat keres és hivatkozásokat ír a munkalapokra

    Itt ugye minden Excel külön más más mappában van(Mappa1,Mappa2) ezért a Sharepoint foldernek a rootmappát adtam be, viszont az mind a Mappa1 és Mappa2-ben keres, ezért több fájlt talál meg a kelleténél.

    Ezeket majd leprogramozom neki, hogy egy cellába beírt mappaneveket pl: csak Mappa1 keressen csak a fájlnevekbe és azt adja csak vissza eredményül.

    Ez már nekem így nagy segítség volt, ezer hála. :R

  • stigma

    addikt

    válasz Mutt #49502 üzenetére

    Hi, nagyon szépen köszi a segítséget :R , ilyet még úgysem csináltam :D, remélem nála is fog működni rendesen.

    Sharepoint nálam egy picit vakvágány - nála meg főleg - , szóval pár napon belül visszaírok sikerült vagy sem a mutatvány.

  • stigma

    addikt

    Sziasztok.

    Ismerősömnek kellene segítenem a makrókját átírni, mert egy hálózati meghajtója költözött Sharepoint alá és a makró hibára fut, melyet nemsokára kifejtek.

    A makró maga, annyit csinál, hogy a központi meghajtóról bekeresi az összes Excel-t, majd a megadott cellákat a makrós Excel fájl munkaljaira behivatkozza.

    Eredeti makró elérési útja így néz ki kb:
    - Ha felcsatolt a gépére a hálózati meghajtót, akkor ilyesmi elérési utat ad meg => E:\Mappa
    - Ha nincs felcsatolva akkor a szokásosat => \\halozatimeghajto\Mappa
    Makróban 1 gomb van, paraméternek ezt az 1 elérési utat (stringet) kell megadni.

    Ez szépen futott mindaddig, amíg Sharepoint alá nem kerültek fel a fájlok.
    A makró kódja kb így működik: Link

    Set oFSO=Createobject("Scripting.FileSystemObject")
    Set Folder=oFSO.GetFolder(sPath) => itt dob Error 76 vagy error 52-t , hogy rossz elérési út
    Sharepointban az alábbi elérési út lett most neki:
    https:\\valami.sharepoint.com\sites\Mappa1

    Utánnaolvasva pár átalakítást végeztem neki de nem jutottam sikerrel:

    sPath="https:\\valami.sharepoint.com\sites\Mappa1"
    if mid(sPath,len(sPath),1) <>"\" then
      sPath=sPath & "\"  'Hozzáfűzök egy "\" jelet ha nincs megadva az elérési út végén
    end if
    sPath=replace(sPath,"\","/")
    sPath=replace(sPath," ","%20") 'Ha lenne benne space akkor cserélni kell a karaktereket
    sPath=replace(sPath,"https:","")
    Set oFSO=Createobject("Scripting.FileSystemObject")
    'Átalakítások után ez lenne az elérési út: //valami.sharepoint.com/sites/Mappa1/
    Set Folder=oFSO.GetFolder(sPath) => itt ismét hiba van, szintúgy 52 vagy 76-oes error-al ami a rossz elérési útat jelenti.

    Próbálkoztam az alábbi elérési utakkal, de szintúgy 52 és 76os error-ra jutottam:
    1. fordított perjelekkel is: \\valami.sharepoint.com\sites\Mappa1\
    2. hozzáadtam @SSL vagy @SSL/DavWWWRoot-ot is : \\valami.sharepoint.com@SSL\sites\Mappa1\ vagy \\valami.sharepoint.com@SSL\DavWWWRoo\sites\Mappa1\
    3. próbáltam fordítva is: //valami.sharepoint.com@SSL/sites/Mappa1/ vagy //valami.sharepoint.com@SSL/DavWWWRoo/sites/Mappa1/

    Ötletem még a MapNetworkDrive használata lett volna, amit sosem használtam. Itt gond lenne szerintem ahogy a hivatalos oldalt és pár kódot láttam, mert a behivatkozott fájlok helyett a MapNetworkDrive-nak megadott akármilyen betüjelet használná, ami nem jó sajnos.

    Valakinek van valamilyen ötlete , hogy lehet egy Sharepoint mappában (amiben van almappa is) Excel fájlokat (*.xlsx) megkeresi az összeset?

    Segítséget előre is köszönöm. :R

  • stigma

    addikt

    válasz Fire/SOUL/CD #48425 üzenetére

    Hi, köszi ez egy nagyon jó ötlet, megpróbálom holnap.
    Az általam említett Excel fájlok , melyből adat kell xlsm - tehát makrós Excel - , zárolt cellákkal és képletekkel, tehát úgy simán csak beszúrni a következő sorba nem tudok mert a struktúra fix sajnos.

    Ötletek jók, köszönöm, megpróbálkozom velük holnap :R
    Ha kapufára futok 2 ötletem van ami tutira jól fog menni.
    1. megoldás: Csinálok egy makrós fájlt, aminek 2 funkciója lesz. 1 gomb ami makrózza az adatokat 1 Excel fájlba a fontos cellákat külön külön munkalapra, így minden munkalapon lesz 50 sorom ami fontos cellákat + egyedi mezőket (A1,A2 ) tartalmazza.
    2 gomb pedig a Powerpivot/Access import gomb lesz ami beviszi az értékeket.
    2. megoldás: Csinálok egy makrós fájlt amivel a 50 fájlból kiolvasott adatokból 50 csv-t csinál, majd azt importálom be.

    Első megoldás szipmatikusabb, de alszok rá egyet és az ilyen fontos dolgokra iszok egy sört :DDD , mert az megmozgatja az agyam :DD

  • stigma

    addikt

    válasz Fferi50 #48423 üzenetére

    Hi, igen ez amit te is ajánlasz én is rájöttem, vagyis névtartománnyal simán megoldható és mág húzkodni sem kell.
    De akkor nem tudom, hogy az az adat ami oda bement melyik fájlból ment be és mi aza 2 azonosító ami nekem még kell a fájlból (A1;A2 cella)

  • stigma

    addikt

    Sziasztok.

    Picit haladobb Excel feladatra kérném a segítégeteket, elég ötlet szinten csak.
    Ismerösőmnek segítek, és kérdés az lenne, hogy kivitelezhető e az alábbi feladat, hogy sok-sok Excelből kis ráfordítással egy adatbázisba mentesem az adatokat.Csak Powerpivot és Access az, amivel tudok dolgozni, mert csak ez adott.
    Felállás az alábbi:
    Root mappa
    |
    2022
    | ->01
    | .
    | ..Excel fájlok ~ 50 db, azonos struktúra
    | ->02
    | .
    | ..Excel fájlok ~ 50 db, azonos struktúra

    Ez a mappastruktúra, ami havonta új mappával frissülne közel 50 új fájllal.
    Annyit szeretnék, hogy az 50 fájlban van 5-10 fontos sor/terület amit bele akarok menteni egy adatbázisba ami Powerpivot és/vagy Access, viszont van egy bökkenő.
    Mind az 50 Excel fájl felépítése ugyanaz, az adatbázisba mentendő cellák adataiban térnek el.
    Excel adatokban ezek a fontosak:
    - A1, A2 cella
    - A5:L5
    - A6:L6
    - ...

    Ez még nem is lenne para, mert Excelebn sima tartomány kijelölése/névmegadással és az általam említett 2 adatbázissal összeimportálható, de jön a bökkenő :DDD

    A bökkenő, mégpedig hogy kimutatást kell csinálni a végén nem csak szummázni az adatokat, ezért a névtartományhoz amit felveszek pl: A5:L5 az elejére vagy a végére az A1,A2 cellát még hozzá kéne csapnom, ami eddig nem sikerült.

    Ez megoldható bármilyen kisebb trükkel?
    Ha nem nem gond, mert lemakrózom, csak akkor nagyobb ráfordítás lesz :DDD

    Segítséget előre is köszönöm. :R

  • stigma

    addikt

    válasz sztanozs #35502 üzenetére

    Útközben én is megtaláltam, de köszönöm, hogy beírtad. :R

    Köszi mindenkinek.

  • stigma

    addikt

    válasz Louro #35499 üzenetére

    (#35499) Louro,(#35500) sztanozs : Köszi a gyors választ mindkettőtöknek.

    Sajnos mindenhol ponttal használom és írtam emg a makró kódot, mert erre nem is gondoltam.
    Területi beállításokat néztem, és amygar van beállítva midenhol, éééé.hh.nn formátum, területnek a magyar van belőve.

    Sajnos a nyelvezet az Ecxel-ben más, mert a nyelvezete és a képletek magyar a menüben, viszont a VBA német nyelvű (muntinál ahol dolgozom,német a kötelező nyelv)

    Megpróbálom majd átírni úgy, hogy megegye mindkettőt, és lehet kötőjelet fogok alkalmazni.

    / jelet megeszi a 2013, 2010 nem.
    :R

  • stigma

    addikt

    Szaisztok.

    Lenne egy VBA-s kérdésem, mégpedig az hogy lehetséges az, hogy Office 2010-ben úgy tudtál dátumot konvertálni, hogy a megadott string-ben pontokkal voltak elválasztva (pl: Cdate("2017.01.01") a dátum éh-hó-napja, és ez 2013-ra megváltozott ? Cdate("2017/01/01")

    Mert én napokban váltottam Office 2010-ről 2013-ra és elég sok makró melyet írtam és használunk , ott string konverzióként ponttal választottam el, ezek mind hibára futnak = > Type mismatch (error 13)

    Találkozott valaki ilyesmi problémával?

  • stigma

    addikt

    válasz Fferi50 #33238 üzenetére

    Re köszi.

    Nem tudom miért nem jutott ez eszembe :DDD
    De most már leesett, mert Java esetén is így tudom használni a más osztályokban deklarált váltózókat. :R

  • stigma

    addikt

    Szasztok!

    Olyan problémát kellene lemakróznom, mely az alábbi:
    Adott egy Exelc fájl 3 munkalappal. Az egyik munkalapon, nevezzük ,,fő munkalapnak" ahol van 1 táblázatom melyben a maradék 2 munkalapról képlettel számolja az értékeket.
    Erről a ,,fő munkalap" táblázatában változás történik, akkor küldjön egy emailt a változásról megadott fix 4 mail címre. Email-es modult már megírtam , igazából az érdekelne, hogy ezeket a globális változókkla meg lehet adni?
    Ahogy én képzeltem:
    Maradék 2 munkalapon történik az adatfeltöltés, ahonnan a ,,fő munkalapnak" táplálkozik.
    Arra gondoltam Excel indulásakor elmenteném egy változóba a táblázat értékeit ( ami kb 5-6 érték), és ezt a maradék munkalapokon új sor felvitelekor vizsgálnám.

    Én úgy képzeltem makró nyelven:
    1.Excel indulásakor a Workbook_Open metódussal elmenteném az értékeket a globális vátozásba
    2.A ,,fő munkalap" adatai akkor változnak, ha az I oszlopban lévő adatokat kitöltjük fixen a maradék 2 munkalapon.
    Ezt mindkét ménkalapon tudom úgy kezelveni, hogy Workbook_Change(byval Target as RAnge) metódusával vizsglnám meg.

    Engem az érdekelne van e olyan változó melyet külön modul-ból vagy Thisworkbook-ból elérem?
    Próbálkoztam már Public, Public Const, Private változók deklarálásával, de sajnos nem jártam sikerrel.

    Remélem nem írtam le bonyolultan, magát a makró kodot meg tudom írni, azal problémám nem lesz.
    Segítséget előre is köszönöm. :R

  • stigma

    addikt

    válasz Delila_1 #31691 üzenetére

    Köszi, sajnos nem jó, mert az egész munkalapot levédemnigy és nemntudok más cellatartományba írni

  • stigma

    addikt

    Sziasztok!

    Egy jó kis kérdésem lenne, amivel pár órája szenvedek de nem tudom a megoldást.
    Azt kellene csinálni a makrónak, amit írtam, hogy egy excel fájl, bizonyos munkalapján szeretném egy bizonyos területet levédeni, hogy már írni ne lehessen bele.
    Próbálkoztam az alábbi programkóddal:

    With Workbooks(aktwb).Sheets(aktsht).Range(Cells(i, 5), Cells(i, 15))
    .Locked = True
    '.Protect Password:="admin" ', UserInterfaceOnly:=True
    '.Protect Password:="admin", DrawingObjects:=True, Contents:=True, UserInterfaceOnly:=True

    End With
    'ActiveSheet.Protect UserInterfaceOnly:=True

    Bajom annyi jogy ezzel az aktív munkalapok titkosítom , és bármely más cellába szerenék írni nem engedia makró.

    Egész feladatom az alábbi , amiből már a 90%éát megcsináltam. (mi más mint EB-s meccsek kiértékelése)

    Adott egy táblázat, melyben minden sorban található a melyik meccs lesz az EB-n, mellette egy dátum formátum. A makróm úgy müködik hogy a minden Excel nyitáskor lefut (Workbooks.open()) a makró és megnézi hogy a meccs már volt -e, tehát lejátszották, mert ha igen, akkor aki tippelt rá, ne tudjon modosítani.

  • stigma

    addikt

    Hi. Egy érdekes kérdésem lenen Excel VBA kóddal megvalósítható e az alábbi feladat.
    A munkalap indításakor(workbooks.open) felugrik egy Form, amit kitöltesz (Textbox,checkbox, Listbox elemekből), és egy gomb megnyomásával egy adott munkalap cellába írom a változásokat. Az egyetlen Listbox-ba fájlok(képek,dokumentumok) eléris útját adhatom hozzá/törölhetek.

    Ha ezzel végeztem akkor szeretnék egy nyomtatási képet létrehozni, ami sikerült is, csak azzal van bajom, hogy tegyük fel 3-5db kép lenne amit meg kéne jelenítenem a nyomtatási képen.Ezt dinamikusan meg lehet oldani?
    Úgy gondoltam az első oldalamon van a kiértékelt szöveg és a 2. oldaltól meg 3-val a képket amiket csatoltam a dokumentumhoz.

    With Activesheet.PageSetup
    Itt beállítottam a margókat,lábléc,fejlécet, meg hogy A4-re nyomtasson.
    End With

    Képeket felpakolni max Shape-k megoldásával gondoltam, de ugyebár itt igazítanom kellene őket a 2. oldal tetejére és megmondani milyen széles legyen, nehogy lelógjon a lapról.

    Ha bárkinek van épkézláb ötlete szívesen várom. :R

Új hozzászólás Aktív témák