|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
27-04-2012, 21.14.31 | #16 | |
Guest
Messaggi: n/a
|
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice
Credo che il problema della stampa di più fogli da un elenco debba risolversi con due cicli "For Each" nidificati; supponendo di avere in un ipotetico range("A1:A10") i nomi dei fogli su cui voglio eseguire una determianta ooperazione: Codice:
Sub xxx() Dim cella, foglio For Each foglio In ThisWorkbook.Sheets For Each cella In Range("A1:A10") If foglio.Name = cella Then '<...esegui l'operazione desiderata> End If Next cella Next foglio End Sub Quota:
Codice:
Sub elenca() Dim i As Long For i = 1 To ThisWorkbook.Sheets.Count Range("A1").Cells(i, 1) = i '<==cambiare il riferimento alla cella Range("A1").Cells(i, 2) = ThisWorkbook.Sheets(i).Name Next i End Sub |
|
28-04-2012, 23.20.29 | #17 |
Senior Member
WT Expert
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
|
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice
io credo di aver capito che a te serve un foglio che usi come indice in cui vengano elencati i nomi degli altri fogli e da lì poter scegliere di fare certe operazioni sui fogli stessi
Sulla base di questo, correggimi se ho sbagliato a interpretare, si deve fare una considerazione tecnica. Se una delle operazioni che vuoi fare è quella di inviare in stampa degli intervalli come si vede dal codice che hai postato Codice:
Sheets("BR-Bdt").Select ActiveSheet.PageSetup.PrintArea = _ "B1:L125,N1:V125,X1:AF125,AH1:AP125,AR1:AZ125,BB1: BJ125,BL1:BT125,BV1:CD125, CF1: CO125 , CP1: CX125 , CZ1: DH125,DJ1R125,DT1:EB125,ED1:EL125,EN1:EV125, EX1:FF125,FH1:FP125, FR1:FZ125,GB1:GJ125,GL1:GT125,GV1:HD125,HF1:HN125, HP1:HX125,HZ1:IH125" ----- cut --- End Sub Io userei un altro sistema, innanzi tutto dovremmo sapere quante operazioni intendi svolgere (oltre alla stampa), se per esempio sono 2/3 operazioni puoi eliminare il ciclo e inserire dei pulsanti a fianco della cella che contiene il nome del foglio per lanciare l'operazione da eseguire, e una volta eseguita la macro nasconda il pulsante stesso. Oppure se vuoi usare il ciclo per fare tutte le operazioni in automatico, conviene copiare i vari range su un foglio appoggio e incollarli in modo da contenere il n° di pagine da stampare oltre a regolare (dopo un po' di prove stampando in manuale) la % delle proporzioni per ottimizzare la routine, oltre a inserire uno sleep tra una stampa e l'altra. (praticamente con sleep fermi la macro per x secondi per dare tempo alla coda di stampa di svuotarsi) .... per cui prima di pensare al codice si dovrebbe sapere se la mia interpretazione è esatta e quante operazioni devi svolgere. magari se alleghi un file di esempio sarebbe meglio
___________________________________
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale - |
23-05-2012, 23.54.34 | #18 |
Newbie
Registrato: 30-01-2012
Messaggi: 16
|
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice
Grazie a tutti per gli aiuti.
Di fatto ho due esigenze: 1. voglio creare un ciclo che consenta di svolgere diverse attività. a titolo di esempio una potrebbe essere la stampa (definita un'area di ciascun foglio da stampare)... La scelta dei fogli da sottoporre a ciclo vorrei che fosse definita da una tabella in modo da rendere il tutto piu dinamico e semplice. Ad esempio se nella tabella a finaco di ciascun nome foglio c'è un campo "X" allora la macro individuerà il nome del foglio da sottoporre al ciclo. ecc. ecc. 2. Devo creare un indice-sommario con l'elenco delle società (sono oggetti di reportistica) e il numero della pagina. Poichè si tratta di un lungo elenco il lavoro è piuttosto noioso. Attualmente vengon stampate le pagine numerate e costruito a mano l'indice. Si tratta di una reportistica di oltre 500-600 pagine!! Grazie a tutti |
24-05-2012, 10.09.49 | #19 |
Newbie
Registrato: 30-01-2012
Messaggi: 16
|
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice
Il file è composto da molti fogli e voglio trattare con il ciclo for next solo alcuni di questi.
Per semplificare le operazioni ho pensato di inserire in un foglio una zona con il nome dei foglietti che la macro leggerà per attivare il ciclo. Spero sia piu chiaro. Grazie a tutti. |
24-05-2012, 11.02.57 | #20 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice
Beh, l'iterazione for...next è un modo, ma qualcuno ti ha anche suggerito for each ... next
Io ti consiglio (come del resto fanno anche i programmatori esperti, ma che non sono pratici del nuovo linguaggio che debbono utilizzare) di scomporre il tuo problema in moduli più semplici e di trattarli ognuno in modo indipendente. 1 - Lavora sempre su nuovi file e ricrea le condizioni che devono verificarsi sul file di destinazione in conformità con le azioni che il modulo deve eseguire 2 - Utilizza il *registratore di macro per identificare il codice mirato all'operazione manuale che hai eseguito 3 - Modifica il codice in modo che esso accetti parametri invece di valori fissi derivanti dall'operazione manuale che hai eseguito 4 - Trasforma il codice in funzioni o procedure riutilizzabili, cercando di limitarne il più possibile il numero, magari inglobando spezzoni di codice assimilabile. 5 - Metti insieme il codice dei vari moduli nel file di destinazione. Finito * Il registratore di macro è una comodità notevole |
24-05-2012, 11.52.43 | #21 |
Newbie
Registrato: 30-01-2012
Messaggi: 16
|
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice
Ho provato ad inserire nel range delle celle 01120 l'elenco dei nomi foglio all'interno del foglio "memo". Non mi funziona in quanto seleziona solo nel foglio memo anziche nei fogli individuati dall'elenco.
Grazie Sub A() Dim cella, foglio For Each foglio In ThisWorkbook.Sheets For Each cella In Range("O11:O20") Sheets("Memo").Activate If foglio.name = cella Then Range("A5:z10").Select '<...esegui l'operazione desiderata> End If Next cella Next foglio End Sub |
24-05-2012, 11.54.19 | #22 |
Newbie
Registrato: 30-01-2012
Messaggi: 16
|
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice
Ciao Lory ma il registratore non mi consente di registrare azioni come quelle desiderate. Fa solo operazioni semplici.
Occorre lavorare direttamente sul codice. |
24-05-2012, 20.24.37 | #23 |
Senior Member
WT Expert
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
|
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice
difficile darti delle soluzioni, è tutto molto vago.
non sappiamo quanti fogli hai nel tuo file, quante e quali operazioni vuoi svolgere. ??? ... almeno vediamo di cosa si tratta
___________________________________
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale - |
08-08-2012, 18.00.38 | #24 |
Newbie
Registrato: 30-01-2012
Messaggi: 16
|
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice
ciao,
non riesco a far funzionare questa macro con ciclo for: Sub ABC() Application.Calculation = xlCalculateManual Application.ScreenUpdating = False Dim wrks As Excel.Worksheet For Each wrks In Worksheets wrks.Visible = xlSheetVisible Next On Error Resume Next Dim Foglioi As Worksheet Dim i As Integer Set Foglio = Sheets(i) For i = 11 To 200 'Worksheets.Count Sheets("a").Select Range("A9:C144").Select Selection.Copy Sheets(i).Select Range("A9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False Sheets("a").Select Next i Application.Calculation = xlCalculateAutomatic End Sub puoi aiutarmi? Grazie |
18-08-2012, 08.54.47 | #25 |
Senior Member
WT Expert
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
|
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice
quì trovi la soluzione
http://freeforumzone.leonardo.it/lof...D10323892.html
___________________________________
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale - |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
Corso VBA | Alexsandra | Guide | 85 | 16-11-2016 11.11.51 |
Aiuto per excel | Hanger.85 | Office suite | 1 | 21-01-2009 22.59.47 |
Aiuto con Excel! | nike2cc | Office suite | 3 | 23-11-2007 13.36.59 |
Excel 2000 e VBA :problema con ciclo For...Next | damiano | Office suite | 11 | 29-06-2007 22.37.20 |
Aiuto su Excel | MEGS | Office suite | 2 | 08-09-2006 09.52.13 |