|
▼株太郎 さん:
解決したようなので、時間に余裕があればご検討下さい。
>
>エラー”400”
ごめんなさい。原因がわかりません。
ステップ実行でどこでエラーになる確認できますか。
(繰り返し処理をしていますので、データ量を少なくしないと大変かも)
>
>
>>4)H列が空白の行をオートフィルタで抽出し削除
>
>を 赤 と 青 の間のデータ個数を計算できるのでしょうか?
H列に色付きセルの行番号をセットしています。
この行番号の差がセルの数になりませんか?
わかりにくそうなところを少し修正してみました。
Sub test2()
Dim i As Long
Sheets("Sheet1").Copy '★データシート
With ActiveSheet.Cells(1).CurrentRegion.Columns("A:H")
.Cells(1, "H").Value = "作業列(行番号)"
For i = 2 To .Rows.Count
If .Cells(i, "D").Interior.Color = vbRed Then '★高値の色
.Cells(i, "E").ClearContents
.Cells(i, "H").Value = i
ElseIf .Cells(i, "E").Interior.Color = vbBlue Then '★安値の色
.Cells(i, "D").ClearContents
.Cells(i, "H").Value = i
End If
Next
.AutoFilter
.AutoFilter Field:=8, Criteria1:="="
.Offset(1).EntireRow.Delete
.AutoFilter
.Interior.ColorIndex = xlNone
If .Rows.Count > 1 Then
With .Columns("I").Resize(.Rows.Count - 1).Offset(1)
.Formula = "=IF(H1=""作業列(行番号)"","""",H2-H1)"
.Value = .Value
End With
End If
.Cells(1, "I").Value = "セルの個数"
.Columns("F:H").Delete
.Columns("B:C").Delete
.Cells(1).Select
End With
End Sub
|
|