Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA/Format

Teemunen [27.07.2007 03:27:36]

#

Hep

Nyt olisi tällainen ongelma, eli pitäisi viedä solussa oleva kellonaika textboxiin. En tiedä missä virhe tulee kun aika näkyy desimaalilukuna. Vaikkakin jossain vaiheessa aina aika näkyy ihan oikein?
Suljettua ja avattua uudelleen aika on jälleen desimaaleina.

Pätkä menee suunnilleen näin:

Private Sub UserForm_Initialize()

Dim rivi
rivi = Selection.Cells.Row
' Koodia

Aika1 = Worksheets("Työt").Cells(rivi, 5).Value
Aika1 = Format(Aika1, "hh" & ":" & "nn")

End Sub

Eli Aika1 on textbox johon kellonaika pitäisi saada näkyviin muodossa 12:34.

Toivottavasti tästä sai jotain selvää.

(Mod. Edit. Kooditagit.)

neau33 [27.07.2007 05:50:31]

#

Moikka Teemunen

Tämä riittää...

Private Sub UserForm_Initialize()

   '...

   Aika1 = Format(Worksheets("Työt").Cells _
   (Selection.Cells.Row, 5).Value, "hh:mm")

End Sub

Teemunen [27.07.2007 17:41:09]

#

Moi!

Tiesin että ratkaisu löytyy täältä, täytyy kokeilla kun taas ensiviikolla pääsee sorvin eteen, kiitokset

T

groovyb [29.07.2007 18:13:29]

#

joo muistaakseni excelissä aika-arvot ovat todellisuudessa desimaaleja, siksi se varmaan ne toi sellaisina. kellonaika 0.00 on desimaali 0.00 ja 23.59.59 on 0.999etc jne.

neau33 [29.07.2007 20:46:03]

#

Höpö höpö groovyb!

Tässä jutska ilman mitään esi-formatointia...

TextBox1.Text = Cells(Selection.Cells.Row, Selection.Cells.Column).Text

Teemunen [29.07.2007 23:05:03]

#

Moi Nea

Tuo ensinmäinen toimi loistavasti tarkoitukseeni, ei jälkimmäisessäkään mitään vikaa. Ensinmäinen kun laittoi myös etunollan mikäli kello oli 0-9.

Täytyy taas palata kun seuraava ylitsepääsemätön ongelma kohtaa, onneksi on tällaisia palstoja joissa ei tietämättömyyttään tarvitse edes hävetä.

T

groovyb [29.07.2007 23:41:50]

#

nea puhelinkin excelin puolelta, en tiedä miksi se exportissa muuttuu.
jos excelissä solussa lukee arvo 14.00 ja se on aika formaatissa, niin kyseiseen arvoon pitää verrata desimaalia.siis excelin puolella.

eli jos importtaat vaikka tablen databasesta exceliin jossa yksi solun arvo on timeformaatissa (timeformaatissa excelin puolella siis,näyttäen milloin arvo on esim muuttunut tablessa) ja excelin päässä haluat tarkistaa onko arvo muuttunut ennen klo 06.00 aamulla niin sitä 14.00 timeformaatissa olevaa lukua pitää verrata että onko pienempi kuin 0.25.

jokusolu=(If kellonaikasolu < 0.25; "juu on muuttunut aiemmin"; "myöhemmin")

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta