Avatar billede Nuser2008 Mester
07. juni 2017 - 16:52 Der er 2 kommentarer

Loop mellem rækker og kolonner

Hej

Jeg vil høre, om I kan hjælpe mig med en kodestump, så jeg kan lave Søg og erstat (fra komma til punktum) i x antal rækker og y antal kolonner?

Jeg har denne kode lige nu:

-------------

Sub Import()

Worksheets("2811").Activate

Selection.NumberFormat = "@"

Dim OriginalText As String
Dim CorrectedText As String

LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

    For i = 1 To LastRow

    OriginalText = Worksheets("2811").Cells(i, 1).Value

    CorrectedText = Replace(OriginalText, ",", ".")

    Worksheets("2811").Cells(i, 1).Value = CorrectedText

    Next i

End Sub

-------------

Søg og erstat faciliteten fungerer fint nok, og koden passer også til det variable antal rækker, der er i kolonne A. Men jeg kan ikke få koden til derefter at springe til kolonne B (og dernæst C etc.) og dér løbe rækkerne igennem, indtil der ikke er flere rækker og kolonner at skulle gennemløbe.

Kan I hjælpe mig med den kode, der skal til for at springe til næste kolonne, når gennemløbet i første kolonne er tilendebragt mht. Søg og erstat?

På forhånd mange tak for jeres hjælp.
Avatar billede kim1a Ekspert
07. juni 2017 - 17:38 #1
Hvorfor skal den hoppe i hver celle en af gangen, kan du ikke bruge en marker det hele og så erstat? A la:

Sub Macro1()
'
Range("C2:I19").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
Avatar billede Jan Hansen Ekspert
07. juni 2017 - 17:42 #2

Sub Import()

Worksheets("2811").Activate

Selection.NumberFormat = "@"

Dim OriginalText As String
Dim CorrectedText As String

LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
LastColumn = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column

For J=1 to LastColumn
    For i = 1 To LastRow

    OriginalText = Worksheets("2811").Cells(i, j).Value

    CorrectedText = Replace(OriginalText, ",", ".")

    Worksheets("2811").Cells(i, j).Value = CorrectedText

    Next i
Next j
End Sub
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