• 締切済み

エクセルのVBAを使用したときのセル範囲について

エクセルでVBAを勉強しています。(初歩です。初心者です。) マクロを記述したあと、エクセルシートに表示しますよね。 たとえば、今度は、Visual Basic Editorを使って、「上から3行目が赤」にしていたものを「上から5行目を青にする」という問題があったとします。Visual Basic Editor上でどうやったら、その指定しているセル範囲がわかるのでしょうか?つまり、上から3行を上から5行目にするといことです。 また、Visual Basic Editor上では、「色」を番号で表示しますが、これは覚えておく必要があるのでしょうか?たとえば「赤」は3番とか・・・・。 初心者ですのでご了承ください。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 ご質問は、何かの問題集でしょうか? その種の質問は、何かの教本を参考にされたほうがよいのではありませんか? あまり、基礎レベルの質問で、掲示板を利用していると、疲れてしまって最後まで行けません。分からない部分は、チェックをしてまとめておき、先に進んでから、前に戻って読むと解けることが多いです。それでも、分からないようだったら、掲示板を利用するのもよいと思います。 だいたい、10分間、自分で考えて解けない問題は、解答をみて、そのパターンを覚えるようにしたほうがよいです。だいたい、VBAは、3ヶ月ぐらいで一通り終えるように計画を立ててください。コードが分かりませんが、今のレベルは、2週目までは行っていませんね。 キーワード:Range, Interior, ColorIndex ここまでにするつもりでしたが、結局は、誰かが答える問題ですから、書いておきます。 >セル範囲A1:F3が赤であるとします。これをセル範囲A1:F5を青色に変換するということです。 Range("A1:F3").Interior.ColorIndex =3 Range("A1:F5").Interior.ColorIndex =5 こうすれば、上書きしてしまうので、前の部分は関係がありません。 なお、ColorIndex 番号は、覚えたら覚えてもよいのですが、その先に、オートシェイプの色が出てくると、色番号がずれてしまうので、混乱しかねません。その都度、ヘルプなりで確認したほうがよいかもしれません。

noname#27182
質問者

補足

ありがとうございます。私はマイクロソフトオフィスエキスパートを勉強しております。エキスパートとはいえたかだか3、4ページの範囲でしかVBAについては記載がありませんので、それなりの参考書で勉強します。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

>「上から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で検索すると、色と数字の対応表がきちんと載っています。

noname#27182
質問者

補足

すいません例を記します。 列A,B,C,D,E,Fがあり、行1,2,3,4,5とあるとします。 セル範囲A1:F3が赤であるとします。これをセル範囲A1:F5を青色に変換するということです。

関連するQ&A

専門家に質問してみよう