Kezdőlap › Fórumok › Excel programozás › [Resolved] Csatolás törlése makróban – Breaklink
- This topic has 5 hozzászólás, 3 résztvevő, and was last updated 5 years, 2 months telt el by szeter658.
-
SzerzőBejegyzés
-
2019-09-13-15:37 #6271
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:=xlExcelLinksAmikor 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:=xlLinkTypeExcelLinksMost 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
2019-09-13-15:47 #6272Szia!
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
2019-09-13-17:12 #6273szia!
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
2019-09-16-09:18 #6274Sziasztok!
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
endifMaga 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
2019-09-16-10:51 #6275If Target.HasFormula = False Then ActiveCell.Value=ActiveCell.Value 'nem képlet
2019-09-18-14:53 #6276Sziasztok!
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
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.