Telefonszámunk: 1-472-0679

[Resolved] Aktív munkalap másolata

Kezdőlap Fórumok Excel programozás [Resolved] Aktív munkalap másolata

Topic Resolution: Resolved
5 bejegyzés megtekintése - 1-5 / 5
  • Szerző
    Bejegyzés
  • #6527
    tasmatta
    Felhasználó

      Sziasztok

      Van egy táblázatom aminél minden hónapváltáskor le kell cserélnem a neveket, címeket, és a lapfüleket átnevezni.
      Ezt sikerült megcsinálnom makróval, viszont ebből minden hónapban 3 másolatra lenne szükségem, a lecserélt nevekkel, mindenből egyre.
      Elég hosszú a valódi fájlnév ami több cella összefűzéséből tevődik össze, illetve így kisebb lenne az elgépelési lehetőség is ha ezt makróval egy kattintásra oldanám meg.
      Az én makró tudásom ehhez még kevés makrófelvevővel megcsináltam, de nem az igazi, videós tutorialokat pedig inkább a lapfülek másolására találtam.
      A csatolmány csak egy példa lenne rá, tehát miután lecserélem a neveket ha rákattintok az utolsó gombra akkor a teljes munkafüzetből készít egy másolatot, legjobb lenne ha rögtön a fájl mellé, a táblázatban lévő fájlnévvel.
      Fontos lenne, hogy a másolatot ne nyissa meg mint a makrófelvevőnél, itt sajnos nem találtam olyan opciót mint a PDF openafterpublish = False lehetőséget.

      A másik dolog, hogy a táblázatban magyarul vannak a hónap nevei, viszont a fájlnévben angolul kell menteni. Két legördülőből választom ilyenkor ki, van esetleg olyan képlet, hogy ha csak a magyart kiválasztom akkor az angol is átvált a megfelelőjére?

      A másolatoknál mindig feldob egy figyelmeztető üzenetet amit láttam, hogy ki lehet benne makróval is kapcsolni, ez megtalálható a csatolmányban.

      Úgy tudom makrós fájt nem lehet csatolni, ezért küldöm zip-ben.

      Előre is köszönöm a segítséget.

      Attachments:
      You must be logged in to view attached files.
      #6529
      Titok
      Felhasználó

        ujnev= „bla”&”bla”&”bla”@”.xlsm”
        ActiveWorkbook.SaveAs ujnev

        #6530
        tasmatta
        Felhasználó

          Szia

          Köszönöm szépen, majdnem jól csináltam, csak nekem egy sorral fentebb a tiéden kívül ez is benne volt: ActiveWorkbook.Sheets.Copy

          Remélem valaki a másik két dologban is tud valamilyen megoldást találni.

          #6534
          horvimi
          Adminisztrátor

            Szia!

            A magyar hónpnév kiválasztása elég lenne.
            Ha a H1-be egy FKERES (VLOOKUP) függvényt írnál, az a B:C oszlopok alapján kikeresné az angol hónapnevet.

            A mentés-másolat dologban nem teljesen értem, hogy mit szeretnél, vagy te nem értesz valamit, majd kiderül.

            Ezt én nem értem:
            3 másolatra lenne szükségem, a lecserélt nevekkel, mindenből egyre

            Hová kellene menteni?
            Milyen neveken?
            A 3 verzió ugyanaz csak más neveken?

            Az aktív munkafüzetről lehet készíteni másolati mentést a SaveCopyAs paracsal
            https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.savecopyas
            Létezik még a fájl szintű copy parancs

            Imre

            #6536
            tasmatta
            Felhasználó

              Szia!

              Igen igazad van a 3 másolat az eredeti táblázatomban kell majd, de a példában csak kettőre csináltam meg.
              A különbség köztük annyi, hogy amikor a Proba 1 vagy 2-re kattintok akkor lecseréli a címeket hónapokat és átnevezi a lapfület, és ezekből csinálnék másolatokat.
              Ma már meg is csináltam ezt a részét működik is, a probléma továbbra is a másolat mentéssel lenne. Később derült ki amit nem vettem észre, hogy amit Titok írt sem működik nálam, mert ezzel amikor rákattintok a másolat készítésére, bezárja az eredeti táblát és a másolatot nyitja meg amit nagy örömömre csak órákkal később vettem észre, hogy a másolatból csináltam a másolatokat.

              Inkább mutatom a kódot ez nem a csatolt példa makrója, és egy modulban van benne:

              
              Sub masolat_mentese()
              
              FN = Worksheets(4).Range("C9").Value 'Fájlnév
              
                  ChDir "C:\Users\Asztal"
                  ActiveWorkbook.SaveAs Filename:="C:\Users\Asztal" & FN & ".xlsm", _
                      FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
                      
              End Sub
              

              Kipróbáltamn a Workbook.SaveCopyAs-t is amit írtál (Ezt cseréltem le rá: ActiveWorkbook.SaveAs) de nem tudom, hogy a többi részén kell-e változtatni, mert hibát ír.

              A fájlnév amit pedig még kérdeztél, az excelben több cella adatait összefűztem egybe ami a fájlnév lesz és erre az egy cellára hivatkoztam fájlnévnek.
              Ez változik éppen milyen hónapot választottam ki.

              Gyors válasz a válaszomra, hogy sikerült a mentés kérdést megoldanom, majd lehet délutánra kiderül, hogy milyen hibák jönnek elő.

              • A hozzászólás módosításra került: 4 years, 3 months telt el-tasmatta.
            5 bejegyzés megtekintése - 1-5 / 5
            • Be kell jelentkezni a hozzászóláshoz.