Stile separatore



  • Stile separatore
    di kamo54 (utente non iscritto) data: 26/02/2014 16:07:12

    Ciao
    Sono alle prime armi con le maschere di excel
    Conosco discretamente excel 2007
    Ho incominciato a scrivere con vba e fare qualche programmino.
    Nella userform1 inserisco dei dati numerici es. 123456,78 dopo invio nella maschera vorrei che siano separate da migliaia, tipo 123.456,78 prima di inserire il 2’ input 3’ e 4’
    Sullo stesso userform ho inserito il tasto “ calcola “ e cambia userform la 2
    Il foglio excel fa tutte le sue operazioni li incolonna con il separatore di migliaia ( 123.456,78 )
    Sono 12 righe con 12 Totali , ma nelle cifre, anche in questo userform non mi ritorna il separatore di migliaia e decimali , tipo 123456,78 oppure 123456,787878787878………, mentre nel foglio excel lo fa
    Tutto è perfetto , errori , inserisce solo numeri , la stampa , salva i dati etc
    Il programmino tratta TFR ( liquidazione ) dal lordo al netto , anticipi imposta pagata , rivalutazioni , fino al 2000 e dal 2001 in poi.
    Spero che mi sia spiegato
    Grazie anticipatamente


  • Stile separatore
    di kamo54 (utente non iscritto) data: 28/02/2014 14:09:58

    Nessuno , oppure non mi sono spiegato.
    grazie


  • kamo54
    di kamo54 data: 28/02/2014 14:12:32

    ? Grazie , cercherò , ma finora sul web , niente



  • di MIster_x (utente non iscritto) data: 28/02/2014 15:29:11

    ciao

    non conosco il tuo VB ma e' abbastanza che quando tu da userform fai invio per confermare il dato questo viene indicizzato ad una cella di excel, giusto!!
    subito dopo la scrittura del valore in quella cella basta che inserisci la formattazione che vuoi
    ti posto un esempio di sub() che prima scrive un valore in A1 e dopo lo formatta come dici tu
    con separatori di migliaio e la virgola per i decimali
    PS questi fa solo due decimali ma se ne vuoi di piu' basta aggiungere degli 0

    ciao
     
    Sub xxxxx()
    Range("A1") = 1234567890.987
    Range("A1").NumberFormat = "#,##0.00"
    End Sub
    





  • kamo54
    di kamo54 data: 28/02/2014 16:34:58

    Niente diverse prove fatte
    Posto userform1 dopo averlo risolto posterò userform2



     
    ' invia per visualizzazione calcoli
    Private Sub CommandButton1_Click()
    UserForm2.Show
    End Sub
    ' salva e chiude
    Private Sub CommandButton2_Click()
    Application.Quit
    ActiveWorkbook.Save
    ActiveWindow.Close
    End Sub
    
    '  accetta solo numeri
    Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Const Numbers$ = "0123456789,"
    If KeyAscii <> 8 Then
        If InStr(Numbers, Chr(KeyAscii)) = 0 Then
            KeyAscii = 0
        End If
    End If
    End Sub
    '  accetta solo numeri
    Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Const Numbers$ = "0123456789,"
    If KeyAscii <> 8 Then
        If InStr(Numbers, Chr(KeyAscii)) = 0 Then
            KeyAscii = 0
        End If
    End If
    End Sub
    
    ' accetta solo numeri
    Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Const Numbers$ = "0123456789,"
    If KeyAscii <> 8 Then
        If InStr(Numbers, Chr(KeyAscii)) = 0 Then
            KeyAscii = 0
        End If
    End If
    End Sub
    '  accetta solo numeri
    Private Sub TextBox6_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Const Numbers$ = "0123456789,"
    If KeyAscii <> 8 Then
        If InStr(Numbers, Chr(KeyAscii)) = 0 Then
            KeyAscii = 0
        End If
    End If
    End Sub
    '  accetta solo numeri
    Private Sub TextBox7_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Const Numbers$ = "0123456789,"
    If KeyAscii <> 8 Then
        If InStr(Numbers, Chr(KeyAscii)) = 0 Then
            KeyAscii = 0
        End If
    End If
    End Sub


  • kamo54
    di kamo54 data: 28/02/2014 16:45:49

    Gli input sono nella cella d6 d8 d10 d12 d14 dopo l'invio in excel , nelle stesse celle cambia stile separatore 123.456.789,00
    ma nella maschera di input non cambia, resta 123456789,00
    Dove inserire la sub ? puoi fare un esempio come trascriverlo ?