Avatar billede sjogren Novice
21. januar 2002 - 13:22 Der er 9 kommentarer og
1 løsning

Søg og Erstat i Excel VBA

Når jeg har importeret en semik.sep.txt-fil i Excel, virker den ordinære \"søg og erstat-funktion\" (ctrl H)i Excel, MEN den virker IKKE i VBA.!!!

Er der nogen som kender løsningen til dette problem?
Avatar billede bak Forsker
21. januar 2002 - 15:46 #1
Hvad har du skrevet i VBA ??
Avatar billede bak Forsker
21. januar 2002 - 16:01 #2
Det her virker fint på en importeret fil:
(Erstatter 99 med 100, men du skal huske at vælge din fil først (workbooks(\"something\").activate)

Selection.Replace What:=\"99\", Replacement:=\"100\", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False
Avatar billede sjogren Novice
21. januar 2002 - 16:53 #3
Hej bak

Jeg importerer en mændge tal med punktum sum decimal separator. Søg og erstat koden erstatter godtnok punktum med komma. MEN Excel opfatter ikke den nye værdi som et tal, men som tekst !

Her er et uddrag af koden:
    Workbooks.OpenText FileName:=\"R:\\positioner\\posot02a.txt\", Origin:= _
        xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1), Array(3, 1), Array(4, 2), Array(5, 1), Array(6, 2), Array(7, 5), Array(8, 1), _
        Array(9, 2), Array(10, 1))
    Range(\"A1:J2000\").Select
    Selection.Copy
............
    Columns(\"BN:BO\").Select
    Selection.Replace What:=\".\", Replacement:=\",\", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False
............
Det spiller sgu stadigvæk ikke?
Avatar billede sjogren Novice
21. januar 2002 - 16:54 #4
  Hej bak

Jeg importerer en mændge tal med punktum sum decimal separator. Søg og erstat koden erstatter godtnok punktum med komma. MEN Excel opfatter ikke den nye værdi som et tal, men som tekst !

Her er et uddrag af koden:
    Workbooks.OpenText FileName:=\"R:\\positioner\\posot02a.txt\", Origin:= _
        xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1), Array(3, 1), Array(4, 2), Array(5, 1), Array(6, 2), Array(7, 5), Array(8, 1), _
        Array(9, 2), Array(10, 1))
    Range(\"A1:J2000\").Select
    Selection.Copy
............
    Columns(\"BN:BO\").Select
    Selection.Replace What:=\".\", Replacement:=\",\", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False
............
Det spiller sgu stadigvæk ikke?
Avatar billede bak Forsker
21. januar 2002 - 17:45 #5

omdanner teksten til værdier (tal)
range(\"BN1).select  Selection.CurrentRegion.Select
For Each c In Selection.Cells
    c.Value = CDbl(c.Value)
Next
Avatar billede bak Forsker
21. januar 2002 - 17:46 #6
range(\"BN1\").select 

Selection.CurrentRegion.Select
For Each c In Selection.Cells
  c.Value = CDbl(c.Value)
Next

Avatar billede bak Forsker
21. januar 2002 - 21:23 #7
Et lille trick jeg lige så:
sæt det her ind i din open sætning lige efter sidste array.Så behøver du slet ikke ændre noget med kode. Excel kan selv.

DecimalSeparator=\".\", ThousandsSeparator = \",\"
Avatar billede bak Forsker
21. januar 2002 - 21:24 #8
Det kan også være omvendt!! :-)
Avatar billede bak Forsker
22. januar 2002 - 14:28 #9
Workbooks.OpenText FileName:="R:\positioner\posot02a.txt", Origin:= _
        xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1), Array(3, 1), Array(4, 2), Array(5, 1), Array(6, 2), Array(7, 5), Array(8, 1), _
        Array(9, 2), Array(10, 1)), DecimalSeparator=".", ThousandsSeparator = ","
Avatar billede sjogren Novice
22. januar 2002 - 22:32 #10
Hej bak

Nu virker det ... 1.000 tak for hjælpen :-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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