|    | 
     ▼株太郎 さん: 
 
解決したようなので、時間に余裕があればご検討下さい。 
 
> 
>エラー”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 
 | 
     
    
   |