Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305

    [vb6 - vba] creare un foglio di excel senza fogli predefiniti

    Ho una curiosità da levarmi...

    uso principalmente vba, con il quale creo un nuovo file di excel in cui copio altri fogli di lavoro da un altro file.

    Quindi alla fine mi ritrovo con i fogli di lavoro copiati + i 3 fogli predefiniti (Foglio1,Foglio2, Foglio3).
    Volendo rimanere SOLO con i fogli copiati senza quindi i 3 fogli predefiniti, semplicemente sempre tramite vba cancello i tre fogli utilizzando il metodo delete (sheet("Foglio1").delete).

    Mi chiedevo però se esiste un altro metodo che mi permetta di creare già alla partenza un file di excel senza fogli....

    Esiste?
    P.s ho trovato il comando Application.SheetsInNewWorkbook=1
    però lo zero non lo accetta...

    Grazie
    luisa

  2. #2
    era proprio il metodo che ti volevo consigliare....

    basta che dopo aver creato la cartella nuova e prima di copiare tu rinomini il foglio all'interno di essa tipo: "!!!|||!!!" e dopo la copia lo cancelli e salvi la cartella... così l'utente non si accorge di nulla....

    se vuoi io ho già fatto un'add-in funzionante per excel che fà questo e altro... se ti va di darci un'occhiata, contattami...
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  3. #3
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Originariamente inviato da andreaciao_22
    era proprio il metodo che ti volevo consigliare....

    basta che dopo aver creato la cartella nuova e prima di copiare tu rinomini il foglio all'interno di essa tipo: "!!!|||!!!" e dopo la copia lo cancelli e salvi la cartella... così l'utente non si accorge di nulla....

    se vuoi io ho già fatto un'add-in funzionante per excel che fà questo e altro... se ti va di darci un'occhiata, contattami...
    Però cosi farei un'operazione in più inutile perchè io copio dei fogli in un nuovo file. E fino a qui è ok. Il problema è dopo: nel nuovo file avrò i fogli copiati ... e però ho sempre un foglio (il foglio1) che non centra nulla. Rinominarlo e ricancellarlo non avrebbe senso!

  4. #4
    ciao Luisa,

    Prova questo codice da vba di excel

    codice:
    Sub ProvaCopia()
        Dim NewBook As Workbook, ActWkb As Workbook, CopySheet As Worksheet, shNewBook As Worksheet
        Dim intShNew As Integer, scUpdate As Boolean, dpAlert As Boolean
        With Application
            scUpdate = .ScreenUpdating
            dpAlert = .DisplayAlerts
            intShNew = .SheetsInNewWorkbook
            .ScreenUpdating = False
            .SheetsInNewWorkbook = 1
            .DisplayAlerts = False
            Set ActWkb = .ActiveWorkbook 'o il workbook da cui devi copiare
            Set CopySheet = ActWkb.Sheets(1)
            Set NewBook = .Workbooks.Add
            Set shNewBook = NewBook.Sheets(1)
            shNewBook.Name = "!!!|||!!!"
            CopySheet.Copy shNewBook
            shNewBook.Delete
            NewBook.Activate
            Set shNewBook = Nothing
            Set NewBook = Nothing
            Set CopySheet = Nothing
            Set ActWkb = Nothing
            .SheetsInNewWorkbook = intShNew
            .ScreenUpdating = scUpdate
            .DisplayAlerts = dpAlert
        End With
    End Sub
    dimmi cosa ti esce
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  5. #5
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Originariamente inviato da andreaciao_22
    ciao Luisa,

    Prova questo codice da vba di excel
    ...
    sì, effettivamente funziona, ma... che differenza cè tra la tua funzione ed il cancellarmi dopo il Foglio1???

    Non ce neanche il caso di rinominare il foglio in !!!!!! infatti se levo il codice è uguale! Il delete o prima o dopo lo devo usare.

    codice:
    Sub ProvaCopia()
        Dim NewBook As Workbook, ActWkb As Workbook, CopySheet As Worksheet, shNewBook As Worksheet
        Dim intShNew As Integer, scUpdate As Boolean, dpAlert As Boolean
        With Application
            scUpdate = .ScreenUpdating
            dpAlert = .DisplayAlerts
            intShNew = .SheetsInNewWorkbook
            .ScreenUpdating = False
            .SheetsInNewWorkbook = 1
            .DisplayAlerts = False
            Set ActWkb = .ActiveWorkbook 'o il workbook da cui devi copiare
            Set CopySheet = ActWkb.Sheets(1)
            Set NewBook = .Workbooks.Add
            Set shNewBook = NewBook.Sheets(1)
            'shNewBook.Name = "!!!|||!!!"
            CopySheet.Copy shNewBook
            shNewBook.Delete 
            NewBook.Activate
            Set shNewBook = Nothing
            Set NewBook = Nothing
            Set CopySheet = Nothing
            Set ActWkb = Nothing
            .SheetsInNewWorkbook = intShNew
            .ScreenUpdating = scUpdate
            .DisplayAlerts = dpAlert
        End With
    End Sub

  6. #6
    il problema è che se un utente ti copia un foglio col nome "Foglio1" tu sei fregata, tesoro.... e poi sempre in quel caso excel ti rinomina il foglio copiato come "Foglio1(2)" meglio correggere ora che incazzarsi di brutto poi...

    o sbaglio?

    comunque se vuoi scrivermi ecco la mia mail se vuoi chiedere qualcosa a riguardo...
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  7. #7
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Originariamente inviato da andreaciao_22
    il problema è che se un utente ti copia un foglio col nome "Foglio1" tu sei fregata, tesoro.... e poi sempre in quel caso excel ti rinomina il foglio copiato come "Foglio1(2)" meglio correggere ora che incazzarsi di brutto poi...

    o sbaglio?

    comunque se vuoi scrivermi ecco la mia mail se vuoi chiedere qualcosa a riguardo...
    ok, ho capito quello che intendi (anche se è impossibile che succeda perchè sono io a copiarmi automaticamente fogli già rinominati...) .

    ps. ti ho mandato un pvt per l'add-inn (se a pagamento non mi interessa )
    Grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.