codice fiscale



  • codice fiscale
    di stefanmi data: 10/01/2014 21:14:12

    è possibile estrarre la data di nascita dal codice fiscale? avrei bisogno di una macro che lo faccia, grazie



  • di stefanmi data: 10/01/2014 21:34:32

    Sub estrai()
    Dim i As Integer
    Dim a As String
    Dim tutto As String
    Dim giorno As String
    Dim mese As String
    Dim anno As String
    Range("A1").Select
    Do While Selection.Value <> ""
    a = ActiveCell.Value
    tutto = Mid(a, 7, 5)
    anno = Mid(tutto, 1, 2)
    mese = Mid(tutto, 3, 1)
    giorno = Mid(tutto, 4, 2)
    If mese = "a" Or mese = "A" Then
    mese = "01"
    ElseIf mese = "b" Or mese = "B" Then
    mese = "02"
    ElseIf mese = "c" Or mese = "C" Then
    mese = "03"
    ElseIf mese = "d" Or mese = "D" Then
    mese = "04"
    ElseIf mese = "e" Or mese = "E" Then
    mese = "05"
    ElseIf mese = "h" Or mese = "H" Then
    mese = "06"
    ElseIf mese = "l" Or mese = "L" Then
    mese = "07"
    ElseIf mese = "m" Or mese = "M" Then
    mese = "08"
    ElseIf mese = "p" Or mese = "P" Then
    mese = "09"
    ElseIf mese = "r" Or mese = "R" Then
    mese = "10"
    ElseIf mese = "s" Or mese = "S" Then
    mese = "11"
    ElseIf mese = "t" Or mese = "T" Then
    mese = "12"
    End If
    If giorno > 40 Then
    giorno = giorno - 40
    End If
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = giorno & "/" & mese & "/" & anno
    ActiveCell.Offset(1, -1).Range("A1").Select
    Loop
    End Sub


    Ho trovato questo codice ma come potrei usarlo in che celle funziona?



  • di patel data: 10/01/2014 22:20:33

    scorrendo il codice trovi
    Range("A1").Select
    quindi ?





  • di stefanmi data: 10/01/2014 23:11:57

    ho provato ma mi da errore 400



  • di stefanmi data: 11/01/2014 01:01:30

    ok, capito grazie



  • di Mister_x (utente non iscritto) data: 11/01/2014 01:33:20

    ciao

    l'errore e' dovuto al fatto che nella riga successiva ci sia un qualcosa senza valori

    ho fatto una modifica, sappi che non e' il massimo comunque prova

    ciao Mister_x
     
    Option Explicit
    
    Sub estrai()
    Dim a As String
    Dim giorno As Variant
    Dim mese As Variant
    Dim anno As Variant
    Range("A1").Select
    Do While Selection.Value <> ""
     a = ActiveCell.Value
       If IsNumeric(Mid(a, 7, 2)) Then
         anno = Mid(a, 7, 2)
         mese = UCase(Mid(a, 9, 1))
         giorno = Mid(a, 10, 2)
    Select Case mese
     Case "A"
      mese = "01"
     Case "B"
      mese = "02"
     Case "C"
      mese = "03"
     Case "D"
      mese = "04"
     Case "E"
      mese = "05"
     Case "H"
      mese = "06"
     Case "L"
      mese = "07"
     Case "M"
      mese = "08"
     Case "P"
      mese = "09"
     Case "R"
      mese = "10"
     Case "S"
      mese = "11"
     Case "T"
      mese = "12"
    End Select
     If giorno > 40 Then
      giorno = giorno - 40
     End If
        End If
    ActiveCell.Offset(0, 1) = DateSerial(anno, mese, giorno)
    ActiveCell.Offset(1, 0).Select
    Loop
    End Sub
    
    






  • di stefanmi data: 11/01/2014 09:33:08

    infatti si blocca se non trova il codice fiscale, però quando li fa sono attendibili le date di nascità?, perchè dicic he non è il massimo ?

    grazie