Oppure

Loading
17/04/13 8:56
simonride
Buongiorno chiedo a qualcuno se puo' darmi una mano, sono alle prime armi, ma con tanta buona volontà.

Ho un foglio excel con due colonne di caratteri, io dovrei prendere i carateri della seconda colonna e creare dei fogli nuovi in sequenza con il nome uguale a questi caratteri.

Sono riuscito a inserire nuova pagina copiare la prima cella assegnarla come nome al nuovo foglio e cosi per il secondo ma, non riesco a ciclarli per tutti i nomi della colonna

Public Sub NomeFoglio()


Sheets.Add After:=Sheets(Sheets.Count) 'inserisci foglio
Sheets("Foglio1";).Select 'Seleziona Foglio1

Range("B3";).Select 'Seleziona Cella
Selection.Copy 'Copia cella
Sheets(Sheets.Count).Select 'Seleziona nuovo foglio
Sheets(Sheets.Count).Name = "AI" 'Rinominalo


Sheets.Add After:=Sheets(Sheets.Count) 'inserisci foglio
Sheets("Foglio1";).Select 'Seleziona Foglio1

Range("B4";).Select 'Seleziona cella seguente
Selection.Copy
Sheets(Sheets.Count).Select 'Seleziona nuovo foglio
Sheets(Sheets.Count).Name = "ALBT"
End Sub

aaa
17/04/13 10:00
gibra
Devi semplicemente includere il tuo codice all'interno di un ciclo For/Next che deve partire dalla prima riga fino alla <n> che contiene i dati che usi.
Ad esempio: nel tuo codice usi la cella B3, quindi dovrai partire dalla riga 3, l'unica cosa che cambia è la selezione del Range che sarà dinamica:

[CODE]
Dim i As Long

For i = 3 to 5
Range("B" & i).Select

' il resto del codice lo stai già usando ;)

Next i
[/CODE]

bye.
Ultima modifica effettuata da gibra 17/04/13 10:02
aaa
17/04/13 11:12
simonride

Grazie Gibra :k:

Sono riuscito a far ciclare le celle.:asd:

Ti volevo chiedere dato che ho 152 campi da inserire con nomi diversi naturalmente, c'e' un comando che mi fa copiare la cella successiva senza doverla scrivere.

Devo fare un ciclo for anche per quello?.

Sheets(Sheets.Count).Name = "AL"
Sheets(Sheets.Count).Name = "AI"


etcc....

Grazie
aaa
17/04/13 13:18
gibra
Ahimé, non capisco cosa intendi per: cella successiva

Sheets(Sheets.Count).Name

è il nome di un foglio, cosa c'entra la cella? :rotfl:

P.S. Per favore, ti prego, non scrivere: 'ciclare' !!!
Non buttiamoci giù così. :-|
Ultima modifica effettuata da gibra 17/04/13 13:20
aaa
17/04/13 13:40
simonride

Si scusa mi spiego meglio.

Le celle della colonna b danno il nome ai fogli.

Il ciclo for che mi hai suggerito rende dinamica la selezione.

Ma se io volessi rendere dinamico anche il valore della cella?

seleziono la cella,
copio il valore della cella,
creo il nuovo foglio,
rinomino il foglio con il valore della cella,
devo passare alla cella successiva e ripetere il tutto.

Spero di essermi spiegato

aaa
17/04/13 14:13
gibra
Veramente non ho capito niente. Tu scrivi:

... devo passare alla cella successiva ...


Questa frase non è sufficiente per capire QUAL'E' la cella successiva!
Devi capire che per chi non ha il foglio davanti non può mica indovinare come è. :D

Non riesci a fare un esempio reale, pratico?
Indica le coordinate delle celle, come hai fatto nel primo post (B3, B4).
Come sono messi questi 152 campi?
Non riesci ad allegare un'immagine (che vale sempre più i 1000 parole)?
Ultima modifica effettuata da gibra 17/04/13 14:14
aaa
17/04/13 14:39
simonride
Ciao
Colonna

AI
ALBT
ALBN
ALBS
ALM
AL
AT
AP
ASKW
AS
AXT

Devo passare da cella B3 a B4 ......B152

Il valore AI deve diventare il nome del foglio nuovo, e di seguito ALBT etcc.

Spero di essere stato piu chiaro



aaa
17/04/13 14:46
gibra
Ma allora è il ciclo che ti ho indicato nel primo post.

Non capisco perché chiedi se ne devi fare un'altro...
Non è sufficiente quello?

Ultima modifica effettuata da gibra 17/04/13 14:47
aaa