Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
Avatar do usuário
Por JCabral
Avatar
#60522
Boas

Tenho os seguintes tipos de códigos num ficheiro CSV que gostava de normalizar conforme mostro a seguir

O QUE TENHO COMO PRETENDO
ABCDE-123 ABCDE-123
ABCDE-70 ABCDE-070
ABCDE-8 ABCDE-008
ABCDE-45-xxxxx ABCDE-045-xxxxx
ABCDE-5-xxxxx ABCDE-005-xxxxx

Os primeiros cinco caracteres podem ser diversos e são sempre em número de cinco o primeiro "-" é sempre o sexto caracter.

Precisava de uma ajuda para fazer uma UDF para resolver este problema.
Obrigado
Avatar do usuário
Por Foxtri
Posts Avatar
#60525
Boas

Veja se serve o exemplo que te apresento.(Existem varias maneiras de fazer).

Function NORM(rng As Range)
Dim i As Integer
Dim Ct As Variant, Cv As Variant, Sp As Variant
For i = 1 To Len(rng)
Select Case i
Case 7, 8, 9
If Mid(rng, i + 1, 1) = "-" Then sep = "-"
Ct = Ct & Mid(rng, i, 1)
Case Is > 9
If Mid(rng, i, 1) <> "" Then
Cv = Cv & Mid(rng, i, 1)
End If
End Select
Next
Ct = Val(Ct)
If IsNumeric(Ct) And Len(Ct) = 3 Then NORM = rng: Exit Function
Select Case Len(Ct)
Case 1
NORM = Mid(rng, 1, 6) & "00" & Ct & sep & Cv
Case 2
NORM = Mid(rng, 1, 6) & "0" & Ct & sep & Cv
End Select
End Function

Até

Foxtri
Kledison, JCabral agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord