Excel VBA質問箱 IV

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

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


11407 / 13645 ツリー ←次へ | 前へ→

【16255】比較計算 WAG 04/7/22(木) 14:00 質問[未読]
【16259】Re:比較計算 IROC 04/7/22(木) 14:08 回答[未読]
【16269】Re:比較計算 Jaka 04/7/22(木) 16:24 回答[未読]
【16284】Re:比較計算 WAG 04/7/23(金) 11:11 お礼[未読]

【16255】比較計算
質問  WAG  - 04/7/22(木) 14:00 -

引用なし
パスワード
   セルC6、C7、D6、D7の値を読み込み、変数に保存しておき
C10:C500の値がC6より小さくC7より大きいとき と
D10:D500の値がD6より小さくD7より大きいとき
その行を削除させるマクロを作りたいのですが、以下をどのように修正
させればよいか教えて下さい。お願い致します。
(Rangeのところでエラ−が出ます)

Sub 計算()
  Sheets(1).Select
  h1 = Cells(6, 3)
  h2 = Cells(7, 3)
  h3 = Cells(6, 4)
  h4 = Cells(7, 4)
  For i = 10 To 509
  If Cells(i, 3) < h1 Or Cells(i, 3) > h2 Then
    X = i
  ElseIf Cells(i, 4) < h3 Or Cells(i, 4) > h4 Then
  End If
  X = Union(Range(X, Cells(i, 3), Cells(i, 4)))
  Selection.ClearContents
End Sub

【16259】Re:比較計算
回答  IROC  - 04/7/22(木) 14:08 -

引用なし
パスワード
   行を削除すると、行番号がずれるので、
for 〜 next のループを -1 ステップ で
最下行から処理してください。


For i = 509 To 10 Step -1

【16269】Re:比較計算
回答  Jaka  - 04/7/22(木) 16:24 -

引用なし
パスワード
   こんにちは。

Sub 計算()
  Dim RD As Range, i As Long, ii As Long
  'Sheets(1).Select
  For ii = 3 To 4
    For i = 10 To 509
     If Sheets(1).Cells(i, ii).Value < Sheets(1).Cells(6, ii).Value And _
       Sheets(1).Cells(i, ii).Value > Sheets(1).Cells(7, ii).Value Then
       If RD Is Nothing Then
        Set RD = Sheets(1).Cells(i, ii)
       Else
        Set RD = Application.Union(RD, Sheets(1).Cells(i, ii))
       End If
     End If
    Next
  Next
  'RD.Select
  RD.ClearContents
  Set RD = Nothing
End Sub

【16284】Re:比較計算
お礼  WAG  - 04/7/23(金) 11:11 -

引用なし
パスワード
   どうもありがとうございます。ソ−ス参考に作らせて頂きました。

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