formato personalizzato cella



  • formato personalizzato cella
    di king (utente non iscritto) data: 04/12/2015 18:56:22

    è possibile inseire questo ANNO(ADESSO())-##### come formato personalizzato di una cella? In modo tale da scrivere sempre in maniera automatica l'anno in corso e 5 cifre da inserire manulamente? Se è possibile, io non ci sono riuscito. Ovviamente, vorrei evitare di utilizzare vba per questo.

    Esempio: 2015-00001



  • di ninai data: 04/12/2015 19:37:09

    ciao
    se spieghi più dettagliatamente cosa vuoi fare, magari con un file di esempio, FORSE, si può fare con formato AAAA più qualche altra cosa



  • di king (utente non iscritto) data: 04/12/2015 19:58:39

    ciao ninai, basicamente un file di esempio non serve poi cosi tanto perchè ho solamente bisogno di formattare tutte le celle della colonna A in modo tale che quando scrivo un codice di 5 cifre, automaticamente nella cella scriva prima l'anno corrente (2015 in questo caso) e poi il numero che immetterei manualmente di 5 cifre (l'anno e il codice di 5 cifre sono seprati da un trattino).

    Esempio: scrivendo 00020, automaticamente nella cella scrive 2015-00020

    il 2015 lo mette sempre automaticamente (senza bisogno di scriverlo) e lo 00020 lo si immette a mano. Ovviamente, a partire del 1-1-2016, automaticamente la cella metterà 2016- ed il codice manuale di 5 cifre.




  • di ninai data: 04/12/2015 20:02:30

    ah, capito, credo ci voglia il vba, presto qualcuno ti accontenterà



  • di king (utente non iscritto) data: 04/12/2015 20:10:58

    grazie mille ninai. altea domanda: ho una tabella e quado gli do i tab per riempirla di dati, dopo l'utlima cella (che premendo tab va a capo automaticamente, alcune celle si riempiono automaticamente con formule vecchie che inizialmente avevo ed adesso non più ed altre, che dovrebbero avere il contorno nero, no lo hanno. nel senso che aggiungendo automaticamente la riga, con il tab, dovrebbe copiare automaticamente anche i formati delle celle della riga superiore, però solamente in alcune questo non avviene. esiste un modo per resettare o qualcosa del genere?



  • di alfrimpa data: 04/12/2015 20:19:27

    Ciao King

    Ti ho allegato file con la sottostante macro che credo faccia quello che hai chiesto nella sola colonna A.

    Alfredo
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("a:a")) Is Nothing Then
        Select Case Len(Target.Value)
        Case Is = 1
        Target.Value = Year(Date) & "-0000" & Target.Value
        Case Is = 2
            Target.Value = Year(Date) & "-000" & Target.Value
        Case Is = 3
            Target.Value = Year(Date) & "-00" & Target.Value
        Case Is = 4
            Target.Value = Year(Date) & "-0" & Target.Value
        Case Is = 5
            Target.Value = Year(Date) & "-" & Target.Value
        End Select
    End If
    End Sub
    






  • di King (utente non iscritto) data: 05/12/2015 11:46:51

    Salve alfrimpa, come lo sto utilizzando in una tabella, ogni volta che termino di compilare una riga e passo automatiamente alla prossima premendo tab mi sale errore per depurare il codice. che modifica bisogna apportare per far si che non mi dia errore?

    Anche se per esempio cancello una riga o aggiungo una riga, mi da errore...

    puoi testarlo nel tuo stesso file allegato, se aggiungi o elimini per esempio una riga, dà errore.

    Saluti



  • di Mister_x (utente non iscritto) data: 05/12/2015 13:34:06

    ciao

    ti rispondo io al posto di Alfredo, che saluto

    On Error Resume Next

    ciao
     
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("a:a")) Is Nothing Then
    '''''
    On Error Resume Next
    ''''''
        Select Case Len(Target.Value)
        Case Is = 1
        Target.Value = Year(Date) & "-0000" & Target.Value
        Case Is = 2
            Target.Value = Year(Date) & "-000" & Target.Value
        Case Is = 3
            Target.Value = Year(Date) & "-00" & Target.Value
        Case Is = 4
            Target.Value = Year(Date) & "-0" & Target.Value
        Case Is = 5
            Target.Value = Year(Date) & "-" & Target.Value
        End Select
    End If
    End Sub
    






  • di alfrimpa data: 05/12/2015 13:46:41

    Grazie Mister_x! Bel gioco di squadra

    Alfredo





  • di King (utente non iscritto) data: 05/12/2015 18:22:29

    fatto. grazie.