Excel VBA質問箱 IV

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

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


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

【70071】正しく日付が入っていないセルを検索したい ごん 11/10/13(木) 17:52 質問[未読]
【70075】Re:正しく日付が入っていないセルを検索し... kanabun 11/10/13(木) 20:17 発言[未読]
【70076】Re:正しく日付が入っていないセルを検索し... kanabun 11/10/13(木) 20:22 発言[未読]
【70077】Re:正しく日付が入っていないセルを検索し... kanabun 11/10/13(木) 20:46 発言[未読]
【70078】Re:正しく日付が入っていないセルを検索し... ごん 11/10/14(金) 8:54 お礼[未読]

【70071】正しく日付が入っていないセルを検索した...
質問  ごん  - 11/10/13(木) 17:52 -

引用なし
パスワード
   いつも大変お世話になっております。

G列に日付が入っています。
G2には”日付”という書いてあります。
データは、G3から始まっています。

日付は、
01.03.24のような形式で記述してあります。

しかし、たまに間違えて、01年3月24日や2011/3/24などのように、
違った形式で書かれています。

訂正は手動でやろうと考えていますので、間違ったセルを見つけだすところまでの、マクロ作成をお願いします。

半角のドットが2つあれば正しい形式で入力されているという判定でよいと思います。

いつも一方的なお願いで恐縮ですが、よろしくお願いいたします。

【70075】Re:正しく日付が入っていないセルを検索...
発言  kanabun  - 11/10/13(木) 20:17 -

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

>半角のドットが2つあれば正しい形式で入力されているという判定で

いろいろな判断法があろうかと思いますが、
以下は Like演算子で判定。
見つかった正しくないと思われるセルをすべて選択しています。

Sub Try1()
  Dim c As Range
  Dim r As Range
  For Each c In Range("G3", Cells(Rows.Count, "G").End(xlUp))
    If Not c.Text Like "*.*.*" Then
      If r Is Nothing Then
        Set r = c
      Else
        Set r = Union(r, c)
      End If
    End If
  Next
  If Not r Is Nothing Then
    r.Select
    MsgBox "選択セルは「01.03.24」形式ではありません"
  End If
End Sub

【70076】Re:正しく日付が入っていないセルを検索...
発言  kanabun  - 11/10/13(木) 20:22 -

引用なし
パスワード
   ▼ごん さん:
ただ、
>    If Not c.Text Like "*.*.*" Then

上のような判定法だと
「33.44.55」でも「1.2.3.4」でも、正しいと判定されてしまいます。

【70077】Re:正しく日付が入っていないセルを検索...
発言  kanabun  - 11/10/13(木) 20:46 -

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

かならず「01.03.24」のように8桁の形式なら

>    If Not c.Text Like "*.*.*" Then

    If Not c.Text Like "##.##.##" Then

とする手もありそうです。

【70078】Re:正しく日付が入っていないセルを検索...
お礼  ごん  - 11/10/14(金) 8:54 -

引用なし
パスワード
   ▼kanabun さん:
回答ありがとうございます。
うまくいきました。

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