Abbiamo visto tutti gli annunci in TV: “Chiama il numero 1-800-OTTIENI QUESTO per il tuo set di coltelli super affilati”. Potresti trovarti di fronte alla necessità di convertire i numeri di telefono dalla versione di testo (come mostrato negli annunci) ai numeri rappresentati da quel testo. La seguente macro, DoPhone, eseguirà la magia di conversione per te:

Sub DoPhone()

Dim rngSrc As Range     Dim lMax As Long, lCtr As Long     Dim J As Integer     Dim Phone As String, Digit As String

Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)

lMax = rngSrc.Cells.Count

For lCtr = 1 To lMax         If Not rngSrc.Cells(lCtr).HasFormula Then             Phone = rngSrc.Cells(lCtr).Value             For J = 1 To Len(Phone)

Digit = Ucase(Mid(Phone, J, 1))

Select Case Digit                     Case "A" To "P"

Digit = Chr((Asc(Digit) + 1) \ 3 + 28)

Case "Q"

Digit = "7"     'May want to change                     Case "R" To "Y"

Digit = Chr(Asc(Digit) \ 3 + 28)

Case "Z"

Digit = "9"     'May want to change                 End Select                 Mid(Phone, J, 1) = Digit             Next J             rngSrc.Cells(lCtr).Value = Phone         End If     Next lCtr End Sub

La procedura DoPhone tenta di convertire le informazioni in qualsiasi cella che non contiene una formula. Tutto quello che devi fare è selezionare la cella (o le celle) che desideri convertire, quindi eseguire la procedura. Il risultato è che qualsiasi testo nelle celle viene convertito in cifre equivalenti su un telefono. Pertanto, 598-Tips diventa 598-8477.

Dovresti notare una piccola particolarità di DoPhone e potresti volerlo cambiare. Alcuni telefoni riconoscono le lettere Q e Z rispettivamente come cifre 7 e 9. Altri semplicemente lasciano fuori queste cifre o vengono convertite in 0. DoPhone, come scritto qui, converte queste lettere in 7 e 9. È possibile modificare le posizioni appropriate nella struttura Seleziona caso, come desiderato, in modo che vengano modificate in numeri alle tue esigenze. (I posti appropriati sono commentati nell’elenco.)

_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 (2269) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: