Sviluppare funzionalita su Microsoft Office con VBA COPIA DATI DA FILE APERTO CON NOME IN PARTE VARIABILE

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

    1pinin
    Partecipante

      Buonasera,
      premessa: appena iscritto, alle prime armi con VBA e profondamente riconoscente per qualsiasi aiuto…
      Premessa due: ho cercato nel forum, c’è una domanda simile ma non ho trovato una soluzione

      Problema:

      ho un file Excel aperto nel quale ho creato una macro (registrandola) che seleziona tutti i dati da un altro file Excel aperto (con un unico foglio) e li copia nel primo file per elaborarli.

      Il file dal quale prendo i dati ha origine da un programma che permette di generare un REPORT che viene appunto aperto in un file Excel.

      Il file REPORT aperto inizia sempre con la stessa stringa (in questo caso "SOLL_IST_VERGLEICH_ )

      Il resto del nome del file è variabile e composto da codice utente, data, ora dell'esecuzione del report (ciò che rende ogni volta differente il nome del file)

      La condizione di partenza per l’utente sarebbe sempre la stessa, solo due file aperti, il mio che contiene la macro e il REPORT che col nome inizia sempre allo stesso modo.

      Mi basterebbe trovare un modo per ignorare la parte di nome file variabile così che la mia macro funzioni sempre.

      Ho provato ad usare semplicemente l’asterisco (esempio: Windows("SOLL_IST_VERGLEICH_*.xlsx").Activate ma probabilmente troppo facile…

       

      Sub IMPORTA_DATI_DA_FILE_APERTO()

      '

        Windows("SOLL_IST_VERGLEICH_U167101_20190610_180826.xlsx").Activate

      ‘ con questo nome la macro funziona ma naturalmente solo con questo file

      ‘ vorrei che venisse considerata solo la prima parte del nome del file aperto

          Cells.Select

          Selection.Copy

          Windows("SOLL_IST_KMS_ERP.xlsm").Activate

          Sheets("DATA_TRANSFER").Select

          Range("A1").Select

          ActiveSheet.Paste

          Range("A1").Select

      End Sub

      #16716 Risposta
      patel
      patel
      Moderatore
        30 pts

        Se hai soltanto 2 file aperti, quello della macro e quello da cui prendere i dati potresti utilizzare un codice del genere

        Sub CopyToWorkbooks()
        Dim wb As Workbook, CellName As String
            For Each wb In Application.Workbooks
                If wb.Name <> ThisWorkbook.Name Then
        '          qui il codice che ti serve e wb è il documento da cui copiare
                End If
            Next
        End Sub
        #16723 Risposta
        albatros54
        albatros54
        Moderatore
        • Sfida #2
          34 pts

          1pinin ha scritto:
          Scusato, il messaggio sopra è il messaggio di errore che ricevo qunado cerco inviare la mia risposta a un moderatore (Patel) in una discussione. Dipende da me o problemi col sito?
           | Iscriviti

          Rispondo solo per verificare quanto detto da 1pinin

          vedi questo post

          FILE EXCEL NOME VARIABILE

           

          Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
          Sempre il mare, uomo libero, amerai!
          ( Charles Baudelaire )
        LoginRegistrati
        Stai vedendo 3 articoli - dal 1 a 3 (di 3 totali)
        Rispondi a: COPIA DATI DA FILE APERTO CON NOME IN PARTE VARIABILE
        Gli allegati sono permessi solo ad utenti REGISTRATI
        Le tue informazioni:



        vecchio frac - 1993 risposte

        albatros54
        albatros54 - 640 risposte

        patel
        patel - 499 risposte

        Marius44
        Marius44 - 402 risposte

        Luca73
        Luca73 - 365 risposte