Show digits as needed 4N DD D TRI

need select the digits are show here

eeee1111111.PNG
file is here
29013873b--1-_4N_select_DD_and_TRI_.xlsm
ADRIANA PACCOUNTING ASSISTANTAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ryan ChongBusiness Systems Analyst , ex-Senior Application EngineerCommented:
you may try this macro codes:

Const Limit As Integer = 4

Public Function GetDouble(v As String) As String
    Dim tmpArr(Limit - 1) As String
    
    If Len(v) = Limit Then
        tmpArr(0) = Mid(v, 1, 1)
        tmpArr(1) = Mid(v, 2, 1)
        tmpArr(2) = Mid(v, 3, 1)
        tmpArr(3) = Mid(v, 4, 1)
        
        For i = 0 To Limit - 1 - 1
            For j = i + 1 To Limit - 1
                If tmpArr(i) = tmpArr(j) Then
                    GetDouble = tmpArr(i) & tmpArr(j)
                    Exit Function
                End If
            Next j
        Next i
    End If
    GetDouble = ""
End Function

Public Function GetNotDouble(v As String) As String
    Dim tmp As String
    Dim tmpArr(Limit - 1) As String
    
    If Len(v) = Limit Then
        tmpArr(0) = Mid(v, 1, 1)
        tmpArr(1) = Mid(v, 2, 1)
        tmpArr(2) = Mid(v, 3, 1)
        tmpArr(3) = Mid(v, 4, 1)
        
        For i = 0 To Limit - 1 - 1
            For j = i + 1 To Limit - 1
                If tmpArr(i) = tmpArr(j) Then
                    For k = 0 To Limit - 1
                        If k <> i And k <> j Then
                            tmp = tmp & tmpArr(k)
                        End If
                    Next k
                    GetNotDouble = tmp
                    Exit Function
                End If
            Next j
        Next i
    End If
    GetNotDouble = ""
End Function

Public Function GetDoubleAndNode(v As String, index As Integer) As String
    Dim tmp As String, GetNotDouble As String
    Dim tmpArr(Limit - 1) As String
    
    If Len(v) = Limit Then
        tmpArr(0) = Mid(v, 1, 1)
        tmpArr(1) = Mid(v, 2, 1)
        tmpArr(2) = Mid(v, 3, 1)
        tmpArr(3) = Mid(v, 4, 1)
        
        For i = 0 To Limit - 1 - 1
            For j = i + 1 To Limit - 1
                If tmpArr(i) = tmpArr(j) Then
                    tmp = tmpArr(i) & tmpArr(j)
                    
                    For k = 0 To Limit - 1
                        If k <> i And k <> j Then
                            GetNotDouble = GetNotDouble & tmpArr(k)
                        End If
                    Next k
                    GetDoubleAndNode = tmp & IIf(index = 1, Mid(GetNotDouble, 1, 1), Mid(GetNotDouble, 2, 1))
                    Exit Function
                End If
            Next j
        Next i
    End If
    GetDoubleAndNode = ""
End Function

Open in new window


apply formula such as:

=GetDouble(BF45)

Open in new window


=GetNotDouble(BF45)

Open in new window


=GetDoubleAndNode(BF45,1)

Open in new window


=GetDoubleAndNode(BF45,2)

Open in new window

29013873b--1-_4N_select_DD_and_TRI_.xlsm
1

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ADRIANA PACCOUNTING ASSISTANTAuthor Commented:
Ryan Chon

Thanks ! ! ;)
0
ADRIANA PACCOUNTING ASSISTANTAuthor Commented:
Great JOB Best Expert !
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Applications

From novice to tech pro — start learning today.