VBA date sum
Last Updated: Dec 17 2013 12:15, Started by
tzuny
, Dec 17 2013 11:07
·
0
#1
Posted 17 December 2013 - 11:07
Am o problema la acest cod. imi da eroarea : Type mismatch (Error 13).Procedura ar trebui sa imi faca suma (date- a timpului) intre valorile "vb" din coloana C.
Sub Interval() Dim LastRow As Long Dim temp As Variant Dim i As Long Dim s As Variant LastRow = Range("C" & Rows.Count).End(xlUp).Row For i = 1 To LastRow temp = 0 If Range("C" & i).Value <> "vb" And Range("C" & i + 1).Value <> 0 Then temp = Range("A" & i + 1).Value - Range("A" & i).Value s = temp + s If Range("C" & i + 1).Value = "vb" Then Range("E" & i).Value = s End If Else: s = 0 End If Next i End Sub 01.11.2013 00:00 54,880 54,9 01.11.2013 01:00 49,721 vb 01.11.2013 02:00 52,191 52,2 01.11.2013 03:00 49,686 vb 01.11.2013 04:00 50,247 vb 01.11.2013 05:00 52,359 52,4 01.11.2013 06:00 48,997 49,0 01.11.2013 07:00 52,305 52,3 01.11.2013 08:00 50,112 vb 01.11.2013 09:00 49,997 vb |
#2
Posted 17 December 2013 - 11:36
Pune un breakpoint pe:
LastRow = Range("C" & Rows.Count).End(xlUp).Row Pe urma mergi pas cu pas si inspectezi valorile variabilelor. Una dintre ele nu este ceea ce pare a fi. Nu cumva in randul 1 ai numele coloanelor si A1 e un text in loc de data? |
#3
Posted 17 December 2013 - 11:38
Ba da am numele pe primul row A1 B1 C1. Cum bun breakpoint?
Am pus breakpoint pe linia respectiva imi da acelasi lucru.! Edited by tzuny, 17 December 2013 - 11:51. |
#4
Posted 17 December 2013 - 12:09
Pai nu mai merge For i = 1 To LastRow
, pentru ca in linia temp = Range("A" & i + 1).Value - Range("A" & i).Value incerci sa scazi denumirea coloanei A (aflata in A1) din valoarea gasita in casuta A2 Probabil trebuie For i = 2 To LastRow |
#5
Posted 17 December 2013 - 12:15
Da asa e trebuia sa incep de la 2. Am fost incercata inainte dar nu i-am dat stop la compilare doar ii dadeam |> (play). mersi mult.!
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users