Aiuto su codice vba per excel

Anonimo
2024-01-18T05:50:11+00:00

Buongiorno, sono un neofita ed autodidatta di visual basic ho una domanda da porvi per quanto riguarda vba legato ad excel.

Ho bisogno di creare una macro che faccia alcune cose in modo automatico, così ne ho fatta qualcuna a pezzi, studiato il codice e creato un modulo vba con tutto ciò che mi serve per automatizzare, solo una cosa non sono riuscito a fare e spero che qualche anima buona mi possa aiutare.

Il problema è questo io ho un file excel master con all'interno dei fogli, attualmente ho aggiunto al master i fogli per gli anni da 2025 a 2030, poi ho tanti altri file excel del tipo cognome nome.xls.

Adesso cosa vorrei fare con il codice vba riprodurre ciò che fa excel qualdo selezioni i fogli e fai sposta o copia in anziché il nome di un solo file in tutti i file excel aperti.

Purtroppo questa è l'unica cosa che non sono riuscito proprio a fare. Grazie in anticipo

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

16 risposte

Ordina per: Più utili
  1. Eleuterio Tedeschi 18,750 Punti di reputazione Moderatore volontario
    2024-01-19T22:08:13+00:00

    Non so se si fa così, ho caricato su one drive il file master e questo è il link

    https://1drv.ms/x/s!ApVyZNyvyvbipxXPtFryYiF4xDm0

    Poi in pratica ho altri file copia di questo master salvati come cognome nome.xls

    Io devo copiare o fogli dal 2025 al 2030 dal file master in ogni file del tipo cognome nome.xls

    Andrebbe anche bene così, ma mi da errore.

    Meglio se il link lo alleghi con questo pulsante:

    Ciao.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2024-01-19T08:33:37+00:00

    Per quanto riguarda perché vba, è per una mia conoscenza personale perché vorrei impararlo.

    Per le Power query non le conosco, dovrò cimentarmi per imparare anche quelle 😀

    Versione excel 2010

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2024-01-19T08:29:26+00:00

    Non so se si fa così, ho caricato su one drive il file master e questo è il link

    https://1drv.ms/x/s!ApVyZNyvyvbipxXPtFryYiF4xDm0

    Poi in pratica ho altri file copia di questo master salvati come cognome nome.xls

    Io devo copiare o fogli dal 2025 al 2030 dal file master in ogni file del tipo cognome nome.xls

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2024-01-19T08:20:50+00:00

    Salve, grazie per aver risposto.

    Questo è il codice che ho creato e provato il primo, dopo aver fatto manualmente la copia sei fogli dal master nel foglio excel aperti, tramite ctrl+j aggiorna le schede.

    Il secondo era quello creato per aprire il file master da cui copiare i fogli cosa che non sono riuscito a fare.

    Per quanto riguarda il file master provo ad allegarlo.

    Sub Macro3()

    '

    ' Macro3 Macro

    '

    '

        Sheets("2024").Select

        Sheets("2024").Copy After:=Sheets(15)

        Sheets("2024 (2)").Select

        Sheets("2024 (2)").Name = "2025"

        Range("F106").Select

        Sheets("2025").Select

        Sheets("2025").Copy After:=Sheets(16)

        Sheets("2025 (2)").Select

        Sheets("2025 (2)").Name = "2026"

        Range("L105").Select

        Sheets("2026").Select

        Sheets("2026").Copy After:=Sheets(17)

        Sheets("2026 (2)").Select

        Sheets("2026 (2)").Name = "2027"

        Range("F109").Select

        Sheets("2027").Select

        Sheets("2027").Copy After:=Sheets(18)

        Sheets("2027 (2)").Select

        Sheets("2027 (2)").Name = "2028"

        Range("I106").Select

        Sheets("2028").Select

        Sheets("2028").Copy After:=Sheets(19)

        Sheets("2028 (2)").Select

        ActiveCell.FormulaR1C1 = ""

        Sheets("2028 (2)").Select

        Sheets("2028 (2)").Name = "2029"

        Range("O108").Select

        Sheets("2029").Select

        Sheets("2029").Copy After:=Sheets(20)

        Sheets("2029 (2)").Select

        Sheets("2029 (2)").Name = "2030"

        Range("N106").Select

        Sheets("2024").Select

        ActiveWindow.ScrollRow = 4

        Range("B2").Select

        ActiveCell.FormulaR1C1 = ""

        Range("B2").Select

        ActiveCell.FormulaR1C1 = _

            "=IF('2023'!R[98]C[25]>0,'2023'!R[101]C[1],'2023'!R[99]C[1])"

        Range("B3").Select

        Sheets("2025").Select

        ActiveWindow.SmallScroll Down:=-126

        Range("A4:AC99").Select

        Selection.ClearContents

        Sheets("2024").Select

        ActiveWorkbook.Save

        ActiveWindow.Close

    End Sub

    Avevo provato anche questa ma una volta aperto il file mi manca

    il codice per poter copire i fogli dal master in ogni altro foglio

    del "tipo nome cognome.xls"

    Sub Aprifile()

    dim NomeFile As String

    NomeFile="d:\variazioni\schede persole\NUOVO MASTER COMPLETISSIMO CON NUOVI GRADI.xlsx"

    workbooks.Ope

    End sub

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Eleuterio Tedeschi 18,750 Punti di reputazione Moderatore volontario
    2024-01-18T07:22:36+00:00

    Buongiorno, sono un neofita ed autodidatta di visual basic ho una domanda da porvi per quanto riguarda vba legato ad excel.

    Ho bisogno di creare una macro che faccia alcune cose in modo automatico, così ne ho fatta qualcuna a pezzi, studiato il codice e creato un modulo vba con tutto ciò che mi serve per automatizzare, solo una cosa non sono riuscito a fare e spero che qualche anima buona mi possa aiutare.

    Il problema è questo io ho un file excel master con all'interno dei fogli, attualmente ho aggiunto al master i fogli per gli anni da 2025 a 2030, poi ho tanti altri file excel del tipo cognome nome.xls.

    Adesso cosa vorrei fare con il codice vba riprodurre ciò che fa excel qualdo selezioni i fogli e fai sposta o copia in anziché il nome di un solo file in tutti i file excel aperti.

    Purtroppo questa è l'unica cosa che non sono riuscito proprio a fare. Grazie in anticipo

    Per quanto chiedi ci sono più strade, se vuoi proseguire con VBA per esigenze personali e di conoscenza devi condividere il file con OneDrive che contiene il codice che hai fatto e le informazioni relative alla struttura dei dati, della posizione sul disco, etc.

    Un'alternativa (dichiara gentilmente la tua versione di Excel) è di fare tutto un po' più agilmente usando le Power Query, più adatte per questi scopi, ma che richiedono nozioni completamente diverse.

    Razionalizza le tue esigenze anche in base a quanto ti ho detto e proseguiamo a valle degli aggiornamenti che potrai fornire,

    buona giornata.

    La risposta è stata utile?

    0 commenti Nessun commento