Desidero eseguire il ciclo di un intervallo di celle in ordine alfabetico per creare un rapporto in ordine alfabetico. Non desidero ordinare il foglio poiché l'ordine originale è importante.Ordine alfabetico del ciclo vba di Excel nell'intervallo
Sub AlphaLoop()
'This is showing N and Z in uppercase, why?
For Each FirstLetter In Array(a, b, c, d, e, f, g, h, i, j, k, l, m, N, o, p, q, r, s, t, u, v, w, x, y, Z)
For Each SecondLetter In Array(a, b, c, d, e, f, g, h, i, j, k, l, m, N, o, p, q, r, s, t, u, v, w, x, y, Z)
For Each tCell In Range("I5:I" & Range("I20000").End(xlUp).Row)
If Left(tCell, 2) = FirstLetter & SecondLetter Then
'Do the report items here
End If
Next
Next
Next
End Sub
Si noti che questo codice non è testato, solo i tipi di le prime 2 lettere e richiede molto tempo come deve scorrere il testo 676 volte. C'è un modo migliore di questo?
Grazie per le risposte a tutti, molti metodi diversi qui. Sto solo cercando di scegliere quale usare. – user2967539
Qualcuno ha idea del perché N e Z tornino in maiuscolo nel codice sopra? Sono funzioni vba? – user2967539
Potresti aver dichiarato (una volta) una variabile o una procedura denominata "N" e "Z" ed è per questo che l'editor le ha trasformate in maiuscole. FWIW, il tuo array non sta facendo affatto quello che pensi mentre lo hai riempito con le variabili a, b, c, ecc piuttosto che i caratteri "a", "b", "c". Sembra senza dubbio che tu non stia usando Option Explicit e quindi il compilatore ti sta permettendo di commettere errori di base come l'uso di variabili non dichiarate. ** Usa Option Explicit! ** [Vedi questo post SO.] (Http://stackoverflow.com/questions/2454552/whats-an-option-strict-and-explicit) –