< návrat zpět

MS Excel


Téma: odečítání času rss

Zaslal/a 18.2.2016 18:49

Dobrý večer prosím o radu, proč mi tento kod čas jen přičítá? Při odečítání to spadne.
Private Sub SpinButton1_SpinUp()
Dim CasPlus As Date

CasPlus = "00:30"

TextBox1.Text = TextBox1.Text + CasPlus
End Sub

Private Sub UserForm_Initialize()
Dim Cas As Date

Cas = "00:00"

TextBox1.Text = Cas
End Sub

Private Sub SpinButton1_SpinDown()
Dim CasMinus As Date

CasMinus = "00:30"

TextBox1.Text = TextBox1.Text - CasMinus
End Sub

Zaslat odpověď >

#030197
avatar
Toto napoví:
http://wall.cz/index.php?m=topic&id=1167
P.citovat
#030207
avatar
pro Pavluse:
Každý je strůjcem svého štěstí. Propagaci použítí datového systému 1904 pokládám za podsouvání časované bomby do Excelu. Běžné je samozřejmě použití systému 1900. Dokud se potkávají data ze sešitů se stejným systémem datování, všechno dopadá dobře. Když se potkají sešity s odlišným systémem datování, Excel sám tuto rozlišnost nevyhodnocuje a bez rozpaků počítá naprosté nesmysly.
Kdo má nervy na to, aby kontroloval každý spolupracující sešit, v jakém datovém systému pracuje, ten nechť to používá. Kontrolu lze provést dotazem na stav Workbook.Date1904. V případě neshody je nutné provést konverzi všech položek, obsahujících datum. To by se vám chtělo? Neznám nikoho, kdo by to dělal, protože rozumný vývojář prostě systém 1904 nepoužívá.
Mně to připadá, jako kdybych měl každé jablíčko prohlížet, jestli není nahnilé, a pokud ano, pečlivě tu hnilobu musel vykrájet.citovat
icon #030208
eLCHa
Tady jde o VBA, není třeba do toho tahat kalendářní systémy.Private Sub UserForm_Initialize()
TextBox1.Text = Format(0, "hh:nn")
End Sub

Private Sub SpinButton1_SpinUp()
TextBox1.Text = Format(TimeValue(TextBox1.Text) + TimeValue("00:30"), "hh:nn")
End Sub

Private Sub SpinButton1_SpinDown()
If Not TextBox1.Text = "00:00" Then
TextBox1.Text = Format(TimeValue(TextBox1.Text) - TimeValue("00:30"), "hh:nn")
End If
End Sub
citovat
#030209
Opičák
Private Sub SpinButton1_SpinUp()
x = CDate(TextBox1.Text)
z = x + 0.000347222
TextBox1.Text = z
End Sub

Private Sub UserForm_Initialize()
Dim Cas As Date
Cas = "00:00"
TextBox1.Text = CDate(Cas)
End Sub

Private Sub SpinButton1_SpinDown()
x = CDate(TextBox1.Text)
If x = 0 Then Exit Sub
z = x - 0.000347222
TextBox1.Text = z
End Sub

edit:
Ale asi bych se řídil radou rádce nade mnou. On se totiž vyzná. 2citovat
#030210
avatar
pro elCHa:
Můžete sdělit, kde lze najít význam formátovacího řetězce "hh:nn", speciálně jeho složky "nn"?citovat
icon #030211
eLCHa
@vovka
eLCHa se píše s velkým L ;)

https://msdn.microsoft.com/en-us/library/office/gg251755.aspxcitovat
#030215
avatar
pro eLCHa:
omlouvám se za špatné oslovení 1 . V nabídnutém textu jsem pomocí Ctrl-F našel pro "nn" slovo "running" a řetězec "Nn" pro vedoucí nulu v minutách, víc nic. Až doteď jsem se domníval, že formátovací řetězce jsou case-sensitive; proč jinak by je v nápovědě odlišovali?citovat
icon #030216
eLCHa
@vovka
teď jen spekulace.

Nevidím do hlavy člověku, který tu nápovědu psal. Tipuji, že tím chtěl dat najevo právě to, že je to jedno. Ale asi bychom se museli zeptat přímo jeho.
Druhá možnost je to otestovat přímo ve VB6, jestli tam je nějaký rozdíl. Ale vzhledem k tomu, že je to jazyk-dědeček a navíc není zadarmo, tak to testovat nebudu.

Pro mně je důležité, že?format(0.15,"NN")vrátí totéž co?format(0.15,"nn")citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje