< návrat zpět

MS Excel


Téma: Zmena hodnoty na cas rss

Zaslal/a 7.2.2017 1:31

Zdravim,

nie som odbornik v makrach v EXCELI, len sa tomu zacinam venovat, a narazil som na tento problem:

Potrebujem aby mi previedlo hodnoty v bunkach na "cas"


Dim i As Integer
i = 1


Moznost 1:

Sheets("Changes").Cells(i, 7).Value = TimeValue(Sheets("Changes").Cells(i, 7).Value)


Moznost 2


For i = 1 To 10
Sheets("Changes").Cells(i, 7).Value = TimeValue(Sheets("Changes").Cells(i, 7).Value)
Next i

Moznost 1 mi funguje a zmeni danu hodnotu na cas. Ale, kedze potrebujem aby mi to spravilo pre cely stlpec (10 riadkov), dal som to do "for" cyklu - Moznost 2. Tam mi to ale vyhodi chybu. Nechapem preco...

Neake napady co tam mam zle? :)

Zaslat odpověď >

#034833
avatar
Když ti to funguje pro jeden příkaz, pak to logicky musí fungovat i pro cyklus.
Problém může být v tom, že nevíš přesně co ta funkce dělá, a co vyžaduje ;-). Pro použití této funkce je nutné, aby zdrojové hodnoty byly ve formátu String (tedy text), rozhodně nesmí být ve formátu Date (datum) nebo Time (čas), to ti pak makro bude házet chybu "Type mismatch".
Nenahrál jsi přílohu, takže těžko dále rozvádět. Každopádně se můžeš ještě podívat jak funguje funkce "Format", případně i "WorksheetFunction.Text".
P.

Př.:
Format(Sheets("Changes").Cells(i, 7).Value, "hh:mm:ss")
WorksheetFunction.Text(Sheets("Changes").Cells(i, 7).Value, "hh:mm:ss")
citovat
#035655
avatar
TimeValue vyžaduje čas ve formě textu jako parametr, tak mu nevnucuj vlastnost Value, která vrací hodnotu typu Variant. A nenuť Basic, aby dvacetkrát počítal totéž - Sheets("Changes").Cells( , 7):

Dim i&
With Sheets("Changes").Columns(7).Cells
For i = 1 To 10
.Item(i) = TimeValue(.Item(i).Text)
Next
End With

nebo

Dim i&
With Sheets("Changes").[G1]
For i = 0 To 9
.Offset(i) = TimeValue(.Offset(i).Text)
Next
End Withcitovat
#035671
avatar
Vlastnost Value nevadí, dá se použít i Value2 nebo, pokud vím, že tam není vzorec, tak třeba Formula. Lze to doplnit funkcí vartype, ale stejně bych testoval chyby.

Spoléhat se na vlastnost Text nepovažuji za dobrý nápad.

Mrkněte se příležitostně, co tato vlastnost vrací.citovat

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Čas od do

lubo • 19.4. 16:30

Makro smyčka

MilanKop • 19.4. 10:46

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32