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
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.