rdj500, boa tarde.
A macro está aberta, abra o editor do Visual Basic usando Alt+F11, ela está no módulo "FórumPlanilhando", chama-se "Function ExpandeLista" (na verdade é uma Function e não uma Sub, por isso ela não aparece no "Exibir Macros").
De qualquer forma, aí vai ela:
Function ExpandeLista(ByVal texto As String) As String
Dim regex As Object, cjMt As Object
Dim strTemp As String
Dim i As Integer, menor As Integer, maior As Integer
Set regex = CreateObject("vbScript.Regexp")
With regex
.Global = False: .IgnoreCase = True: .MultiLine = True
.Pattern = "(?:(w+)(d+)s?-s?1+(d+))"
Do While .Test(texto)
Set cjMt = .Execute(texto)
menor = CInt(cjMt(0).SubMatches(1))
maior = CInt(cjMt(0).SubMatches(2))
If maior > menor Then
strTemp = ""
For i = menor To maior
strTemp = strTemp & cjMt(0).SubMatches(0) & i & IIf(i = maior, "", ",")
Next i
texto = .Replace(texto, strTemp)
Else
Exit Do
End If
Loop
End With
ExpandeLista = texto
End Function
Postado : 15/09/2016 2:43 pm