2016-08-31 9 views
-1

セルの値をhh:mm形式に変換する際に問題があります。Excelセルを「hh:mm」に変換できません

はここに私のコードです:私は変換する必要があり

lastRow = ActiveSheet.Cells(Rows.Count, "D").End(xlUp).Row 
lastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count 

sql = "INSERT INTO temp (colId,rowId,kodp,data) " 
plansql = "INSERT INTO tempPlan (colId,rowId,kodp,data) " 
sql3 = "DELETE From temp" 
sql4 = "DELETE From tempPlan" 
conn.Execute sql3 
conn.Execute sql4 
For i = 13 To lastRow 
    kodp = Worksheets(2).Cells(i, 1) 
    For j = 6 To lastColumn 
     data = Worksheets(2).Cells(11, j) 
     sql = sql & "SELECT " & j & "," & i & "," & kodp & ",'" & data & "' UNION ALL " 
    Next 
    i = i + 10 
Next 
For i = 12 To lastRow 
    kodp = Worksheets(2).Cells(i, 1) 
    For j = 6 To lastColumn 
     data = Worksheets(2).Cells(11, j) 
     plansql = plansql & "SELECT " & j & "," & i & "," & kodp & ",'" & data & "' UNION ALL " 
     'sql = sql & "SELECT " & j & "," & i & "," & kodp & ",'" & data & "' UNION ALL " 
    Next 
    i = i + 10 
Next 
sql = Left(sql, Len(sql) - 10) 
plansql = Left(plansql, Len(plansql) - 10) 
conn.Execute sql 
conn.Execute plansql 
sql2 = "SELECT t.rowId,t.ColID,Realization From FRM_Raport f INNER JOIN temp t ON f.EmployeeId=t.kodp and f.data=t.data" 
sql5 = "SELECT t.rowId,t.colId,[Plan] From FRM_Raport f INNER JOIN tempPlan t ON f.Employeeid=t.kodp and f.data=t.data" 
Set tmp = conn.Execute(sql2) 

Do Until tmp.EOF 
    For Each fld In tmp.Fields 
     Worksheets(2).Cells(tmp.Fields(0), tmp.Fields(1)) = tmp.Fields(2) 
    Next fld 
    tmp.MoveNext 
Loop 

tmp.Close 
Set tmp = Nothing 

Set planRecordset = conn.Execute(sql5) 



Do Until planRecordset.EOF 
    For Each fld In planRecordset.Fields 
     Worksheets(2).Cells(planRecordset.Fields(0), planRecordset.Fields(1)) = planRecordset.Fields(2) 
    Next fld 
    planRecordset.MoveNext 
Loop 

planRecordset.Close 
Set planRecordset = Nothing 

ワークシート(2).Cells(i、j)は(I = LASTROWに12、LASTROWにlastColumnと私= 13、J = 6、 j = 6〜lastColumn)の値を "hh:mm"形式に変換します。私はデータ型を読み取ろうとしましたが、それはRangeまたはEmptyです。私はまた、最初にそれらの細胞をint型に変換しようとしましたが、それもうまくいきませんでした。何か案は ?

+0

「機能しなかった」とはどういう意味ですか?エラーメッセージ?何も起こらなかった?数字はピンクに変わった?核のホロコースト? – vacip

+0

また、(最小、完全で検証可能な例を作成する方法)[http://stackoverflow.com/help/mcve]を読む必要があります。エラーを見つけるためにコード全体を掘り下げることは期待できません。エラーのある部分だけを表示してください。 – vacip

答えて

0

がここに条件を与える.... 、その後与える、 ワークシート(2).Cells(i、j)は=フォーマット(THE_DATE_VARIABLE、 "HH:MM")

はこれを試してみてください。

+0

行全体を "00:00"に変換します。 – fanarek

関連する問題