Brevemente, ho scritto la seguente macro che, tra le altre cose, dovrebbe scorrere la colonna G (colonna dei clienti) del foglio "Generale" e allorquando trova un NOME nuovo rispetto a quelli già visitati deve creare un nuovo foglio che si chiami come il NOME di cui sopra. Questo foglio nuovo magari dovrebbe essere la copia del foglio da me predisposto chiamato COMMITTENTE... Ho pensato di ordinare il foglio Generale in modo da consentire il confronto tra i nomi, e qualora siano diversi si dovrebbe creare sto nuovo foglio, ma aimè non funge...
- Codice: Seleziona tutto
Sub UNICA()
‘
Dim I As Long
'
‘ Parte irrilevante
Sheets("Generale").Select
ActiveSheet.Unprotect
ir = 2
For x = 1 To 1600
If Cells(ir, 1) = Empty Then
Cells(ir, 1).EntireRow.Delete
ir = ir - 1
End If
ir = ir + 1
x = x + 1
Next
‘ Parte di ordinamento funzionante
Rows("2:200").Select
ActiveWorkbook.Worksheets("Generale").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Generale").Sort.SortFields.Add Key:=Range("G3:G214"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Generale").Sort
.SetRange Range("A2:O214")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
‘ Parte non funzionante
ir = 4
For x = 1 To 1600
If Cells(ir, 7) <> Cells(ir-1,7)
Sheets.Add
Sheets("Foglio1").Name = " Worksheets("Generale").Range("ir" & G).Value "
End If
ir = ir + 1
x = x + 1
Next