過去ログ

                                Page     840
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼数式を残して行のデータのみ削除するマクロ  EBI 03/3/2(日) 10:12
   ┗Re:数式を残して行のデータのみ削除するマクロ  りん 03/3/2(日) 11:08
      ┗Re:数式を残して行のデータのみ削除するマクロ  EBI 03/3/6(木) 20:30

 ───────────────────────────────────────
 ■題名 : 数式を残して行のデータのみ削除するマクロ
 ■名前 : EBI <ebi@gctv.ne.jp>
 ■日付 : 03/3/2(日) 10:12
 -------------------------------------------------------------------------
   S列の数式が次のようになっています。
  =IF(Q2="","",IF(Q2+45<$V$1,"○","不可"))

S列にある「○」が表示された行のデータを、数式を残してクリアーしたいマクロはどうすればよいのでしょうか。A列とかB列にも数式が入っています。
VBAの超初心者でよくわかりません。よろしくおねがいします。
 ───────────────────────────────────────  ■題名 : Re:数式を残して行のデータのみ削除するマクロ  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 03/3/2(日) 11:08  -------------------------------------------------------------------------
   EBI さん、こんにちわ。

>S列にある「○」が表示された行のデータを、数式を残してクリアーしたいマクロはどうすればよいのでしょうか。A列とかB列にも数式が入っています。

 2行目から50行目までのS列をチェックして、値が○だったらその行の値のセルをクリアします。

Sub test()
  Dim RR As Long, r1 As Range
  With ActiveSheet
   For RR = 2 To 50
     If .Cells(RR, 19).Value = "○" Then
      On Error Resume Next
      Set r1 = .Rows(RR).SpecialCells(xlCellTypeConstants)
      If Not r1 Is Nothing Then r1.ClearContents
      On Error GoTo 0
      Set r1 = Nothing
     End If
   Next
  End With
End Sub

こんな感じです。
SpecialCellsは該当セルがないときはエラーになるのので、On Error〜でスキップしています。
 ───────────────────────────────────────  ■題名 : Re:数式を残して行のデータのみ削除するマクロ  ■名前 : EBI <ebi@gctv.ne.jp>  ■日付 : 03/3/6(木) 20:30  -------------------------------------------------------------------------
   ▼りん さん:
ありがとうございました。うまくできました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 840