Condividi:        

Ciclo For su un foglio diverso da quello attivo

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Ciclo For su un foglio diverso da quello attivo

Postdi 02perla » 03/05/12 14:58

Ciao
ho un problema con una macro che stò cercando di finire.
Praticamente dovrei posizionarmi sul foglio attivo corrente, ciclare su determinate colonne per riga (e fin qui tutto bene)
per ogni riga dovrei salvarmi il valore, ricercare il valore su un altro foglio exel al range A1:A999. A questo punto dovrei prendermi il valore B1 e confrontarlo con quello del ciclo precedente.
Se la cella ha il valore vuoto vorrei uscire dal 2* ciclo e proseguire con il 1* ciclo.

Vi posto il codice inserendo il maiuscolo le parti che non riesco a completare.

Codice: Seleziona tutto
Windows(oldfile).Activate
'Sheets(foglioatt).Activate
Worksheets(foglioatt).Activate

Dim myVal As String
Dim myVal2 As String
'legge il primo valore
myVal = Range("d1").Value


Set D = Worksheets("Base")

'inizia il ciclo dalla riga 1 all'ultima della colonna A
For r = 3 To Range("e78").End(xlUp).Row

Range("e" & r).Select
ActiveCell.Interior.ColorIndex = 3 'rosso
myVal2 = Range("a" & r).Value
[b]
********** PARTE DA FINIRE *************************
QUI DOVREI CICLARE SU UN ALTRO FOGLIO CHE SI CHIAMA "BASE"[/b]
For g = 2 To Range("a9999").End(xlUp).Row

[b]CONFRONTO I VALORI DEL 2* FOGLIO CON QUELLI DEL PRIMO[/b]
If Range("a" & g).Value = myVal2 Then
[b]SE TROVO IL VALORE VERIFICO SE B1 DEL PRIMO FOGLIO è UGUALE A QUESTO (B1 LO SALVO IN UNA VARIABILE) [/b]

Else
If Range("a" & g).Value = "" Then
[b]SE TROVO VUOTO FOTTEI USCIRE SOLO DAL CICLO FOR G MA PROSEGUIRE CON FOR R[/b]
End If

End If



Next g



Next r

Range("E1:E78").Interior.ColorIndex = 2 'bianco


Attendo un aiutino da chi ne capisce più di me :-) io qui mi sono arenata e non riesco a proseguire.
grazie mille
02perla
Newbie
 
Post: 2
Iscritto il: 15/04/05 11:20

Sponsor
 

Re: Ciclo For su un foglio diverso da quello attivo

Postdi Flash30005 » 03/05/12 15:56

Ciao 02Perla e benvenuta nel Forum

a me sembra che hai posizionato tutto bene ma non posso provare la macro senza il file
altrimenti dovrei ricostruirmi in parte lo schema dei tuoi dati

comunque
Codice: Seleziona tutto
Windows(oldfile).Activate
'Sheets(foglioatt).Activate
Worksheets(foglioatt).Activate

Dim myVal As String
Dim myVal2 As String
'legge il primo valore
myVal = Range("d1").Value


Set Ws2 = Worksheets("Base")  '<<<<< inserisci sempre almeno due lettere per dichiarare i fogli o altro

'inizia il ciclo dalla riga 1 all'ultima della colonna A
For r = 3 To Range("e78").End(xlUp).Row

Range("e" & r).Select
ActiveCell.Interior.ColorIndex = 3 'rosso
myVal2 = Range("a" & r).Value
[b]
********** PARTE DA FINIRE *************************
QUI DOVREI CICLARE SU UN ALTRO FOGLIO CHE SI CHIAMA "BASE"[/b]
'<<<<<<<<<< devi sempre richiamare il nome del foglio altrimenti leggerai sempre sul foglio attivo quindi
For g = 2 To Ws2.Range("a9999").End(xlUp).Row

[b]CONFRONTO I VALORI DEL 2* FOGLIO CON QUELLI DEL PRIMO[/b]
If Ws2.Range("a" & g).Value = myVal2 Then
If Range("B1").value = Ws2.Range("NonSo").value then MioB = '<<<< qui non ho capito a quale valore deve essere uguale B1

Else
If Ws2.Range("a" & g).Value = "" Then
Goto EsciG  '<<<<<<<<<< qui fai il salto se inserisci la label*
End If

End If

Next g
EsciG:  '<<<< * in questo punto e continua "r"
Next r

Range("E1:E78").Interior.ColorIndex = 2 'bianco


Devi solo chiarire un punto segnalato oppure penso riuscirai a completare la macro da sola

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "Ciclo For su un foglio diverso da quello attivo":


Chi c’è in linea

Visitano il forum: Nessuno e 34 ospiti