Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Casanmaner,
ci sono quasi ma mi servirebbe un altro aiuto se possibile...
Nella colonna 'A' inserisco nomi clienti, secondo le regole per la 'Gestione Nomi', poi eseguo le macro (non essendo molto pratico per ora le tengo separate e le eseguo in sequenza, poi se tutto gira le unisco). Funziona tutto se non inserisco alcun valore in qualsiasi cella da B2 in giù, viceversa la macro 'Sub b_GestioneNomi' va un Runtime Error 1004.
(in realtà va in Runtime error anche se non rispetto le regole di 'Gestione Nomi' e fin qui ok, il problema è che se cancello il nome scorretto comunque persiste il runtime error, devo cambiare foglio per farla funzionare).
Sub a_Ordine_Alfabetico_Colonna_A_e_Righe()
'
' Ordine_Alfabetico_Colonna_A_e_Righe Macro
'
'
Cells.Select
ActiveWorkbook.Worksheets("Lista Cliente Abilitazione Tec").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("Lista Cliente Abilitazione Tec").Sort.SortFields. _
Add Key:=Range("A1:A1000"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Lista Cliente Abilitazione Tec").Sort
.SetRange Range("A1:CW1000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
End Sub
Sub b_GestioneNomi()
Dim oName As Name
Dim rng As Range, c As Range
Dim sNomeFoglio As String
With Application
For Each oName In .Names
oName.Delete
Next oName
End With
Set rng = Range("A1").CurrentRegion
sNomeFoglio = "='" & ActiveSheet.Name & "'!"
For Each c In rng
Application.Names.Add Name:=c.Value, _
RefersTo:=sNomeFoglio & c.Offset(, 1).Address & ":" & Cells(c.row, Columns.Count).Address
Next c
End Sub
Sub c_OrdinaNomi()
Dim oName As Name
Dim rng As Range
With Application
For Each oName In .Names
Set rng = oName.RefersToRange
rng.Sort Key1:=rng, Order1:=xlAscending, Header:=xlNo, Orientation:=xlSortRows
Next oName
End With
End Sub
Sub d_GestioneNomiCliente()
'
' GestioneNomiCliente Macro
'
'
ActiveWorkbook.Names.Add Name:="Cliente", RefersToR1C1:="='Lista Cliente Abilitazione Tec'!C1"
ActiveWorkbook.Names("Cliente").Comment = ""
Range("A1").Select
End Sub
grazie dall'aiuto
Stefano