📊
上司から催眠術をくらった場合(Excel VBA)
お久しぶりです。みはるです。
ただの備忘録です。
上司「このエクセルの全角数字があるセルを色塗りしてくれ!!」
ワイ「えwいいんすかwwこんなタスクでお賃金もらっちゃってwww」
エクスプローラー「ブック300個あるやで」
ワイ「はい」
上司が催眠術!ワイはどうする?
vba 書きます。
' 主要ロジック抜粋
Sub add_background_color()
Dim i
Dim j
Dim row_num
Dim col_num
Dim chars()
row_num = 400
col_num = 12
chars = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0")
For i = 1 To row_num
For j = 1 To col_num
For Each char In chars
If InStr(cells(i, j).Value, char) <> 0 Then
cells(i, j).Interior.Color = RGB(255, 255, 0)
End If
Next
Next
Next
MsgBox ("finish")
End Sub
なんてことない。言われたことをそのままコードにするだけです。
はじめは Range() で範囲指定してましたが、その後のループでうまくいかず。
Cellsを使えば解決できたが、二重ループが前提になりとてもきしょい。
そして今回のやりたいことだと、For 文が3重になってしまいめちゃくちゃきしょい。 (ループ用変数も宣言しないといけないし)
どうにかならんかなぁ。。。
Discussion