Hirdetés

Keresés

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

  • mh197

    őstag

    Sziasztok!

    Újabb probléma lépett fel sajnos.. :W

    Van az alábbi makróm:

    Private Sub Workbook_Open()
    MsgBox "Üdvözlöm a feladat nyilvántartás osztályos kimutatásában!"
    ActiveSheet.Protect Password:="A", UserInterfaceOnly:=True, AllowFiltering:=True
    End Sub
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ActiveSheet.Protect Password:="A", UserInterfaceOnly:=True, AllowFiltering:=True
    ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
    If SaveAsUI Then
    MsgBox "A 'mentés másként' funkció NEM HASZNÁLHATÓ!!!"
    MsgBox "A táblázat NEM KERÜLT MENTÉSRE! Mentse ISMÉT a 'mentés' gombbal!!!", vbInformation
    Cancel = True
    End If
    End Sub
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If MsgBox("Biztosan be akarja zárni az osztályos kimutatást ?", 36, "Confirm") = vbNo Then
    Cancel = True
    End If
    End Sub

    Az a lényeg, hogy van egy excel (osztályos kimutatás), amiben több más excel hivatkozva van. Az alábbi sor azért került be, hogy ha rányomok a mentésre, akkor frissítse be az osztályos kimutatásban a behivatkozott cellák adatait.

    ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources

    Amikor azonban megvan nyitva az osztályos kimutatás, és esetleg valamelyik hivatkozott excel fájl is egy időben, akkor az alábbi hibaüzenetet kapom:

    Valószínűsítem, hogy az a gond, hogy az aktív munkafüzetben próbál frissíteni a makró, és ezért jön a hiba, de ez csak sejtés.. Esetleg tud valaki segíteni, mit kellene átírni, hogy ne adjon vissza hibát, ha a hivatkozott excel fájl, és az osztályos kimutatás is meg van nyitva egyszerre?

  • mh197

    őstag

    válasz Fferi50 #22609 üzenetére

    Ez lett a megoldás. Így mindent frissít már. :C

    ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources

    Köszönöm a segítséget! :R

  • mh197

    őstag

    válasz Fferi50 #22609 üzenetére

    Szia!

    Ez sajnos nem oldja meg a gondot..

    Amit meg akarok csinálni: Van két excel fájl a gépen. A fájl egyik cellája sima hivatkozással behivatkozza B fájl azonos cellájának tartalmát. Ha bezárom a B fájlt (A marad nyitva), és B fáljt kimásolom egy másik könyvtárba és ott megnyitom, módosítom B fájlban a hivatkozott cella tartalmát, majd ment és bezár, és visszamásolom ezt az eredeti B fájl helyére, majd ezt követően megnyitom megnézem az A fájlt-t, akkor nem látom benne a B-ben így módosított adatot. Csak akkor fogom látni, ha az adatok->hivatkozások menüpontban megnyíló ablakon a frissítésre nyomok.
    Ez ok is lenne, de ha ráteszem A -ra a lapvédelmet, akkor a frissítés gomb inaktív lesz...

    Megoldás esetleg?

    Próbáltam az általad javasoltat, de nem frissíti sajnos úgy.. :W

  • mh197

    őstag

    válasz Fferi50 #22576 üzenetére

    Köszönöm, ezt elkezdem megírni, remélem menni fog. :R

    Kezdő vagyok még nagyon excel makróban, de amikor időm van olvasom itt a hozzászólásokat, mert sok hasznos infó van benne.

    Amire eddig még nem leltem rá:

    Lehetséges egy füzetvédelemmel és lapvédelemmel ellátott excel munkafüzetben a csatolásokat frissíttetni makróval? Arra gondolok, hogy pl mikor rányomok a mentés gombra, akkor frissítse be a csatolásokat is. Amikor a lapvédelmet ráteszem, akkor az "adatok->hivatkozások" ablakban látható "Frissítés" gomb inaktív lesz.
    Gondolom ehhez a frissítéshez a makrónak hozzá kell férnie a laphoz, amit a Delila_1 által már ajánlott sor megoldana.

    ActiveSheet.Protect Password:="hűdetitkosjelszó", UserInterfaceOnly:=True

    De hogy tudom a csatolt adatokat ezután frissíttetni vele? Olyan makró, ami ugyanazt csinálná, mint amit az "adatok->hivatkozások" ablakban látható "Frissítés" gomb.

    Azért lenne ez fontos, mert megnyitáskor ugyan befrissíti az egyéb excel fájlokból csatolt adatokat, de utána nem. Ha a csatolásban hivatkozott fájl egy hálózati mappában van megosztva, és a fájlba beírok valamit egy másik gépről, akkor amibe becsatoltam, csak akkor válik ez az adat láthatóvá, ha újra megnyitom az excel fájlt. Ezért lenne jó egy olyan makró, ami pl a mentés gombra kattintással ugyanazt csinálná, mint amit a megnyitáskor elvégzett csatolások frissítés.
    Létezik ilyen? :F

  • mh197

    őstag

    A mentés másként funkció használatát akarom jelszóhoz kötni.

    Most az alábbi kód van:

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI Then
    MsgBox "A 'mentés másként' funkció NEM HASZNÁLHATÓ!!!"
    MsgBox "A táblázat NEM KERÜLT MENTÉSRE! Mentse ISMÉT a 'mentés' gombbal!!!", vbInformation
    Cancel = True
    End If

    Ez ugye kompletten tiltja a mentés másként használatát. Mivel lehetne megadni, hogy jelszót kérjen a mentés másként funkciónál? A sima mentés mehet jelszó nélkül, csak a mentés másként lenne jelszóhoz kötött.

  • mh197

    őstag

    válasz Delila_1 #22508 üzenetére

    Mégis van egy "apróbb" gond még az előzővel. Ha berakom a makróba az általad javasolt sort, utána elmentem, akkor nem megy az autoszűrő. A lapvédelmet úgy módosítja, hogy az autoszűrő -ből kiveszi a pipát, ha mentem a fájlt.
    Erre van valami megoldás, hogy az autoszűrőt ne vegye ki, vagyis lehessen a lapvédelem ellenére szűrni?
    Azt próbáltam, hogy amikor a lapvédelmet ráteszem, úgy mentem, hogy bepipálom az autoszűrőt, de ha utána mentem, akkor magától kiveszi onnan, és már nem is megy a szűrés utána tovább.. :O

  • mh197

    őstag

    válasz slashing #22516 üzenetére

    Igen, ezt ismerem, hogy átkattintok, és így hivatkozom. De próbáld ki ezt akkor, ha ezt követően elmented és bezárod a két fájlt. Utána a mappát másold át valahová márs helyre, amiben ez a két fájl van, pl másik gépre, és más mappába. Na ha ekkor megnyitod a két fájlt, akkor frissíteni kell az elérési utat.. Ezt akarnám valahogy kikerülni, hogy ne kelljen frissíteni. :W

  • mh197

    őstag

    válasz Delila_1 #22506 üzenetére

    Egyébként van még egy gondom, amit lehet nem lehet orvosolni..

    Ha az egyik excel munkafüzetben hivatkozok egy másik excel munkafüzetre, akkor ugye a hivatkozásban elmenti az adott gépen a hivatkozott munkafüzet elérési útvonalát. pl.: C:/dokumentum/excel/munkafüzet2/...

    Mind a két excel munkafüzet egy mappában található. Ekkor ha a mappát a két excel fájlal együtt átteszem másik helyre a gépen, vagy pl másik gépre átmásolom, ahol más lesz az elérési út, akkor az adatok->hivatkozások helyen frissíteni kell az elérési útvonalat.

    Meg lehet azt oldani valahogy, hogy ha a két fájl mindig egy mappában van, de pl azt a mappát másik gépre más elérési útra másolom, akkor attól ne kelljen frissíteni a hivatkozásokat? Valahogy úgy megadni a hivatkozott munkafüzetet, hogy azt az adott néven ugyanabban a mappában keresse, de ne vizsgálja az elérési utat.

    Lehet, hogy nem kivitelezhető, de gondoltam megkérdem, hátha van erre is megoldás, csak én nem ismerem.. :U

  • mh197

    őstag

    válasz Delila_1 #22506 üzenetére

    Nagyon szépen köszönöm! Az általad leírtakkal tökéletesen működik! :R :R :R

    Kicsit siettem, mikor írtam (vidékre kellett gyorsan indulni), próbáltam még szerkeszteni, de már nem volt időm rendesen megcsinálni..ezért lett olyan sajnos.. :B

  • mh197

    őstag

    Sziasztok!

    Segítséget szeretnék kérni excelben.

    Az adott munkafüzet celláit védeni kellene a cellaformázás ellen, de nem minden cellát. Jelenleg a lapvédelmet ha bekapcsolom, akkor hiába veszem ki a pipát a védelem - > "zárolt" helyről, akkor azok a cellák attól ugyanúgy nem formázhatóak cellaformázással, jobb klikk esetén azokra a cellákra ugyanúgy inaktív marad a cellaformázás menüpont. Tudom, hogy a lapvédelemnél be lehet pipálni, hogy a védelem bekapcsolása esetén lehessen a cellákat formázni, de az meg azért nem jó, mert 5 db cellán kívül ez ellen az összeset védeni kellene.

    Miért kell a cellaformázhatósága: van egy makró benne, hogy cserélődjenek a színek az alábbiak szerint:

    Public Idozites As Double
    Sub Villogas_ki()
    Range("F5:G6").Font.ColorIndex = xlAutomatic
    Range("F5:G6").Font.Color = RGB(255, 0, 0)
    Range("F5:G6").Interior.Color = RGB(255, 204, 153)
    Application.OnTime Idozites, "Szincsere", , False
    End Sub

    Sub Szincsere()
    If Range("F5:G6").Font.Color = RGB(255, 0, 0) Then
    Range("F5:G6").Font.Color = RGB(0, 0, 255)
    Range("F5:G6").Interior.Color = RGB(255, 0, 0)
    Else
    Range("F5:G6").Font.Color = RGB(255, 0, 0)
    Range("F5:G6").Interior.Color = RGB(255, 204, 153)
    End If
    Idozites = Now + TimeSerial(0, 0, 1)
    Application.OnTime Idozites, "Szincsere", , True
    End Sub

    ---

    Public Most_villog As Boolean
    Private Sub Workbook_Open()
    MsgBox "Üdvözlöm a feladat nyilvántartásban!"
    If Range("A2") <> "0" And Most_villog = False Then
    Call Szincsere
    Most_villog = True
    ElseIf Range("A2") = "0" And Most_villog = True Then
    Call Villogas_ki
    Most_villog = False
    End If
    End Sub

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI Then
    MsgBox "A 'mentés másként' funkció NEM HASZNÁLHATÓ!!!"
    MsgBox "A táblázat NEM KERÜLT MENTÉSRE! Mentse ISMÉT a 'mentés' gombbal!!!", vbInformation
    Cancel = True
    End If
    If Range("A2") = "0" And Most_villog = True Then
    Call Villogas_ki
    Most_villog = False
    ElseIf Range("A2") <> "0" And Most_villog = False Then
    Call Szincsere
    Most_villog = True
    End If
    End Sub

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If MsgBox("Biztosan be akarja zárni a feladat nyilvántartást ?", 36, "Confirm") = vbNo Then
    Cancel = True
    End If
    End Sub

    Ahogy ebben látható az F5:G6 tartomány színe változna az A2 értéke függvényében. Lényegében az adott munkafüzetben az F5:G6 tartományban lévő cellákon kívül mindegyiknek védettnek kellene lenni cellaformázás ellen, ha a lapvédelmet bekapcsolom. Mindez azért kellene, mert ha az F5:G6 tartomány cellaformázás ellen védetté válik a lapvédelem bekapcsolásával, akkor a "színcsere" nem tud futni ezeken a cellákon.. :O

    Erre van esetleg valakinek itt ötlete, hogyan lehetne megoldani?? :W

    Előre is köszönök minden építő jellegű hozzászólást! :R

    Szép hétvégét!

  • mh197

    őstag

    válasz Mutt #16775 üzenetére

    A többi opciót is megnéztem, de akárhogy állítottam, azok sem segítettek..

    Szerintem inkább az excel-nek van valami beállítási gondja, mert az nem akarja beilleszteni a pdf-et..

  • mh197

    őstag

    válasz Mutt #16775 üzenetére

    Nos, a General pontban ennyi látszik:

    Lehet már csak az idegtől nem látom azt a protect mód kikapcsolási pontot...

    A többi általad írt dolgot is mindjárt megnézem.

  • mh197

    őstag

    válasz Mutt #16770 üzenetére

    Feltettem a 11-es acrobat-ot, de semmi változás..

    Excelben valami beállítási gond???

  • mh197

    őstag

    válasz Mutt #16770 üzenetére

    Szia!

    Ha erre gondoltál itt a képen:

    Ezt a biztonsági pipát kivettem, de semmi nem változott..

    Vagy nem erre gondoltál??

  • mh197

    őstag

    Sziasztok!

    Segítségre lenne szükségem, mert már felrobbanok lassan... :O :O :O

    A probléma az, hogy benti céges gépen excelben gond nélkül be tudom szúrni objektumként a pdf fájl-t a munkalapon, és ikonként is jelenik szépen. Itthon ugyanúgy 2010 -es excelben pedig ugyanazzal a metódussal (objektumbeszúrás -- > létrehozás fájlból --> tallózással kiválasztom a pdf fájlt amit be akarok szúrni, a csatolás fájlhoz, és az ikonként látszik marad nem bebipáltan --> ok --> kidobja a hibaüzenetet), ugyanazon fájlba, amit már benn elkezdtem, ezt a hibaüzenetet dobja:

    Tud valaki s.o.s. segíteni, hogy mit kellene átállítani/telepíteni, mert fontos lenne megcsinálnom több pdf fájl beszúrását egy excel munkafüzetbe (folytatnom azt amit benn elkezdtem), de ezt a hibaüzenetet adja.. Ja, és jópofa, mert megkérdezi, hogy hasznos volt a hibaüzenet.. Hát marha vicces ez a microsoft mondhatom.. :W :W

    Megpróbáltam egy teljesen új excelbe is beszúrni egy itthoni pdf fájl-t objektumként, és ugyanezt a hibaüzenetet adja.. Ebből arra következtetek, hogy a gépemen fenn lévő excel-en nincs valami jól beállítva, vagy nincs valami ehhez a beszúráshoz feltelepítve..

    Van valakinek ötlete, hogy mi lehet az amit be kellene állítani, esetleg mi az ami hiányzik??

    Op rendszer: win7 64 bit,
    excel: 14.0.6129.5000 (64 bites)
    adobe reader: 9.5.3. (ha esetleg ez is számítana..)

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