Avatar billede flashit Nybegynder
05. marts 2004 - 09:14 Der er 11 kommentarer og
1 løsning

Udskift dele af tekse

Hej e.

Jeg har nedenstående kode:
Dim Resultat As String
    Dim Find As String
    Dim Replace As String
   
    Find = "2004"
    Replace = "2005"
   
    For Each h In ActiveSheet.Hyperlinks
        Resultat = h.Address
        If InStr(Resultat, "2004") Then
        'Udskift 2004 med 2005
        End If

       
    Next h

Men hvordan kan man få udskiftet 2004 med 2005 i variablen Resultat.

Her er et eks.
Variablen Resultat indeholder:
Dette er en test 2004, og det er bare fint
Når koden er kørt igennem skal den indeholde:
Dette er en test 2005, og det er bare fint

Ved næste gennem kørsel indeholder Resultat noget helt andet, men 2004 skal stadig udskiftes med 2005.

Har i nogle gode ideer :-)
Avatar billede jkrons Professor
05. marts 2004 - 09:19 #1
Kan du beskrive indholdet nærmere - altså fx står 2004 altid samem sted i strengen?
Avatar billede flashit Nybegynder
05. marts 2004 - 09:27 #2
2 Sek.
05. marts 2004 - 09:27 #3
Sub Demo()
    Dim oHyp As Hyperlink
    Dim Resultat As String
   
    For Each oHyp In ActiveSheet.Hyperlinks
        Resultat = oHyp.Address
        Resultat = Replace(Resultat, "2004", "2005")
    Next oHyp
End Sub
Avatar billede flashit Nybegynder
05. marts 2004 - 09:29 #4
2004 står ikke altid det samme sted.
Det er ikke sikkert at 2004 står er i stien.

Eks:
Dette er en test 2004, og det er bare fint
test test test
Dette er en test Dette er en test 2004, og det er bare fint
Det2004te er en t

:-)

Men hvis der står 2004 så skal den altid udskiftes med 2005
05. marts 2004 - 09:31 #5
eller hvis du vil have Find og Replace variablerne med, så kan du gøre det således:

Sub Demo()
    Dim oHyp As Hyperlink
    Dim sResultat As String
    Dim sFind As String
    Dim sReplace As String
   
    sFind = "2004"
    sReplace = "2005"
   
    For Each oHyp In ActiveSheet.Hyperlinks
        sResultat = oHyp.Address
        sResultat = Replace(sResultat, sFind, sReplace)
    Next oHyp
End Sub

Pas lidt på med navngivning af variable med kendte system navne. Der findes funktioner der hedder Find og Replace... Smid et lille s foran variable af typen String - letter læsning og forståelse, og sikre at der ingen konflikter opstår.
Avatar billede jkrons Professor
05. marts 2004 - 09:31 #6
Flemming var først :-)
Avatar billede jkrons Professor
05. marts 2004 - 09:32 #7
Denen variation af Flemmings første kode varetager også udskiftningen:

Sub Demo()
    Dim oHyp As Hyperlink
    Dim Resultat As String
   
    For Each oHyp In ActiveSheet.Hyperlinks
        Resultat = oHyp.Address
        Resultat = Replace(Resultat, "2004", "2005")
        oHyp.Adress = Resultat
    Next oHyp
End Sub
Avatar billede flashit Nybegynder
05. marts 2004 - 09:51 #8
:-( Det virker ikke.....
Der komme ikke nogen fejl, men den retter ikke noget
Avatar billede jkrons Professor
05. marts 2004 - 09:54 #9
Trykfejl fra min side:

oHyp.AdDress = Resultat

Jeg havde glemt et d.
Avatar billede flashit Nybegynder
05. marts 2004 - 10:01 #10
TAK :-)
05. marts 2004 - 10:05 #11
jkons> tak for oHyp.Address
Avatar billede jkrons Professor
05. marts 2004 - 10:19 #12
Velbekomme :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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