Eliminare foglio di lavoro excel da Access mediante codice VBA

di il
9 risposte

Eliminare foglio di lavoro excel da Access mediante codice VBA

Salve

ho necessità di eliminare un foglio di lavoro excel con un codice VBA da associare a un pulsante in una maschera Access. Chiedo se qualcuno ha avuto un problema analogo e come lo ha risolto

Grazie

9 Risposte

  • Re: Eliminare foglio di lavoro excel da Access mediante codice VBA

    La Collection Sheets, membro dell'oggetto WorkBook di Excel contiene i Fogli, e come tutte le Collection, basta puntare al tuo Foglio, tramite NOME o INDICE e poi si usa il Metodo DELETE.

    Mi pare un'esigenza estremamente banale da implementare… quale problema hai di concreto…?

  • Re: Eliminare foglio di lavoro excel da Access mediante codice VBA

    04/01/2024 - @Alex ha scritto:


    La Collection Sheets, membro dell'oggetto WorkBook di Excel contiene i Fogli, e come tutte le Collection, basta puntare al tuo Foglio, tramite NOME o INDICE e poi si usa il Metodo DELETE.

    Mi pare un'esigenza estremamente banale da implementare… quale problema hai di concreto…?

    voglio aggiornare i dati del foglio di lavoro “piano_incassi” di un workbook con nome “cash_flow” 

    con il blocco di codice VBA che segue riesco a esportare i dati che però finiscono in un nuovo foglio “piano_incassi1” mentre io vorrei che il nuovo foglio sostituisse l'esistente

    Dim NomeFile As String
    Dim PercorsoDir As String
    PercorsoDir = "E:\Personale\Famiglia\Gestione finanze\Bilancio\2024"
    NomeFile = PercorsoDir & "\" & "cash_flow.xlsm"
    DoCmd.TransferSpreadsheet acExport, , "piano_incassi", NomeFile, True 

    immagino basti inserire qualche riga di codice che elimini il foglio “piano_incassi” esistente prima di esportare i dati aggiornati, ma non so come fare…

    intanto ti ringrazio per la disponibilità 

  • Re: Eliminare foglio di lavoro excel da Access mediante codice VBA

    Non è proprio così banale come “immagini”, non ti verra dato codice “Pappa Pronta”… quindi l'immaginazione non serve a molto se non ti dai da fare…!

    Peraltro se nel file Excel non ci sono altre cose, perché non cancelli il file e lo riscrivi da zero che è più semplice…?

  • Re: Eliminare foglio di lavoro excel da Access mediante codice VBA

    L'ambiente da cui parto è access

    grazie comunque

  • Re: Eliminare foglio di lavoro excel da Access mediante codice VBA

    04/01/2024 - Bissed ha scritto:

    L'ambiente da cui parto è access

    Infatti tutto quello che @Alex ha indicato si può/deve fare da Access. Per la semplice cancellazione dell'intero file c'è il comando Kill, per quanto ha indicato nel primo post di risposta si tratta di Automazione, cioè gestire Excel da un'altra applicazione, Access nel caso specifico.

  • Re: Eliminare foglio di lavoro excel da Access mediante codice VBA

    Grazie Phil

    il comando kill non mi aiuta perché ho bisogno di cancellare un solo foglio e non l'intero file

    Quindi se ho ben compreso (spero avrai pietà della mia profonda ignoranza) non c'è una soluzione banale al mio problema. Pazienza. Vorrà dire che lo cancellerò manualmente prima di eseguire il codice per l'aggiornamento da Access

  • Re: Eliminare foglio di lavoro excel da Access mediante codice VBA

    05/01/2024 - Bissed ha scritto:

    comando kill non mi aiuta perché ho bisogno di cancellare un solo foglio e non l'intero file

    Ora lo sappiamo e non lo prenderemo più in considerazione come suggerimento.

    05/01/2024 - Bissed ha scritto:

    se ho ben compreso … non c'è una soluzione banale al mio problema

    Sai, il concetto di “banale” è molto soggettivo. Se conosci un po' di VBA di Excel sarebbe una… banalità, tanto per restare in argomento. Altrimenti l'operazione manuale è l'unica disponibile. Non so se esiste ancora questa cosa ma con il “registratore di macro” dovresti riuscire ad avere qualche indicazione su come si fa, via codice, ad eliminare un foglio. Può essere un punto di partenza. Il fatto che tu stia lavorando da Access è quasi “un dettaglio trascurabile". La parte più difficile è conoscere il modello ad oggetti di Excel quel tanto che basta per fare quell'operazione ed è davvero … banale (e rieccolo che compare questo aggettivo, uff).

  • Re: Eliminare foglio di lavoro excel da Access mediante codice VBA

    La risposta è contenuta nei suggerimenti già dati nel mio primo intervento… ed è BANALE, e come hai immaginato bastano 3 righe di codice… pur vero è che serve scriverle, giuste per contro… e quì che devi metterci un po del tuo, ovvero ti ho già scritto come si Elimina il Foglio, usando il metodo DELETE sulla Collection Worksheets dell'oggetto WorkBook… 

    Sai di cosa si sta parlando…?
    Se non hai la più pallida idea di quanto detto, devi prima colmare questo gap, se invece hai capito, scrivi il codice e se non funziona lo vediamo…

    Alternativa a mano e chiudiamo il 3D.

  • Re: Eliminare foglio di lavoro excel da Access mediante codice VBA

    Ho compreso.

    grazie 

Devi accedere o registrarti per scrivere nel forum
9 risposte