Cancellazione di tutto fino a una sequenza di caratteri (Microsoft Excel)
Steven ha un foglio di lavoro che contiene molto testo. Nelle celle della colonna A vuole eliminare tutto ciò che può verificarsi prima di una data sequenza di caratteri, come tutto ciò che precede = XX =. Potrebbero esserci più istanze di questi personaggi in ogni cella, ma Steven vuole solo eliminare tutto prima della prima occorrenza.
Un modo per farlo è usare una formula. Ad esempio, la seguente formula valuterà tutto ciò che è nella cella A1 e restituirà semplicemente tutto fino a = XX = caratteri. Se i caratteri non vengono trovati nella cella, viene restituita l’intera cella:
=RIGHT(A1,IF(ISERROR(FIND("=XX=",A1,1)), LEN(A1),LEN(A1)-FIND("=XX=",A1,1)+1))
Se invece vuoi non restituire la prima occorrenza di = XX =, tutto quello che devi fare è cambiare il +1 vicino alla fine della formula in -3.
Se preferisci una soluzione basata su macro, potresti utilizzare una routine come la seguente. Esamina tutte le celle attualmente selezionate e quindi elimina tutto ciò che precede la sequenza = XX =.
Sub DeleteToSequence() Dim rCell As Range Dim sSeq As String Dim x As Long sSeq = "=XX=" For Each rCell In Selection x = InStr(rCell.Value, sSeq) If x > 0 Then rCell.Value = Mid(rCell, x) End If Next Set rCell = Nothing End Sub
Tieni presente che questa macro può causare alcuni errori, in particolare quando ciò che stai cercando inizia con un segno di uguale (come in = XX =).
Quando una stringa che inizia con un segno di uguale viene reinserita nella cella, otterrai un #NOME? errore perché Excel tenta di analizzare la cella come se contenesse una formula.
Se vuoi cancellare tutto attraverso la sequenza di caratteri, usa questa riga nel mezzo della routine:
rCell.Value = Mid(rCell, x + Len(sSeq))
_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 (7696) 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: