Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7458 / 76735 ←次へ | 前へ→

【74864】シリアル値を時刻表示にしたい
質問  hamaki  - 13/10/13(日) 9:47 -

引用なし
パスワード
   Dataセルの書式が時刻表示(hh:mm)の場合
他のセル書き入れた場合 下記表のごとく
シリアル値になります
これを8:30の時刻表示にしたいと思い
マクロを書きました
isdata関数で判定しましたが1行目がシリアル値のため
Falseとなり時刻表示ができません
2行目は書式が文字列のため時刻表示になります
Copyをしないで行いたいのです
よろしくお願いします

Sub Check()
  Dim Ch As Boolean
  Dim GetTime As String
  Dim strDate As String
  Dim Sht As Worksheet
  Dim Gyou As Integer
  Dim i As Integer
  Dim Mjs As Integer
   Set Sht = ThisWorkbook.Worksheets("Sheet1")
   Gyou = 5
   For i = 1 To 6
     GetTime = Sht.Cells(Gyou, 3)
     Ch = IsDate(GetTime)
     Sht.Cells(Gyou, 4) = Ch
     If Ch = False Then
       Sht.Cells(Gyou, 5) = GetTime
     Else
       strDate = FormatDateTime(GetTime, 4)
       Mjs = Len(strDate)
       If Mjs < 6 Then
          Sht.Cells(Gyou, 5) = strDate
       End If
       ' 読込Dataに[AM]等がある場合6文字以上になる判定
       Mjs = Len(GetTime)
       If Mjs > 5 Then
         Sht.Cells(Gyou, 5) = GetTime
       End If
     End If
     Gyou = Gyou + 1
   Next i
End Sub

No Data       値       結果   
1   8:30  FALSE  0.354166667
2  8:30       TRUE       8:30    
3  8:30 TRUE       8:30    
4 10:30AM TRUE      10:30AM    
5       FALSE        
6   15:30 FALSE   15:30

0 hits

【74864】シリアル値を時刻表示にしたい hamaki 13/10/13(日) 9:47 質問
【74866】Re:シリアル値を時刻表示にしたい kanabun 13/10/13(日) 15:11 発言
【74867】Re:シリアル値を時刻表示にしたい hamaki 13/10/13(日) 16:31 お礼

7458 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free