Avatar billede pja Nybegynder
24. september 2012 - 13:05 Der er 5 kommentarer

Slet ting i ord

Hej

Jeg vil gerne have slettet alle "DK" og "-". Derudover vil jeg gerne have lavet alle "@" om til "ø". Der skal også slettes alle "."

DK-4300 HOLBÆK
Dk-2800 Lyngby
DK - 2800 LYNGBY
dk-1001 K@benhavn @
Dk- 2100 København SV.
Avatar billede pja Nybegynder
24. september 2012 - 13:06 #1
Altså alle steder hvor dk er foran
Avatar billede supertekst Ekspert
24. september 2012 - 13:12 #2
Er det i et regneark - eller?
Avatar billede tjp Mester
24. september 2012 - 13:34 #3
Brute force versionen:
    For ræk = 1 To antalRækker
        ptAdresse = Range("B" & ræk)
        nyAdresse = Replace(ptAdresse, "DK - ", "", , , vbTextCompare)
        nyAdresse = Replace(nyAdresse, "DK- ", "", , , vbTextCompare)
        nyAdresse = Replace(nyAdresse, "DK-", "", , , vbTextCompare)
        nyAdresse = Replace(nyAdresse, "@", "ø")
        nyAdresse = Replace(nyAdresse, "København ø", "København Ø")
        nyAdresse = Replace(nyAdresse, ".", "")
        Range("B" & ræk) = nyAdresse
    Next
Avatar billede C-support Nybegynder
24. september 2012 - 13:34 #4
:) tror der mangler lidt beskrivelse af hvad det er vi snakker om
Avatar billede supertekst Ekspert
24. september 2012 - 13:45 #5
Hvis i regneark:
Rem Koden anbringes under det pågældende Ark (Højreklik på Ark / Vis programkode)

Dim antalRækker As Long, ræk As Long, ptAdresse As String, nyAdresse As String
Dim postNrStart As Byte
Public Sub adSkilPostNrBy()
    antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
   
    For ræk = 1 To antalRækker
        ptAdresse = Range("A" & ræk)
       
Rem Erstat @ med ø og fjern evt. "."
        nyAdresse = Replace(ptAdresse, "@", "ø")
        nyAdresse = Replace(nyAdresse, ".", "")
   
Rem fjern eller forekomster af DK & "-"
        If InStr(LCase(nyAdresse), "dk") > 0 Then
            nyAdresse = Trim(Replace(nyAdresse, "-", ""))
           
            postNrStart = findPostNrStart(nyAdresse)
            If postNrStart > 0 Then
                nyAdresse = Mid(nyAdresse, postNrStart)
               
Rem indsætter redigeret adresse i kolonne B
                Range("B" & ræk) = nyAdresse
            End If
        End If
    Next ræk
End Sub
Private Function findPostNrStart(nyAdresse)
Rem findposition for postnr (4 ciff efter hinanden)
Dim p As Integer, fireTegn As String
    For p = 1 To Len(nyAdresse) - 3
        fireTegn = Mid(nyAdresse, p, 4)
        If IsNumeric(fireTegn) = True And InStr(fireTegn, " ") = 0 Then
            findPostNrStart = p
            Exit Function
        End If
    Next p
    findPostNrStart = 0
End Function
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester