セルの値の”1200”以上のセルは空白にしたい【VBA】

目次

環境

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()はわかりやすいし、説明しやすいから好きなのですが、なんかやり方あるんですかね?

勉強します。

ここまで読んでいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次