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
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.
Mulig vi er like rustne, men fyr løs.