Como limpar o meu código
Enviado: 22 Jul 2021 às 11:07
Olá galera! Por gentileza, eu gostaria de limpar meu código, qual sugestão vocês dão? Veja que tenho uma estrutura de repetição entre colunas que não são contínuas então fiz vários "do Until", mas acredito que eu poderia reduzir para apenas um. O código funciona, tudo ok, mas gostaria de deixa-lo mais bonito.
Código: Selecionar todos
Sub Replace ()
Linha = 2
LinFim = Range("A1").end(xlDown).Row
For Coluna = 145 To 147 'Trabalha colunas EO Á EQ
Do Until Linha = LinFim
If Sheets("XML txt").Cells(Linha, Coluna) = "" Then
Linha = Linha + 1
Else
Sheets("XML txt").Cells(Linha, Coluna) = "'" & Sheets("XML txt").Cells(Linha, Coluna)
Sheets("XML txt").Cells(Linha, Coluna).Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Linha = Linha + 1
End If
Loop
Linha = 2
Next
For Coluna = 151 To 152 'Trabalha colunas EU á EV
Do Until Linha = LinFim
If Sheets("XML txt").Cells(Linha, Coluna) = "" Then
Linha = Linha + 1
Else
Sheets("XML txt").Cells(Linha, Coluna) = "'" & Sheets("XML txt").Cells(Linha, Coluna)
Sheets("XML txt").Cells(Linha, Coluna).Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Linha = Linha + 1
End If
Loop
Linha = 2
Next
For Coluna = 555 To 565 'Trabalha colunas UI á US
Do Until Linha = LinFim
If Sheets("XML txt").Cells(Linha, Coluna) = "" Then
Linha = Linha + 1
Else
Sheets("XML txt").Cells(Linha, Coluna) = "'" & Sheets("XML txt").Cells(Linha, Coluna)
Sheets("XML txt").Cells(Linha, Coluna).Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Linha = Linha + 1
End If
Loop
Linha = 2
Next
Do Until Linha = LinFim
If Sheets("XML txt").Cells(Linha, "WT") = "" Then
Linha = Linha + 1
Else
Sheets("XML txt").Cells(Linha, "WT") = "'" & Sheets("XML txt").Cells(Linha, "WT")
Sheets("XML txt").Cells(Linha, "WT").Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Linha = Linha + 1
End If
Loop
Linha = 2
End Sub