Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

macro cancella foglio.

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

macro cancella foglio.

Postdi matzap » 05/08/13 15:30

Ciao,
perchè secondo voi mi da errore al primo if,
cioè seleziona il foglio Report presenze ma non lo cancella?

Sheets("Report Presenze").Select
If SelectedSheets.Name = "Report Presenze" Then
SelectedSheets.Delete
If SelectedSheets.Name = "Report" Then
SelectedSheets.Delete
If SelectedSheets.Name = "Analisi" Then
SelectedSheets.Delete
End If
End If
End If
End Sub

ciao
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27

Sponsor
 

Re: macro cancella foglio.

Postdi scossa » 05/08/13 15:52

matzap ha scritto:Ciao,
perchè secondo voi mi da errore al primo if,
cioè seleziona il foglio Report presenze ma non lo cancella?

Sheets("Report Presenze").Select
If SelectedSheets.Name = "Report Presenze" Then
SelectedSheets.Delete
If SelectedSheets.Name = "Report" Then
SelectedSheets.Delete
If SelectedSheets.Name = "Analisi" Then
SelectedSheets.Delete
End If
End If
End If
End Sub

ciao


C'è qualcosa di molto "bizzarro" in quel codice :)
Puoi mostrarlo tutto anziché solo il pezzo finale?
E, soprattutto puoi spiegare, con parole semplici e comprensibili, qual'è la tua esigenza?
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 424
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: macro cancella foglio.

Postdi Flash30005 » 05/08/13 16:19

Infatti come dice Scossa quel codice non ha molto significato
Poi dovresti chiarire se cancellare il foglio o eliminarlo
Nel tuo caso lo elimini
Quindi se devi eliminare un foglio (es. Foglio1)
puoi usare questo codice
Codice: Seleziona tutto
Application.DisplayAlerts = False
Sheets("Foglio1").Delete
Application.DisplayAlerts = True

se hai altri fogli non devi far altro che duplicare la riga Sheets("Foglio1").delete e inserire il nome del secondo foglio
Codice: Seleziona tutto
Application.DisplayAlerts = False
Sheets("Foglio1").Delete
Sheets("Foglio2").Delete
Sheets("Foglio3").Delete
'etc
Application.DisplayAlerts = True


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: macro cancella foglio.

Postdi matzap » 06/08/13 12:33

In effetti quando ho scritto questo codice ero un pò stanco...! :) non ha molto senso.

provo a spiegarmi meglio ora che ho le ide più chiare:
ho un file con un numero variabile di fogli e con nomi variabili ad eccezione di uno chiamato gestione
dopo averli esportati, vorrei cancellare gli originali ad eccezione di Gestione.
sto provando ad usare questo codice ma mi da errore di compilazione sulla proprietà name...

Windows("crea report presenze.xls").Activate
For Each Sheet In Active.Windows
If Sheets.Name <> "Gestione" Then
Sheet.Select
selectedsheet.Delete
End If
Next Sheet
End Sub

ciao
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27

Re: macro cancella foglio.

Postdi scossa » 06/08/13 13:43

matzap ha scritto:
Codice: Seleziona tutto
Windows("crea report presenze.xls").Activate
For Each Sheet In Active.Windows
If Sheets.Name <> "Gestione" Then
Sheet.Select
selectedsheet.Delete
End If
Next Sheet
End Sub



Innanzitutto abituati a dichiarare le variabili, evitando di usare per queste nomi ambigui che potrebbero creare confusione (Sheet).
Poi evita, se non indispensabile i vari Activate, Select .... etc

Vedi un po' questo codice
Codice: Seleziona tutto
Public Sub prova()
  Dim ws As Worksheet
 
  For Each ws In Application.Workbooks("crea report presenze.xls").Worksheets
    If ws.Name <> "Gestione" Then
      ws.Delete
    End If
  Next sheet

End Sub
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 424
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: macro cancella foglio.

Postdi matzap » 06/08/13 15:30

Si hai ragione, devo avere una struttura più snella e organizzata.
comunque funziona, grazie. :D
ciao
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27


Torna a Applicazioni Office Windows


Topic correlati a "macro cancella foglio.":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti