d2jsp
Log InRegister
d2jsp Forums > Off-Topic > Computers & IT > Programming & Development > Visual Basic Macro Help
Add Reply New Topic New Poll
Member
Posts: 3,824
Joined: Mar 23 2017
Gold: 20.00
Feb 2 2022 07:32pm
hello friends.

I need help to run this macro correctly. The macro I am showing is required to remove duplicate values within the same string.

I need help please.
Visual Basic

Function UNICOS_DELIMITADOR(ByVal Micelda As String)
'Declaramos las variables
Dim oDic As Object, palabra As Variant
Dim ipalabra As String, matriz As Variant
Dim sCadena As String, i As Long
'Trabajamos con la hoja
With ActiveSheet
Set oDic = CreateObject("scripting.dictionary")
'Por cada celda con datos en el rango rango componemos un string
For Each palabra In Split(Micelda, ", ")
ipalabra = ipalabra & ", " & palabra
Next palabra
'Eliminamos posibles espacios en blanco
sCadena = Trim(Mid(ipalabra, 2, Len(ipalabra)))
'Comprobamos que cada palabra que incluimos en la matriz no existe en la cadena
matriz = Split(sCadena, ", ")
For i = 0 To UBound(matriz)
If Not oDic.Exists(matriz(i)) Then oDic.Add matriz(i), matriz(i)
Next i
'Creamos una nueva cadena sin duplicados
UNICOS_DELIMITADOR = Join(oDic.Keys, ", ")
'Liberamos memoria
Set oDic = Nothing
End With
End Function


or in its case, create a new macro for my purpose. Please help

ILL PAY IN FG
Member
Posts: 8,428
Joined: May 30 2008
Gold: 882.50
Feb 28 2022 11:30am
a little late to the party but i think this gets you what you are looking for:

Code
Function unique_characters(ByRef in_string As String)

Dim out_string As String
Dim i As Long

out_string = ""

For i = 1 To Len(in_string)

If InStr(1, out_string, Mid(in_string, i, 1)) = 0 Then

out_string = out_string + Mid(in_string, i, 1)

End If

Next i

unique_characters = out_string

End Function
Go Back To Programming & Development Topic List
Add Reply New Topic New Poll