Incrementare cella ad ogni nuovo foglio

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Giovanni Biondolillo
00lunedì 16 maggio 2016 23:07
Salve a tutti, sono nuovo. Piacere di leggervi.

Vi spiego quello che dovrei fare: su un foglio Excel ho inserito un modello precompilato. Tramite VBA sono riuscito a creare un bottone che mi permette di copiare il modello su un altro foglio. Fin qui tutto ok.

Ora nasce il problema: ad ogni nuovo foglio creato, la cella M4 del nuovo foglio deve incrementare di +1 rispetto alla cella M4 del foglio precedente.

E' fattibile la cosa?
Grazie

Ps: mi basterebbe anche richiamare il valore numerico tra le () presente nel nome del foglio
raffaele1953
00lunedì 16 maggio 2016 23:48
>>>un bottone che mi permette di copiare il modello su un altro foglio.
(incrementare) Personalmente penserei ad un'altra struttura del file (nel caso devi eliminare un foglio)

Cosi a naso senza provare (dato che usi il VBA)
Farei la conta dei fogli presenti ed incrementare di +1, la cella M4

>>>richiamare il valore numerico tra le () presente nel nome del foglio
Eviterei, se Ti è possibile
Giovanni Biondolillo
00martedì 17 maggio 2016 00:14
Il bottone mi copia sempre lo stesso foglio, per capirci meglio mi copia sempre il Foglio chiamato "Madre". Ho già provato ad eliminare i fogli creati e non noto problemi

Per quanto riguarda l'incremento +1 avevo pensato alla somma dei vari fogli + 1 ma se ho poi 100 fogli, il valore in m4 non sarà 101 in tutti i fogli? Scusate l'ignoranza...
raffaele1953
00martedì 17 maggio 2016 00:45
>>>già provato ad eliminare i fogli creati e non noto problemi
Sicuro?

Nel codice "del foglio creato_cella che desideri", metterei(conta_fogli +1)
Però non vedendo codice-scritto, non saprei cosa dire.
Giovanni Biondolillo
00martedì 17 maggio 2016 00:56
Si si mi permette senza problemi di eliminare i fogli

Il codice della macro relativa al bottone è il seguente:

Sub CopiaFoglioRin()
Sheets("FoglioMadre").Copy After:=Sheets(Sheets.Count)
End Sub

Se copio il foglio tramite bottone, mi resistuisce FoglioMadre (02)! Per inserire il valore 02 nella cella m4 come faccio?

Grazie
raffaele1953
00martedì 17 maggio 2016 02:02
Forse
Sub CopiaFoglioRin()
Sheets("FoglioMadre").Copy After:=Sheets(Sheets.Count)
ActiveSheet().Name = Sheets.Count + 1
'casomai anche la cella M4 del foglio che desideri
End Sub

Però come detto se elimini un foglio?
Giovanni Biondolillo
00martedì 17 maggio 2016 02:36
Niente da fare. Aggiungendo quella stringa mi va a modificare il nome del foglio e non è quello che voglio.

In teoria, ad ogni foglio inserito nella cella m4 mi dovrebbe spuntare il valore m4 del foglio precedente +1

in alternativa (forse più semplice)

se il foglio si chiama "Madre (02)" in m4 deve spuntare 02 e così via!

I fogli inseriti e compilati in ogni caso non devono essere eliminati.
raffaele1953
00martedì 17 maggio 2016 12:06
Ps come detto se elimini un foglio?
Ex Foglio 1,2,3,4,5
Se per errore umano devi eliminare foglio3, il VBA andrà in errore.
Per ottenere il numero che hai eliminato (possibile, devo pensarci)
Se non interessa più il foglio3 un ciclo for
Sub CopiaFoglioRin()
Dim X, Max
For X = 2 To Sheets.Count
If Sheets(X).[M4] > Max Then Max = Sheets(X).[M4]
Next X
Sheets("Madre").Copy After:=Sheets(Sheets.Count)
ActiveSheet().Name = Max + 1 'questa per rinominare il foglio
ActiveSheet().[M4] = Max + 1 'questa per la cella M4
End Sub
Giovanni Biondolillo
00martedì 17 maggio 2016 17:00
sei un mitooo. Grazie
Funziona! :)
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 19:51.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com