Excel VBA質問箱 IV

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

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


10188 / 76734 ←次へ | 前へ→

【72096】Re:複数セルからパターンを調べたい
発言  UO3  - 12/5/29(火) 10:55 -

引用なし
パスワード
   アップ後、なんらかの(たとえばチェックする行をB列以外にした場合)変更時の
対応を、よりすうー図にするため1行変更して再度アップします。

▼けい さん:

こんにちは

セルの値が日付かどうかということは悩ましいものがありますね。
ですのでアップされたコードでは 数値の 1 以上かどうかを判定、
あるいはkanabunさんのコードでは、より現実的に 40000 以上かどうかを
判定しておられますね。

たとえば IsDate という関数があります。
セルに 2012/5/29 と入っていたとして、IsDate は True になります。
ところが、このセルの表示書式を 標準 にしますと 41058 という
シリアル値に変換されますけど、これを IsDate で判定しますと False になります。

で、日付かどうかという条件を、もう少し限定して、
【セルの上で日付として表示されているかどうか】ということにしますと、
以下のようなことでもいいかもしれません。

パターンは 1->2->3->4 の優先順位にしています。なので、申し上げたように
パターン 4 はありえないのですけど。

Sub 日付チェック2()
  Dim c As Range
  Dim dS As Variant
  Dim dT As Variant
  Dim dU As Variant
  Dim dW As Variant
  Dim dX As Variant
  Dim dY As Variant
  Dim ans As Variant
  Dim v() As Variant
  Dim k As Long
  
  With Sheets("★★★")
    With .Range("B4", .Range("B" & .Rows.Count).End(xlUp))
      ReDim v(1 To .Rows.Count, 1 To 1)
      For Each c In .Cells
        If c.Value = "●" Then
          With c.EntireRow
            dS = .Range("S1").Value
            dT = .Range("T1").Value
            dU = .Range("U1").Value
            dW = .Range("W1").Value
            dX = .Range("X1").Value
            dY = .Range("Y1").Value
            ans = ""
            If IsDate(dS) And IsDate(dT) And IsDate(dY) Then
              ans = 1
            ElseIf IsDate(dS) And IsDate(dT) And IsDate(dU) Then
              ans = 2
            ElseIf IsDate(dS) And IsDate(dT) Then
              ans = 3
            ElseIf IsDate(dS) And IsDate(dT) And IsDate(dW) And IsDate(dX) Then
              ans = 4
            Else
              ans = ""
            End If
            
            k = k + 1
            v(k, 1) = ans
          End With
        
        End If
      Next
      .Offset(, Columns("AR").Column - .Column).Value = v
    End With
  End With
  
  MsgBox "判定して転記しました"
  
End Sub

3 hits

【72092】複数セルからパターンを調べたい けい 12/5/28(月) 19:23 質問
【72093】Re:複数セルからパターンを調べたい kanabun 12/5/29(火) 9:58 発言
【72094】Re:複数セルからパターンを調べたい kanabun 12/5/29(火) 10:00 発言
【72095】Re:複数セルからパターンを調べたい UO3 12/5/29(火) 10:00 発言
【72096】Re:複数セルからパターンを調べたい UO3 12/5/29(火) 10:55 発言
【72099】Re:複数セルからパターンを調べたい ドカ 12/5/29(火) 16:28 発言
【72100】Re:複数セルからパターンを調べたい ドカ 12/5/29(火) 16:56 回答
【72102】Re:複数セルからパターンを調べたい けい 12/5/29(火) 17:39 お礼

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