Moderatori: Anthony47, Flash30005
... eliminare i valori ripetuti presenti sulla stessa riga ma non eliminarli se presenti su altre righe.
cosa rispondi?qualunque siano le condizioni (codice presente più volte sia su una sola riga sia su più righe) il codice dovrà essere presente una sola volta per riga
Sub Roxx()
Dim I As Long, J As Long, JJ As Long, OutSh As String
'
OutSh = "PIPPO" '<< Foglio di uscita; vedi testo
'
If ActiveSheet.Name = OutSh Then
MsgBox ("Selezionare il foglio di partenza e ripetere")
Exit Sub
End If
Sheets(OutSh).Cells.ClearContents
For I = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For J = 1 To Cells(I, Columns.Count).End(xlToLeft).Column
If Application.WorksheetFunction.CountIf(ActiveSheet.UsedRange, Cells(I, J).Value) > 1 Then
If Application.WorksheetFunction.CountIf(ActiveSheet.UsedRange, Cells(I, J)) > _
Application.WorksheetFunction.CountIf(Rows(I), Cells(1, J)) _
And Application.WorksheetFunction.CountIf(Sheets(OutSh).Rows(I), Cells(I, J)) = 0 Then
Sheets(OutSh).Cells(I, J).Value = Cells(I, J)
End If
Else
Sheets(OutSh).Cells(I, JJ).Value = Cells(I, J)
JJ = JJ + 1
End If
DoEvents
Next J
DoEvents
Next I
End Sub
Impostare il nome del foglio in cui verra' creato l' elenco modificato; tornare su excel, selezionare il foglio con i dati di partenza e lanciare la macro. NB: il foglio di output deve gia' esistere. . .
If ActiveSheet.Name = OutSh Then '<<<<<<<<<<<<<<<< esistente
MsgBox ("Selezionare il foglio di partenza e ripetere") '<<<<<<<<<<<<<<<< esistente
Exit Sub '<<<<<<<<<<<<<<<< esistente
End If '<<<<<<<<<<<<<<<< esistente
JJ = 1 '<<<<<<<<<<<<<<<< aggiungere qui
'...
'...
Sheets(OutSh).Cells(I, J).Value = Cells(I, J)
Torna a Applicazioni Office Windows
Inserire add.in nella barra di avvio veloce in excel 2003 Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 4 |
Excel: problema con date se devo unirle a testi Autore: valle1975 |
Forum: Applicazioni Office Windows Risposte: 5 |
Visitano il forum: Nessuno e 23 ospiti