Decriptare date

Ce este nou in Microsoft Excel 2019?
Informatii despre cum se utilizeaza Microsoft Excel 2019
Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
Tibi_Tiby
Mesaje: 34
Membru din: Lun Mar 09, 2020 4:12 pm

Decriptare date

Mesaj de Tibi_Tiby » Lun Mar 09, 2020 5:42 pm

Buna ziua,

As dori sa ma ajutati in urmatoarea problema.
In celula A1 pun sa zicem 123 iar in celula B1 as dori sa imi apara L, Ma, Mi
Logica ar fi Luni=1, Marti=2...Duminica=7
Formula sau cod VBA. Multumesc.

TudyBTH
Moderator
Moderator
Mesaje: 993
Membru din: Joi Feb 11, 2016 2:12 pm
Localitate: Cluj Napoca

Re: Decriptare date

Mesaj de TudyBTH » Lun Mar 09, 2020 7:50 pm

Copiati functia intr-un modul si introduceti "=GetDays(A1)" in B1

Cod: Selectaţi tot

Function GetDays(ByVal r As Range) As String
    Dim sN As String, sX As Integer
    Dim sDay As String, sDays As String
    Dim i As Integer
    
    Application.Volatile
    sN = CStr(r(1, 1).Value)
    For i = 1 To Len(sN)
        sX = Val(Mid(sN, i, 1))
        If sX > 0 And sX < 8 Then
            sDay = Array("L", "Ma", "Mi", "J", "V", "S", "D")(sX - 1)
            If Len(sDays) > 0 Then sDays = sDays & ","
            sDays = sDays & sDay
        End If
    Next i
    
    GetDays = sDays
End Function
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.

Indigo-ONE
Mesaje: 435
Membru din: Mar Dec 11, 2018 8:54 pm

Re: Decriptare date

Mesaj de Indigo-ONE » Mar Mar 10, 2020 9:41 am

O alta varianta mai rapida...

Cod: Selectaţi tot

Function DeCript(Kc As String) As String
    Dim Ka As Long, arDays(), k As Long
    Kz = Array("L", "Ma", "Mi", "J", "V", "S", "D")
    For Ka = 1 To Len(Kc)
        k = Mid(Kc, Ka, 1) - 1
        DeCript = DeCript & ", " &  Kz(k)
    Next Ka
    DeCript = Right(DeCript, Len(DeCript) - 2)
End Function
in B1=DeCript(A1)

@TudyBTH,
Aceasta linie de cod "Application.Volatile" nu este necesara.


"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein

Tibi_Tiby
Mesaje: 34
Membru din: Lun Mar 09, 2020 4:12 pm

Re: Decriptare date

Mesaj de Tibi_Tiby » Mar Mar 10, 2020 6:32 pm

Buna seara,

Va multumesc mult pentru functiile oferite.
Ambele functioneaza perfect. O sa le studiez ca sa inteleg cum functioneaza.
Multumesc mult.

Scrie răspuns

Înapoi la “Intrebari despre Excel 2019”