Sviluppare funzionalita su Microsoft Office con VBA Rinomina fogli che contengono parte nome comune

LoginRegistrati
Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
  • Autore
    Articoli
  • #26392 Risposta

    RickyZ
    Partecipante

      Ciao a tutti

      Spero tutto OK x quanto riguarda la situazione COVID

      Ho bisogno di aiuto per realizzare una macro che rinomini fogli che hanno una parte comune del nome "Report"; "Report (2)"; Report (3) etc.

      Il file orifginale contiene i fogli:

      - Master

      - SPC

      - SPC (2)

      - PT

      e con una macro realizzata grazie a voi, importo una serie di fogli che da altri file che vengono appunto nominati "Report"; "Report (2)"; Report (3) etc.

      Il codice del quale ho bisogno deve poter rinominare solo questi ultimi prendendo il testo contenuto nelaa cella "F8" di ognuno di essi.

      Ho cercato sul web, ma non sono riuscito ad adattare nessuno dei codici trovati.

      Potete aiutarmi?

      Ricky

      #26393 Risposta

      GiuseppeMN
      Partecipante
        4 pts

        Buona giornata, @rickyz;
        senza conoscere la struttura del Codice VBA che utilizzi per importare i Fogli di lavoro da altri File posso solo proporti di utilizzare questa istruzione da integrare nel tuo Codice VBA dopo aver caricato ogni singolo Foglio di lavoro:

        ActiveSheet.Name = Range("F8").Value

         

        Giuseppe

        #26394 Risposta

        RickyZ
        Partecipante

          Ciao Giuseppe

          Grazie 1000!!!

          Avrei però avuto bisogno di una Macro che mi permettesse di rinominare in una volta tutti i fogli il cui nome contiene il testo "Report".

          Puoi aiutarmi?

          Ricky

          #26401 Risposta
          Luca73
          Luca73
          Partecipante
            28 pts

            Ciao Per Fare quello che Chiedi fai un ciclo e se il nome è uguale a Report* allora cambi il nome insomma qulcosa del genere:

             

            Sub pippo()
            Dim FoglioW As Worksheet
            For Each FoglioW In ActiveWorkbook.Sheets
                If FoglioW.Name Like "Report*" Then
                    FoglioW.Name = FoglioW.Range("F8").Value
                End If
            Next FoglioW
            End Sub
            
            #26402 Risposta

            GiuseppeMN
            Partecipante
              4 pts

              Buona giornata, @rickyz;
              solo ora sono riuscito a "riprendere possesso del mio PC" ! requisito per tutta la mattinata da mia Moglie .
              Potresti provare con questo Codice VBA:

              Option Explicit

              Sub Rinomina()
              Application.ScreenUpdating = False
              Dim x As Byte
              For x = 1 To Sheets.Count
              If Left(Sheets(x).Name, 6) = "Report" Then Sheets(x).Name = Sheets(x).Range("F8").Value
              Next x
              Application.ScreenUpdating = True
              End Sub

              Fai sapere se ho interpretato correttamente la tua richiesta.

               

              A disposizione.

              Buon Lavoro

              Giuseppe

               

              P.s. Solo ora ho letto la risposta di Luca73, che saluto, mi scuso per la sovrapposizione.

              #26404 Risposta

              RickyZ
              Partecipante

                Grazie Luca e Giuseppe

                ora copio entrambi i codici e poi li provo.

                Buona Giornata

                Ricky

                #26470 Risposta

                RickyZ
                Partecipante

                  Ciao e scusate il ritardo.

                  Funzionano benissimi entrambe.

                  Grazie ancora ed in bocca al lupo per tutto

                  Ricky

                   

                LoginRegistrati
                Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
                Rispondi a: Rinomina fogli che contengono parte nome comune
                Gli allegati sono permessi solo ad utenti REGISTRATI
                Le tue informazioni:



                vecchio frac - 2750 risposte

                albatros54
                albatros54 - 1009 risposte

                patel
                patel - 907 risposte

                Marius44
                Marius44 - 786 risposte

                Luca73
                Luca73 - 675 risposte