La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno a tutti.
Vorrei cancellare tutti i riferimenti ai link presenti nella cella F2 del foglio allegato. Mi spiego meglio: nella cella F2 sono presenti alcune informazioni che mi servono (come per esempio il prezzo dei voli, le compagnie aeree, la data del viaggio ecc.) ma anche altre che vorrei cancellare (cioè tutti i vari link generati in automatico del tipo <"https:// ...">). Esiste una funzione excel o una macro vba che mi permetta di farlo? Mi servirebbe automatizzare questa operazione per tutte le celle presenti nella colonna F.
Ringrazio tutti coloro che mi risponderanno
Ciao
Nel file ci sono alcuni caratteri "particolari" che mi hanno creato qualche problema (per es. all'inizio di qualche riga - alcune di quelle con il link - c'era il carattere 䄉 che non capisco da dove arrivi).
Prova a lanciare questo codice (attento perchè cancellerà eventuali dati in col. J nella quale scriverà i valori ripuliti - provvedi tu eventualmente a cambiare colonna)
Sub scriviSOLO() Dim x As String, testo() As String Dim i As Long, j As Long, a As Long Range("J:J").ClearContents a = 1 For i = 1 To Cells(Rows.Count, 6).End(xlUp).Row testo = Split(Cells(i, 6), vbLf) For j = 0 To UBound(testo) x = Left(testo(j), 1) If x <> "" Then If (Asc(x) >= 48 And Asc(x) <= 57) Or _ (Asc(x) >= 65 And Asc(x) <= 90) Or _ (Asc(x) >= 97 And Asc(x) <= 122) Then Cells(a, 10) = testo(j) a = a + 1 End If End If Next j Next i End Sub
Fai sapere. Ciao,
Mario
Ciao
Senza dubbio questa macro è migliore della precedente
Option Explicit Sub PulisceHttps() Dim x As String, testo() As String, elim As String, txt As String Dim i As Long, j As Long, n As Long Range("J:J").ClearContents elim = "<https" For i = 1 To Cells(Rows.Count, 6).End(xlUp).Row testo = Split(Cells(i, 6), vbLf) For j = 0 To UBound(testo) n = InStr(testo(j), elim) If n > 0 Then testo(j) = Left(testo(j), n) x = Left(testo(j), 1) If x <> "" Then If (Asc(x) >= 48 And Asc(x) <= 57) Or _ (Asc(x) >= 65 And Asc(x) <= 90) Or _ (Asc(x) >= 97 And Asc(x) <= 122) Or _ x = Chr(200) Or x = Chr(201) Then txt = txt & testo(j) & vbLf End If End If Next j Cells(i, 10) = txt txt = "": x = "" Next i End Sub
Fai sapere. Ciao,
Mario