Steven sta testando alcuni software e ha bisogno di inserire nel programma un mucchio di nomi “falsi”. Vorrebbe che questi nomi fossero modellati come Nameaaa, Nameaab, Nameaac e così via attraverso Namezzz. Ciò richiederebbe la creazione di 17.576 nomi (26 x 26 x 26). Si chiede se esiste un modo semplice per generare tutti questi nomi in Excel.

Questo tipo di attività ripetitiva richiede solo una macro. (Sono ottimi per svolgere attività noiose, noiose e ripetitive che non si desidera eseguire manualmente.) Il Listato 1 mostra una semplice macro che può svolgere il lavoro necessario.

Listing 1. Macro CreateNames.

Sub CreateNames()

Dim i As Integer     Dim x As Integer     Dim y As Integer     Dim z As Integer

i = 1     For x = 97 To 122         For y = 97 To 122           For z = 97 To 122               Cells(i, 1) = "Name" & Chr(x) _                 & Chr(y) & Chr(z)

i = i + 1             Next         Next     Next End Sub

La macro utilizza tre variabili (x, yez) per fungere da “contatori” che controllano quale lettera dell’alfabeto viene aggiunta al “nome” inserito in una cella. Si noti che i cicli For …​ Next vanno da 97 a 122, che sono i codici ASCII per le lettere dalla a alla z minuscola.

Se non vuoi usare una macro per qualche motivo, digita la seguente formula nella cella A1 di un foglio di lavoro vuoto:

="Name" & CHAR((ROW()-1)/676+97)&CHAR(MOD( (ROW()-1)/26,26)+97)&CHAR(MOD(ROW()-1,26)+97)

Questa è una singola formula e risulta nella visualizzazione di “Nameaaa”.

Copia la formula fino alla riga 17.576 e avrai i tuoi nomi falsi.

_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 (12129) 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: