Telefonszámunk: 1-472-0679

[Resolved] Csatolás törlése makróban – Breaklink

Kezdőlap Fórumok Excel programozás [Resolved] Csatolás törlése makróban – Breaklink

Topic Resolution: Resolved

Ennek a témakörnek tartalma 5 hozzászólás, 3 résztvevő. Utolsó frissítés:  szeter658 3 hete, 6 napja telt el.

6 bejegyzés megtekintése - 1-6 / 6
  • Szerző
    Bejegyzés
  • #6271

    szeter658
    Felhasználó

    Sziasztok!

    Van egy problémám. Az éves tervezésnél 92 költséghely adatait kell kiraknom egy-egy állományba. Ez menne is, de mivel a felelősök nem látják az összesített állományt, a csatolást meg kellene szakítanom az egyes állományok létrehozása után, de még a mentésük előtt.
    Makrórögzítéssel kaptam ezt a kódot:

    ActiveWorkbook.BreakLink Name:= “C:\Munka\Kst_Budget_Summary_Plan.xlsm” _
    , Type:=xlExcelLinks

    Amikor a saját makrómba ezt beillesztettem, akkor rendszeresen leállt az excel.
    Az Online-Help segítségével a következő lett a makróm érintett sora:

    meine_name = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
    ActiveWorkbook.BreakLink Name:=meine_name(1), Type:=xlLinkTypeExcelLinks

    Most már szépen lefutott a makróm, kaptam is 92 állományt. De egyikben sem törlődött a csatolás az eredeti állományra. Azaz most egyesével nyithatom őket meg és szedhetem ki a csatolásokat. 🙁

    Van valakine egy tippje, miért nem megy így a csatolás törlése?

    Előre is köszönöm:

    SzTR

    #6272

    delila
    Felhasználó

    Szia!

    Zárás előtt kijelölöd a tartományt, másolod, és saját magára értékként beilleszted.

        Range("A1").CurrentRegion.Copy
        Range("A1").PasteSpecial xlPasteValues
    #6273

    horvimi
    Adminisztrátor

    szia!

    A Break Link téma néha elég macerás valóban.
    Én egy kicsit megpiszkálnám, az elejét, hogy mit is csinálsz valójában?

    Egy nagy fájlban vannak az adatok, esetleg laponként, vagy egy táblában, és onnan teszed ki valami szűréssel vagy lapmásolással új fájlba őket?
    Írd le a folyamat elejét is, mert gyanús, hogy ott van az alap gond.
    Azt is makróval csinálod?

    Imre

    #6274

    szeter658
    Felhasználó

    Sziasztok!

    Köszi a tippet az értékké alakításról, valószínűleg ezt fogom csinálni. Viszont az összegzéseket meg akarom képletként tartani, így végig kell mennem az összes soron, megvizsgálva, hogy képlet vagy csatolás van-e benne. Ezt nem tartom túl elegáns megoldásnak, ezért akartam a csatolás megszűntetésével megoldani a problémát.
    Magát a kódot így képzelem el az értékké alakításról egy cikluson belül. (Nem tudom, mennyire ismerős a .formulalocal illetve a .formula tulajdonság):

    if left(activecell.Formula,4) <> “SUM” then ‘ha nem összegzés képlet van a cellában
    activecell.Value=activecell.Value ‘akkor legyen a cella érték
    endif

    Maga a file úgy néz ki, hogy egy nagy táblában vannak a költséghelyek (92 oszlop x 230 sor). Ez a tábla egyébként külső állományokra hivatkozik, ahol az egyedi költségek vannak.
    Van egy külön lap, amin kiválaszthatom a költséghelyet, ekkor a lap VKERES-sel beolvassa a kiválasztott költséghely adatait a nagy táblából. Majd egy szűrővel a nemnulla sorokat elrejtem, ezután másolom a lapot, mentem és megszakítom a csatolást.
    Mindezt persze egy ciklusban, mivel 92 költséghely mentése manuálisan elég nagy munka, és unalmas is.

    Üdv és köszi,

    SzTR

    #6275

    delila
    Felhasználó

    If Target.HasFormula = False Then ActiveCell.Value=ActiveCell.Value 'nem képlet

    #6276

    szeter658
    Felhasználó

    Sziasztok!

    Köszönöm a tippet az értékké alakításról. Most már jól fut a makróm.

    Még egyszer köszönöm.

    SzTR

6 bejegyzés megtekintése - 1-6 / 6

Be kell jelentkezni a hozzászóláshoz.