Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Costruire 4006 fogli con macro

Ultimo Aggiornamento: 03/04/2020 20:13
Post: 192
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 44
Utente Junior
2003
OFFLINE
30/03/2020 18:09

Buon Lunedi a tutti.Avrei un progetto da analizzare tutti gli ambi ,sto creando un foglio di lavoro che alla fine del progetto dovrà contenere 4006 fogli (uno per ogni ambo) più un foglio chiamato indice.Aggiungo nel foglio allegato come esempio i primi 2 fogli,gli ultimi 2 più il foglio chiamato indice.Avrei bisogno una macro che per primo me li costruisce tutti 4005 e una volta costruiti avrei bisogno una userform che mi permette tramite un comando di spostarmi sull'ambo digitato dalla userform perché a uno a uno dovrei compilarli. Nel Foglio5 chiamato (indice ) ci sono tutti i 4005 ambi.Nel progetto vba l'ordine dei fogli è questo ma potete benissimo cambiarlo.Accetto qualsiasi soluzione.Grazie Matteo
Post: 2.294
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
30/03/2020 19:09

ciao da inserire in un modulo

Option Explicit
Sub xxxx()
Dim nomeSH As String
Dim i As Long
Sheets("Indice").Select
For i = 2 To 10 ''Cells(Rows.Count, "A").End(xlUp).Row
''' ps togli 10 e metti cells( ecc.
nomeSH = Cells(i, "A") & "-" & Cells(i, "B")
With Sheets.Add
.Name = nomeSH
End With
Sheets("Indice").Select
With Cells(i, "C").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & nomeSH & "'!A1", TextToDisplay:="'" & nomeSH & "'!A1"
End With
Next i
End Sub



Ciao da locate
excel 2007 / 13
Post: 192
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 44
Utente Junior
2003
OFFLINE
31/03/2020 14:48

Perfetto .Grazie Locatevaresino Saluti
Post: 2.296
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
31/03/2020 15:12

ciao

metti anche questo pezzo di scritto cosi eviterai di di andare in Indice manualmente ma dalla cella A1 di ogni foglio che selezioni ritorni

da cosi

With Sheets.Add
.Name = nomeSH
End With
Sheets("Indice").Select

a cosi

With Sheets.Add
.Name = nomeSH
End With
''
With Cells(1, "A").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'Indice'!A1", TextToDisplay:="'-->> Ritorto A Indice"
End With
'''
Sheets("Indice").Select
Ciao da locate
excel 2007 / 13
Post: 193
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 44
Utente Junior
2003
OFFLINE
31/03/2020 21:13

Ciao Locate ho modificato il codice come hai detto ma mi si blocca excel all'esecuzione,sicuramente ho sbagliato io qualcosa,potresti rifare il codice da capo così sicuramente inserito in un nuovo modulo non avrò problemi.Calcola che per sviluppare i 4006 fogli ci vuole 45 minuti con un pc da 8 giga.Ciao e grazie Matteo
Post: 2.297
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
31/03/2020 22:40

ciao matteo

l'errore te lo da perché trova gia' i fogli nominati quindi lasciamo perdere la modifica alla sub() teniamola cosi come

Option Explicit
Sub xxxx()
Dim nomeSH As String
Dim i As Long
Sheets("Indice").Select
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
nomeSH = Cells(i, "A") & "-" & Cells(i, "B")
With Sheets.Add
.Name = nomeSH
End With
With Cells(1, "A").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'Indice'!A1", TextToDisplay:="'-->> Ritorto A Indice"
End With
Sheets("Indice").Select
With Cells(i, "C").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & nomeSH & "'!A1", TextToDisplay:="'Collegamento a --> " & nomeSH & "'!A1"
End With
Next i
End Sub

e mettiamo sempre nello stesso modulo quest'altra che inserisce il linc in ogni foglio gia creato

