Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Loop For Each- Next....ma con le celle di una riga?

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

Loop For Each- Next....ma con le celle di una riga?

Postdi Black.Jack » 12/01/11 10:59

salve a tutti ragazzi!

domandona x cominciare il 2011 col buonumore :lol:


se devo fare un "For each cell in range"...

con range
Codice: Seleziona tutto
Set rng = Range("A1").End(xlToRight)


il ciclo non è gestibile in caso dovessi passare alla riga successiva con "B1" tramite variabile.

Solitamente con le rows...basta usare un valore numerico..ma qui?

ecco la macro da me realizzata:

Codice: Seleziona tutto
Sub CheckRighePAVIA()

Dim pippo As Integer
Dim cella As Range
Dim rng As Range
riga = Worksheets("Foglio1").Range("A1").Row
riga2 = Worksheets("Foglio2").Range("A1").Row

Dim gotoahahahgiando As Integer

contacolonna = Worksheets("Foglio1").Range("A1").End(xlToLeft).Column + 1
Sheets("Foglio1").Select

For gotoahahahgiando = 1 To ActiveSheet.UsedRange.Rows.Count * ActiveSheet.UsedRange.Columns.Count Step 1

Sheets("Foglio1").Select

folder = Cells(riga, 1)

cellacheck = Cells(riga, contacolonna)

Sheets("Foglio2").Select

    For Each cell In Range("A:A")
   
        If cell = folder Then
       
            'scandaglia in orizzontale
       
            'Set rng = Cells(pippo, Columns.Count).End(xlToLeft)
            Set rng = Range("A1").End(xlToRight)
               
            For Each cella In rng
       
            If cella = cellacheck Then
            riga2 = riga2 - 1
            contacolonna = contacolonna + 1
       
            'Else
       
            'Cells(riga2, 1).End(xlToRight) = cellacheck
       
            End If
         
            Next cella
            Exit For
        End If
       
        riga2 = riga2 + 1
     
    Next cell

Next 'gotoahahahgiando

End Sub
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Sponsor
 

Re: Loop For Each- Next....ma con le celle di una riga?

Postdi Black.Jack » 12/01/11 11:07

la macro in pratica confronta le celle nella prima colonna con le celle nella prima colonna del foglio successivo.

SE trova corrispondenza, allora parte(dovrebbe partire) un controllo di tutte le celle della riga corrispondente con la
riga corrispondente...

ci stavo lavorando...però non riesco a gestire in discesa il range legato al loop perchè rimane sempre alla riga 1 (dato il range di riferimento "A1")....


grazie anticipatamente come sempre! ;)
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40

Re: Loop For Each- Next....ma con le celle di una riga?

Postdi Black.Jack » 12/01/11 12:35

ehm...risolto così:

Codice: Seleziona tutto
Set rng = Range(Cells(riga2, 1), Cells(riga2, 1).End(xlToRight))

            rng.Select
           
            For Each cella In Selection



influenzando la "riga2"...otterrei il risultato voluto durante il loop...ben vengano migliorie!! (alla fine uso sempre i 4 comandi in croce...)
Win7 + Office 2010 Ita
Xp + Office 2010 Ita
Black.Jack
Utente Junior
 
Post: 93
Iscritto il: 23/06/10 08:40


Torna a Applicazioni Office Windows


Topic correlati a "Loop For Each- Next....ma con le celle di una riga?":


Chi c’è in linea

Visitano il forum: alfrimpa e 10 ospiti