Telefonino.net network
 
| 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 » |

Torna indietro   WinTricks Forum > Software > Office suite

Notices

Rispondi
 
Strumenti discussione
Vecchio 27-04-2012, 22.14.31   #16
Zer0Kelvin
Guest
 
Messaggi: n/a
Rif: EXCEL AIUTO PER CICLO FOR e creazione indice

Salve a tutti.
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
se il range di celle varia spesso si potrebbe usare una piccola tabella ed usare il riferimento alla tabella (che viene aggiornato automaticamente), oppure si potrebbe passare il range come parametro, usare la proprietà selection o altro...
Quota:
Mi piacerebbe anche trovare un sistema per creare un sommario che riporta denminazione di alcuni fogli del file e il numero di pagine progressivo.
Riguardo a questo quesito:
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
  Rispondi citando
Vecchio 29-04-2012, 00.20.29   #17
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
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
con un ciclo For (o altro), tieni presente che inviare intervalli così considerevoli in stampa e per vari fogli, di sicuro saturi la coda di stampa, oltre al fatto che ti porti dietro anche le colonne che sono tra gli intervalli che hai segnalato, con una mole notevole di pagine da stampare (e molte bianche).

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 -
Alexsandra non è collegato   Rispondi citando
Vecchio 24-05-2012, 00.54.34   #18
spider0
Newbie
 
Registrato: 30-01-2012
Messaggi: 16
spider0 promette bene
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
spider0 non è collegato   Rispondi citando
Vecchio 24-05-2012, 11.09.49   #19
spider0
Newbie
 
Registrato: 30-01-2012
Messaggi: 16
spider0 promette bene
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.
spider0 non è collegato   Rispondi citando
Vecchio 24-05-2012, 12.02.57   #20
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
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
LoryOne non è collegato   Rispondi citando
Vecchio 24-05-2012, 12.52.43   #21
spider0
Newbie
 
Registrato: 30-01-2012
Messaggi: 16
spider0 promette bene
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
spider0 non è collegato   Rispondi citando
Vecchio 24-05-2012, 12.54.19   #22
spider0
Newbie
 
Registrato: 30-01-2012
Messaggi: 16
spider0 promette bene
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.
spider0 non è collegato   Rispondi citando
Vecchio 24-05-2012, 21.24.37   #23
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
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. ???

Quota:
Inviato da Alexsandra Visualizza messaggio
magari se alleghi un file di esempio sarebbe meglio
... almeno vediamo di cosa si tratta
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 08-08-2012, 19.00.38   #24
spider0
Newbie
 
Registrato: 30-01-2012
Messaggi: 16
spider0 promette bene
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
spider0 non è collegato   Rispondi citando
Vecchio 18-08-2012, 09.54.47   #25
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
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 -
Alexsandra non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Corso VBA Alexsandra Guide 85 16-11-2016 12.11.51
Aiuto per excel Hanger.85 Office suite 1 21-01-2009 23.59.47
Aiuto con Excel! nike2cc Office suite 3 23-11-2007 14.36.59
Excel 2000 e VBA :problema con ciclo For...Next damiano Office suite 11 29-06-2007 23.37.20
Aiuto su Excel MEGS Office suite 2 08-09-2006 10.52.13

Orario GMT +2. Ora sono le: 13.04.35.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.