Excel VBA質問箱 IV

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

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


11039 / 76734 ←次へ | 前へ→

【71237】Re:時間を元にソートするには?
発言  kanabun  - 12/2/12(日) 21:22 -

引用なし
パスワード
   ▼シンク さん:

>If文の表現に問題があるのかと思いました。
>すべてElseにいっているようです。

何となく、A列のセルのデータ型(時刻だけれど、文字列型になっているとか)
に問題があるような気がします。
そこで、その部分だけ 修正してみました。
↓の方法は、 A列セルのValue2 をみて判別するのでなく、A列範囲のセルの
「表示されている」データを見て判別する方法です。
前の方法が 9:00 のセルをみて 0< 0.375 < 1.0  を判定する方法だったのに
対し、こんどは セルのテキスト "9:00" を調べ、そのなかに 「:」が含まれて
いるか、含まれていれば、時刻データと判定する方法です。
その他(作業列を使ってSort などの考え)は 前回と変わりません。

Sub Try3()
 Dim v, u, i As Long
 Dim r As Range
 Const CLSID_DataObject = "1C3B4210-F441-11CE-B9EA-00AA006B1A69"
 
 Set r = Range("A1", Cells(Rows.Count, 1).End(xlUp).Offset(1))
 r.Copy '範囲をCopyして クリップボードにTextを転送
 With GetObject("new:" & CLSID_DataObject)
   .GetFromClipboard
   v = Split(.GetText(1), vbCrLf) 'クリップボードのTextを取得
 End With
 Application.CutCopyMode = 0
 For i = 0 To UBound(v)
   If v(i) Like "*:*" Then
     u = v(i)
   Else
     v(i) = u
   End If
 Next
 r.Offset(, 2).Value = Application.Transpose(v)
 Stop
 r.Resize(, 3).Sort r.Columns(3), Header:=xlNo
 Columns(3).Clear
 
End Sub

6 hits

【71222】時間を元にソートするには? シンク 12/2/11(土) 17:49 質問
【71223】Re:時間を元にソートするには? kanabun 12/2/11(土) 19:05 発言
【71224】Re:時間を元にソートするには? kanabun 12/2/11(土) 19:07 発言
【71234】Re:時間を元にソートするには? シンク 12/2/12(日) 16:47 質問
【71236】Re:時間を元にソートするには? kanabun 12/2/12(日) 17:29 発言
【71402】Re:時間を元にソートするには? シンク 12/2/29(水) 6:07 質問
【71403】Re:時間を元にソートするには? kanabun 12/2/29(水) 9:28 発言
【71438】Re:時間を元にソートするには? シンク 12/3/2(金) 23:20 質問
【71439】Re:時間を元にソートするには? kanabun 12/3/3(土) 0:39 発言
【71440】Re:時間を元にソートするには? kanabun 12/3/3(土) 10:27 発言
【71446】Re:時間を元にソートするには? シンク 12/3/4(日) 17:43 お礼
【71237】Re:時間を元にソートするには? kanabun 12/2/12(日) 21:22 発言
【71238】Re:時間を元にソートするには? kanabun 12/2/12(日) 21:30 発言
【71250】Re:時間を元にソートするには? シンク 12/2/15(水) 4:09 お礼
【71225】Re:時間を元にソートするには? ちん 12/2/11(土) 20:44 発言
【71235】Re:時間を元にソートするには? シンク 12/2/12(日) 16:53 発言

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