Cercare e copiare righi



  • Cercare e copiare righi
    di Alessio (utente non iscritto) data: 23/05/2011

    Salve,
    sotto ho postato il codice che utilizzo per visualizzare su ogni foglio un determinato nome articolo.
    come potete vedere, al momento è un semplice copia ed incolla, solamente che su alcuni tipi di articoli vorrei che li togliesse direttamente.
    in pratica ho tutti gli articoli sul foglio1, ed al momento non mi cancella dal foglio1 le singole righe, ma mi visualizza solo il contenuto delle celle da me desiderate su un foglio determinato dal nome nella cella a1 di ciascun foglio.

    potrei fare il modo che quando trova determinati articoli tagliasse ed incollasse l'intero rigo su un foglio xx?

    e' un implementazione di quello che già sto usando non lo devo sostituire devo solo mettere la variabile taglia ed incolla.

    spero di essere stato chiaro.

    grazie

     
    Private Sub CommandButton1_Click()
    
    
    
    num = Worksheets.Count
    Dim ws As Worksheet
    
    
        'Per ogni foglio della catella
    For Each ws In ActiveWorkbook.Sheets
        'ad esclusione di
    If ws.Name <> "Foglio1" And ws.Name <> "???" Then
    
    
    i = 12
            'cancella il contenuto delle celle
        ws.Range("B13:K62").ClearContents
            'Seleziona la cella
        Range("A3").Select
    
    
    
    If ws.Range("a1").Value <> "" Then
       For Each casella In Worksheets("Foglio1").Range(Worksheets("Foglio1").Cells(2, 3), Worksheets("Foglio1").Cells(Worksheets("Foglio1").[a2].Value + 1, 2))
          If CStr(casella.Value) = ws.Range("a1").Value Then
             
        i = i + 1
                  
                
                ws.Cells(i, 2) = casella.Offset(0, 3)   'Cliente
                ws.Cells(i, 3) = casella.Offset(0, 7)   'Articolo
                ws.Cells(i, 4) = casella.Offset(0, 11)   'Colore
                ws.Cells(i, 5) = casella.Offset(0, 15)   
                ws.Cells(i, 6) = casella.Offset(0, 19)  
                ws.Cells(i, 7) = casella.Offset(0, 21)  
                ws.Cells(i, 8) = casella.Offset(0, 23)  
                ws.Cells(i, 9) = casella.Offset(0, 25)  
                ws.Cells(i, 10) = casella.Offset(0,31)  
                'ws.Cells(i, 21) =casella.Offset(0,??) 
                
    
      End If
      
      
      Next
            
    End If
    
    End If
          
    att = att + 1  'si incrementa un numeratore di una unità ad ogni foglio scorso
    
    Next ws 'e si passa al foglio successivo
    
    
    If att = num Then  'se il contatore (att) sarà uguale al numero dei fogli (num) , si avvisa con il messaggio
    MsgBox "Aggiornamento Eseguito su Tutte le Taglie"
    
        End If