Identifisere spesialtegn i en celle

En vis mann sa at data alltid er skitne, og det er i hvert fall ofte tilfelle hvis man har fått datasettet fra en snodig database, eller for den saks skyld bare kopiert data fra en nettside.

Noen ganger følger det med noen spesialtegn på lasset, og disse kan sågar være «usynlige», slik at det er vrient å få bukt med dem. Dette gjelder særlig tegn som «non-breakable-space» og linjeskift («carriage return» og «line feed»).

Her er en liten makro som lister opp alle tegn i en celle, slik at man i det minste vet hvilket tegn det er snakk om. Tallet som dukker opp bak hvert tegn er ASCII-koden, du kan altså bruke VBA-funksjonen chr() til å erstatte/slette tegnet.

Sub showChar()

  Dim charText As String
  Dim charTextLen As Integer
  Dim msg As String
  Dim charChar As String
  Dim charInt As String

  charText = ActiveCell.value
  charTextLen = Len(charText)

  For i = 0 To charTextLen - 1

    charChar = Mid(charText, i + 1, 1)
    charInt = Asc(charChar)

    If i > 0 Then
      msg = msg + vbCrLf
    End If

    msg = msg + charChar
    msg = msg + ": "
    msg = msg + charInt + vbCrLf

  Next

  msgBox (msg)

End Sub

2 tanker om “Identifisere spesialtegn i en celle

  1. Er denne bloggen fremdeles i live og er det mulig å få hjelp med VBA til å løse noen problemer med en kokebok/oppskriftsamling i excel. Begynner desverre å bli litt rusten på dette.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Dette nettstedet bruker Akismet for å redusere spam. Lær om hvordan dine kommentar-data prosesseres.