View Single Post
Old 05-04-2007, 16:05   #11
swarm
Senior Member
 
L'Avatar di swarm
 
Iscritto dal: Jan 2003
Cittā: Castellammare di Stabia (NA)
Messaggi: 2031
Quote:
Originariamente inviato da icecube_HU Guarda i messaggi
Mah.... io semplificherei con:
Codice:
Public Sub Compatta2(ByVal numRighe As Long, sht As Worksheet)
    Dim i As Long
    With sht
        For i = numRighe To 4 Step -1
            ' se (la colonna descrizione e' uguale a quella della riga precedente) e se(coincidono le celle NID_PI)
            If ((.Cells(i, colDescr).Value = .Cells(i - 1, colDescr).Value) And (.Cells(i, colNID).Value = .Cells(i - 1, colNID).Value)) Then
                ' aggiungo alla cella Scenario della precedente riga ",<cella Scenario della riga attuale>"
               .Cells(i - 1, colScenario) = .Cells(i - 1, colScenario) & ":" & .Cells(i, colScenario)
            Rows(i).Delete
            End If
        Next
    End With
End Sub
Prova in po'..... Ciao !

N.B.:
Occhio, se dichiari Dim a, b, c, d As Long
solo L'ULTIMA variabile e' Long, le altre vengono implicitamente dichiarate come Variant, con conseguente spreco di memoria e minor velocita'...
Questo in generale, non e' certo il problema nel caso in questione.

hai postato il codice esattamente come lo facevo prima...

cmq il tuo consiglio sulla diciharazione dei dati mi č molto utile, non lo sapevo!

cmq fa nulla, ormai mi sono arreso

sei stato gentilisssssssssssimo

byezzzz
__________________
ho fatto affari con: na decina di anime
swarm č offline   Rispondi citando il messaggio o parte di esso