[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルの値により』(おぎも)
お世話になっております。
エクセルマクロ VBAに関する質問をさせていただきます。
よろしくお願いします。
A列に-40から200までの数字が入っています。
A列の値によって以下の処理を行いたいのですがお力をお貸しいただけないでしょうか。
条件1.-20未満または100以上の場合は行ごと削除する
条件2.1の位が0もしくは5以外は行ごと削除
条件3.空欄の場合は行ごと削除
条件4.-20から100までの場合、B列の同じ行に●をつける
【例】
A列 1 -21 → 条件1のため行とごと削除 2 11 → 条件2のため行ごと削除 3 → 条件3のため行ごと削除 4 20 → 条件4のためB列に●をつける 5 101 → 条件1のため行とごと削除
関数であれば自力でも可能なのですが、同様のファイルが1000施設分ありましてひとつひとつ処理するのが困難です。
フォルダ内のファイルを開いて閉じるをループさせるマクロはわかりましたので、上記処理部分を教えていただけましたら幸いです。
何卒よろしくお願いいたします。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
Sub sample() Dim ws As Worksheet, cel As Range, isDelete As Boolean, deleteRange As Range For Each ws In ActiveWorkbook.Worksheets For Each cel In ws.Range("A1", ws.Cells(Rows.Count, "A").End(xlUp)) isDelete = False Select Case cel.Value Case "" isDelete = True Case -20 To 100 If cel.Value Mod 5 <> 0 Then isDelete = True End Select Select Case isDelete Case True cel.Offset(0, 1).Value = "●" Case False If deleteRange Is Nothing Then Set deleteRange = cel Else Set deleteRange = Union(deleteRange, cel) End If End Select Next cel If Not deleteRange Is Nothing Then deleteRange.EntireRow.Delete End If Next ws End Sub
(tkit) 2020/05/26(火) 13:52
お礼が遅くなり申し訳ございません。
作成いただいものを参考に無事やりたいことが実現できました。
どうもありがとうございました!
(おぎも) 2020/05/27(水) 12:10
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.