- 締切済み
エクセルのVBAを使用したときのセル範囲について
エクセルでVBAを勉強しています。(初歩です。初心者です。) マクロを記述したあと、エクセルシートに表示しますよね。 たとえば、今度は、Visual Basic Editorを使って、「上から3行目が赤」にしていたものを「上から5行目を青にする」という問題があったとします。Visual Basic Editor上でどうやったら、その指定しているセル範囲がわかるのでしょうか?つまり、上から3行を上から5行目にするといことです。 また、Visual Basic Editor上では、「色」を番号で表示しますが、これは覚えておく必要があるのでしょうか?たとえば「赤」は3番とか・・・・。 初心者ですのでご了承ください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 ご質問は、何かの問題集でしょうか? その種の質問は、何かの教本を参考にされたほうがよいのではありませんか? あまり、基礎レベルの質問で、掲示板を利用していると、疲れてしまって最後まで行けません。分からない部分は、チェックをしてまとめておき、先に進んでから、前に戻って読むと解けることが多いです。それでも、分からないようだったら、掲示板を利用するのもよいと思います。 だいたい、10分間、自分で考えて解けない問題は、解答をみて、そのパターンを覚えるようにしたほうがよいです。だいたい、VBAは、3ヶ月ぐらいで一通り終えるように計画を立ててください。コードが分かりませんが、今のレベルは、2週目までは行っていませんね。 キーワード:Range, Interior, ColorIndex ここまでにするつもりでしたが、結局は、誰かが答える問題ですから、書いておきます。 >セル範囲A1:F3が赤であるとします。これをセル範囲A1:F5を青色に変換するということです。 Range("A1:F3").Interior.ColorIndex =3 Range("A1:F5").Interior.ColorIndex =5 こうすれば、上書きしてしまうので、前の部分は関係がありません。 なお、ColorIndex 番号は、覚えたら覚えてもよいのですが、その先に、オートシェイプの色が出てくると、色番号がずれてしまうので、混乱しかねません。その都度、ヘルプなりで確認したほうがよいかもしれません。
- ham_kamo
- ベストアンサー率55% (659/1197)
>「上から3行目が赤」 の上から、というのは基準はどこになりますか?現在選択しているセルから数えて上から3行目なのか、それとも一番上から数えて3行目(要は行番号3)ということなのか、どういうことなのでしょうか。 それから、赤い色にする列はどれなのでしょうか。現在選択されているセルから3行目のセルだけなのか、3行目の行全体なのでしょうかl 一応、いろんなパターンを書いてみました。該当するものがあれば、Offset(2)の部分をOffset(4)にするか、Cells(3,…)の部分をCells(5,…)に、Rows(3)の部分をRows(5)にすれば、3行目から5行目に変更できます。 (1)今選択しているセルから数えて3行目のセルだけを赤にする場合 Sub Sample1() Selection.Offset(2).Interior.ColorIndex = 3 '現在の選択しているセルを1行目と数えるので、Offsetの値は2 End Sub (2)今選択しているセルから数えて3行目の行全体を赤にする場合 Sub Sample2() Selection.Offset(2).EntireRow.Interior.ColorIndex = 3 End Sub (3)上から3行目の、今選択しているセルと同じ列を赤にする場合 Sub Sample3() Cells(3, Selection.Column).Interior.ColorIndex = 3 End Sub (4)上から3行目の行全体を赤にする場合 Sub Sample4() Rows(3).Interior.ColorIndex = 3 End Sub なお、わからないときはヘルプをうまく活用しましょう。ExcelのヘルプからColorIndexで検索すると、色と数字の対応表がきちんと載っています。
補足
すいません例を記します。 列A,B,C,D,E,Fがあり、行1,2,3,4,5とあるとします。 セル範囲A1:F3が赤であるとします。これをセル範囲A1:F5を青色に変換するということです。
補足
ありがとうございます。私はマイクロソフトオフィスエキスパートを勉強しております。エキスパートとはいえたかだか3、4ページの範囲でしかVBAについては記載がありませんので、それなりの参考書で勉強します。