Ordinazione di fogli di lavoro in base a un valore di cella (Microsoft Excel)
Altri problemi di ExcelTips hanno fornito modi per ordinare i fogli di lavoro nella cartella di lavoro in base al nome del foglio di lavoro. E se volessi ordinare i fogli di lavoro in base a un valore in una determinata cella di ciascun foglio di lavoro, tuttavia? Ad esempio, potresti avere una serie di fogli di lavoro che condividono lo stesso layout generale e desideri che i fogli di lavoro siano ordinati in base al valore nella cella H7 di ciascun foglio di lavoro.
L’unico modo per gestirlo è con una macro. La macro deve scorrere ogni foglio di lavoro nella cartella di lavoro e quindi controllare la cella chiave in ogni foglio di lavoro successivo per vedere come si confronta con la stessa cella in altri fogli di lavoro. Se il valore della cella è inferiore al foglio di lavoro corrente, è possibile spostare il foglio di lavoro che contiene il valore inferiore.
Sub SortWksByCell() Dim i As Integer Dim j As Integer For i = 1 To Worksheets.Count For j = i To Worksheets.Count If UCase(Worksheets(j).Range("H7")) < _ UCase(Worksheets(i).Range("H7")) Then Worksheets(j).Move Before:=Worksheets(i) End If Next Next End Sub
Notare l’uso del metodo Move, che esegue il movimento effettivo dei fogli di lavoro. I nomi dei fogli di lavoro non contano, solo il loro posizionamento in base al valore nella cella H7 di ciascun foglio di lavoro.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (12448) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.
Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: