|
▼ゆき さん:
もしVBAで対応されるなら。
Sample1は「名前なし」さんの式を埋め込んで利用する方法。
Sample2は「普通のループ処理」です。
1行目がタイトル行、A列が金額、B列が日付け、判定列はC列。
Sub Sample1()
With Sheets("Sheet1") '<== 実際のシート名に
If .Range("B2").Value = "" Then
MsgBox "データがありません"
Else
With .Cells(2, "C").Resize(.Range("B" & .Rows.Count).End(xlUp).Row - 1)
.Formula = _
"=IF(VALUE(B2)>=VALUE(""2010/4/1""),IF(VALUE(B2)<=VALUE(""2011/3/31""),A2,""-""),""-"")"
.Value = .Value
End With
End If
End With
End Sub
Sub Sample2()
Dim c As Range
Dim dF As Date, dT As Date
dF = "2010/4/1"
dT = "2011/3/31"
With Sheets("Sheet1") '<== 実際のシート名に
If .Range("B2").Value = "" Then
MsgBox "データがありません"
Else
For Each c In .Cells(2, "B").Resize(.Range("B" & .Rows.Count).End(xlUp).Row - 1)
If c.Value >= dF And c.Value <= dT Then
c.Offset(, 1).Value = c.Offset(, -1).Value
Else
c.Offset(, 1).Value = "-"
End If
Next
End If
End With
End Sub
|
|