Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    vba excel - formattare una combobox

    Salve a tutti!

    Spero possiate aiutarmi, ecco il mio problema:
    ho creato un form con due combobox (una combo per le ore e una combo per i minuti), le combo prendono dei valori Numerici (sono degli orari) da un foglio excel in cui le celle sono formattate così [h].mm in modo da superare il limite delle 24 ore;
    Poi per far comparire nelle combo i valori come orari ho digitato il seguente codice:

    Private Sub ComboBoxOrarioDaMinuti_Change()
    'formatto la visualizzazione dei minuti nel combobox
    ComboBoxOrarioDaMinuti.Value = Format(ComboBoxOrarioDaMinuti.Value, "h.mm")
    End Sub

    Private Sub ComboBoxOrarioDaOra_Change()
    'formatto la visualizzazione delle ore nel combobox
    ComboBoxOrarioDaOra.Value = Format(ComboBoxOrarioDaOra.Value, "h.mm")
    End Sub

    poi per sommare i minuti alle ore ho digitato il seguente codice:
    Dim Ora As Date
    Dim Minuti As Date
    Dim Totale As Date

    Ora = ComboBoxOrarioDaOra.Value
    Minuti = ComboBoxOrarioDaMinuti.Value
    Totale = Ora + Minuti


    il mio problema è che nelle combo non compaiono esattamente i valori come li voglio, cioè nel menu a tendina della combo dei minuti compaiono i valori:
    00
    05
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55 e riesco a inserirli in un foglio excel correttamente.

    Però nel menu a tendina della combo delle ore benchè mi compaiano i valori delle ore come segue:
    8.00
    9.00
    10.00
    11.00
    12.00
    13.00
    14.00
    15.00
    16.00
    17.00
    18.00
    19.00
    20.00
    21.00
    22.00
    23.00 quando scelgo il valore 12.00, nella combo compare il valore 0.00 e quando inserisco il valore nel foglio ottengo sempre uno 0.00.

    Per tutti gli altri valori non riscontro problemi...
    per favore datemi una mano...non ci capisco più niente

  2. #2
    ho dimenticato di dire che attualmente (dopo alcune modifiche) se cerco di selezionare 12.00 alias 0.00 ottengo un avviso "valore della proprietà non valido"... continuo a non capirci nulla

  3. #3
    Nessun suggerimento?


  4. #4
    non sono riuscita ancora a risolvere!!!
    sono ancora in attesa di voi

  5. #5
    Originariamente inviato da Ant001
    non sono riuscita ancora a risolvere!!!
    sono ancora in attesa di voi
    Ciao !
    ...probabilmente le risposte...latitano, perche' non si capisce esattamente quello che fai/vuoi...

    - come CARICHI le combo ?

    - se hai dei combo SEPARATI per le ore e per i minuti, DEVI inserire nei combo dei semplici valori NUMERICI (0..23, 0..59) e NON degli orari, formattati come fai tu.

    - di conseguenza le variabili Ora e Minuti NON dovranno essere di tipo Date, ma dei semplici Integer, poi potrai "unirli" a formare un orario, formattandoli come stringhe con 2 cifre fisse, separate da ":".

    - ricorda poi che VB gestisce il tipo Date SEMPRE come data+ora, non puoi gestire SOLO l'orario (se non ti interessa un riferimento ad un giorno preciso, puoi comunque utilizzare Date che restituisce "oggi")

    - (questa non l'ho capita bene, e potrei dire una "belinata"...)
    controlla che nelle impostazioni internazionali del tuo computer non hai settato l'orario su 12 ore, con AM/PM, in quel caso 12.00 potrebbe essere visto come 12.00 PM e di conseguenza interpretato come mezzanotte e trasformato in 0.00. (va da se' che se utilizzi correttamente gli Integer al posto delle ore, questo problema non si porrebbe neppure...)

    Spero possa esserti utile, ciao !
    IceCube_HT (VB6 fan Club)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.