Pulizia dati inutil...
 
Notifiche
Cancella tutti

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.

Pulizia dati inutili all'interno di una cella

3 Post
2 Utenti
0 Reactions
572 Visualizzazioni
Forum 1
(@giuseppe14)
Post: 0
New Member
Avviatore di Topic
 

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

 

Versione di Excel
Sistema operativo
 
Postato : 27/05/2023 10:51
Marius44
(@marius44)
Post: 0
Moderatore
 

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

 
Postato : 30/05/2023 16:45
Marius44
(@marius44)
Post: 0
Moderatore
 

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

 
Postato : 31/05/2023 14:54
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download