環境
Windowsの仕様
エディション:Windows 10 Pro
バージョン:20H2
経緯
データを抽出するとき、不要な値”1200以上”まで抽出して、のちにその不要な値 ”1200以上” は手動で消していた。
なので、今回は条件分岐を使って不要な値”1200以上” は空白にする処理を勉強しました。
分岐とループを合わせて使う
セル”I4”から一番下までの値を見て、値が”1200”以上だったら、空白するという処理を書きます。
r = Range("I4").End(xlDown).Row i = 4 For i = i To r If Cells(i, 9).Value > 1200 Then Cells(i, 9) = "" End If Next
説明します。行数は詰めて数えてます。
1行目、”I4″からI列の一番下までを数えて、変数「r」に入れています。
2行目、カウンター変数iに「4」という数字を入れています。この「4」は”I4″から処理をするので「4」です。
3行目、For文を始めます。「i To r」とは、iは2行目に指定した「4」。rは1行目で指定した「I列の一番下まで」という意味です。「4から一番下まで」という感じです。
4行目、IF文です。Cells(i,9)の「9」はI列のことを指しています。Aから数えて9番目がIです。
あとは「1200」以上だったら、5行目に。以下だったら、6行目に飛びます。
5行目、「””」の意味は空白という意味です。
6行目、IF文終わり。
7行目、Nextで3行目に飛びます。
この処理がr回行われます。
失敗談
私はRange()ではできませんでした。
Range()を使ってやろうとしたのですが、うまくいかず、断念して、Cellsを使いました。
Range()はわかりやすいし、説明しやすいから好きなのですが、なんかやり方あるんですかね?
勉強します。
ここまで読んでいただきありがとうございました。