Sub Ritorno_a_Indice()
Dim i As Long
For i = 1 To Sheets.Count
Sheets(i).Select
With Cells(1, "A").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'Indice'!A1", TextToDisplay:="'-->> Ritorto A Indice"
End With
Next i
End Sub

con questa non ti cambio il lavoro gia' fatto


Ciao da locate
excel 2007 / 13
Post: 194
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 44
Utente Junior
2003
OFFLINE
01/04/2020 13:34

Perfetto ritorno ad indice. Grazie LocateVaresino
Post: 198
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 44
Utente Junior
2003
OFFLINE
03/04/2020 11:48

Ciao Locate non so come mai all'esecuzione della macro Sub xxxx()
mi arriva questo errore 400 e ogni volta mi crea un foglio non voluto
Post: 2.300
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
03/04/2020 14:25

ciao matteo

la sub xxxx era da utilizzare una sola volta , e se tenti di aggiungere altri fogli questa si blocca segnalandoti un errore perché non si puo' dare lo stesso nome a 2 fogli
quindi cancella tutte quelle macro e sostituisci con questa

Option Explicit
Sub CreaFogli_e_Aggiunge()
Dim nomeSH As String
Dim i As Long
Dim ricSH As Boolean
Sheets("Indice").Select
For i = 2 To 14 ''Cells(Rows.Count, "A").End(xlUp).Row
nomeSH = Cells(i, "A") & "-" & Cells(i, "B")
ricSH = Not IsError(Evaluate("'" & nomeSH & "'!A1"))
If ricSH = False Then
With Sheets.Add
.Name = nomeSH
End With
With Cells(1, "A").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'Indice'!A1", TextToDisplay:="'-->> Ritorto A Indice"
End With
Sheets("Indice").Select
With Cells(i, "C").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & nomeSH & "'!A1", TextToDisplay:="'Collegamento a --> " & nomeSH & "'!A1"
End With
End If
Next i
End Sub

questa verifica se un foglio esiste e se non esiste lo crea

Ciao da locate
excel 2007 / 13
Post: 199
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 44
Utente Junior
2003
OFFLINE
03/04/2020 14:56

Ciao Locate, innanzitutto grazie dei codici,il problema è che ho
già fatto tutti i fogli adesso devo soltanto tornare nel foglio indice
con una macro qualora sono in un foglio qualsiasi e non riesco perchè
mi da sempre l'errore 400.Saluti Matteo.
P.S. è possibile depennare in colonna D foglio indice qualora un foglio viene compilato?Grazie Matteo
Post: 2.302
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
03/04/2020 16:08

ciao

non riesco a capire quale sia questo errore in quanto a me non lo fa
comunque una Macro per ritornare al foglio Indice

Sub Ritorna_a_Indice()
Sheets("Indice").Select
End Sub

PS queste macro vanno inserite in un Modulo_Standar e non in quello del foglio indice

comunque ti posto il mio per farti capire


[Modificato da locatevaresino 03/04/2020 16:08]
Ciao da locate
excel 2007 / 13
Post: 200
Registrato il: 03/10/2015
Città: ALBAREDO PER SAN MARCO
Età: 44
Utente Junior
2003
OFFLINE
03/04/2020 20:13

Ciao Locate risolto perfettamente con
Sub Ritorna_a_Indice()
Sheets("Indice").Select
End Sub
Grazie ancora.
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Risolutore con macro e indicizzazione (6 messaggi, agg.: 07/04/2020 21:11)
Attivare macro con CONTA.NUMERI (14 messaggi, agg.: 22/05/2017 06:40)
Macro con pausa Apri-Aggiorna-Chiudi (16 messaggi, agg.: 12/07/2018 09:31)
File combinato word con excel (2 messaggi, agg.: 27/07/2020 23:01)
Macro per inserire in cella valore calcolato da formula (13 messaggi, agg.: 01/05/2018 18:46)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 04:25. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com