Excel VBA質問箱 IV

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

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


2174 / 13645 ツリー ←次へ | 前へ→

【69553】TIMEVAKUEへ変換 MASU 11/8/1(月) 11:31 質問[未読]
【69554】補足 MASU 11/8/1(月) 11:43 お礼[未読]
【69555】Re:TIMEVAKUEへ変換 UO3 11/8/1(月) 12:42 発言[未読]
【69556】Re:TIMEVAKUEへ変換 UO3 11/8/1(月) 12:50 回答[未読]

【69553】TIMEVAKUEへ変換
質問  MASU  - 11/8/1(月) 11:31 -

引用なし
パスワード
   特定範囲の文字列数字を時刻へ変換したいと思い、
以下のようなものを作成したのですが、
型が一致しないエラーになってしましました。
アドバイスをお願いいたします。

Sub 文字列を時刻にする()

Dim i As Long, j As Long
Worksheets("date").Activate

With ActiveSheet
For i = 2 To 1500
Cells(i, 8) = TimeValue(Cells(i, 8))
Next


End With
End Sub

【69554】補足
お礼  MASU  - 11/8/1(月) 11:43 -

引用なし
パスワード
   (j as longは誤記載です)

【69555】Re:TIMEVAKUEへ変換
発言  UO3  - 11/8/1(月) 12:42 -

引用なし
パスワード
   ▼MASU さん:

H2からH1500までの各セルには具体的にどのような文字列が入っているのですか?

【69556】Re:TIMEVAKUEへ変換
回答  UO3  - 11/8/1(月) 12:50 -

引用なし
パスワード
   ▼MASU さん:

とりあえず、H列の内容がTimeValueで変換可能な場合に置き換えるというコードです。
(With句を使っているのに、コードでは、それが考慮されていなかったので、そこも直してあります)

Sub 文字列を時刻にする_2()
  Dim i As Long
  Dim myTime As Variant
  With Worksheets("date")
    For i = 2 To 1500
      myTime = Empty
      On Error Resume Next
      myTime = TimeValue(.Cells(i, 8).Value)
      If myTime <> "" Then .Cells(i, 8).Value = myTime
    Next
  End With
End Sub

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