サイトアイコン pulogu.net

列を選択する。

目次

目的

目次まで戻る

題材

ワークシートの 3 列目全体が選択した後に、セルの背景色を黄色に変更、 VBA の文字をセルに入力しています。

3 列目の C 列全体が選択状態になっている。背景色が黄色に変更されている。 VBA の文字が一括で入力されている。

目次まで戻る

その方法の一例

Excel VBA のコード例

Sub 方法_002797()

ActiveSheet.Columns(3).Select 'C 列を選択する。
ActiveSheet.Columns(3).Interior.ColorIndex = 6 '背景色を黄色に変更する。
ActiveSheet.Columns(3).Value = "VBA" 'VBA の文字を入力する。

End Sub

上記のマクロを実行すると以下のような結果になりました。

3列目が選択状態になっている。背景色が黄色に変更されて、 VBA の文字が入力されている。

ワークシートの最終行の 65536 行( Excel 2003 の場合)まで、セル選択、セル着色、文字入力が行われています。

C 列全体を対象に操作を行ったので、 65536 行まで一括で変更されています。

With ステートメント

上記「方法_002797 」のコードでは、

ActiveSheet.Columns(3)

の記述を 3 回書いてありますが、以下のように With ステートメントを使用した書き方もできるようです。 ActiveSheet.Columns(3) の記述が 1 回で済みました。

Sub 方法_002797_2()

With ActiveSheet.Columns(3) 'End With までが With ステートメントになります。

.Select 'C 列を選択する。
.Interior.ColorIndex = 6 '背景色を黄色に変更する。
.Value = "VBA" 'VBA の文字を入力する。

End With
   
End Sub

別のワークシートを操作

上記のマクロは Sheet1 で実行したので、 Sheet1 に対してセル選択など操作が行われましたが、 Sheet2 、 Sheet3 でマクロを実行すると、 Sheet2 、 Sheet3 に対して操作が行われます。これは、

ActiveSheet.Columns(3)

と、アクティブシート(現在のシート)の何列目と指定しているからだと思います。

Sheet1 でマクロを実行して、 Sheet2 を変更したい場合は、以下のように書くとできると思います。ただ以下のマクロを実行すると、 .select の行でエラーが発生します。これは、 Sheet1 でマクロを実行しているので、 Sheet2 がアクティブシートになっていないのが原因だと思います。

Sub 方法_002797_3()

With Worksheets("Sheet2").Columns(3) 'End With までが With ステートメントになります。

.Select 'C 列を選択する。'この行でエラーが発生しました。
.Interior.ColorIndex = 6 '背景色を黄色に変更する。
.Value = "VBA" 'VBA の文字を入力する。

End With

End Sub
Range クラスの Select メソッドが失敗しました。
.Select の部分でエラーが発生してしまいました。 Shhet2 がアクティブシートになっていないのが原因だと思います。

そこで、エラーの解消方法として

Worksheets("Sheet2").Activate

のコードを追加してみました。事前に Sheet2 をアクティブシートに設定してみます。それか、背景色の変更と文字入力を行うのに、セル選択の .Select は必要ないので行ごと削除するのも良いと思います。

Sub 方法_002797_4()

Worksheets("Sheet2").Activate 'この記述を追加してみました。 Sheet2 がアクティブシートに設定されます。

With Worksheets("Sheet2").Columns(3) 'End With までが With ステートメントになります。

.Select 'C 列を選択する。
.Interior.ColorIndex = 6 '背景色を黄色に変更する。
.Value = "VBA" 'VBA の文字を入力する。

End With

End Sub

実行結果は、以下のようになりました。今度は、エラーの発生はありませんでした。

Sheet1 でマクロを実行しましたが、 Sheet2 を操作できています。

目次まで戻る

テスト環境

目次まで戻る

あとがき

本投稿、間違いがないと良いですが。

以上、閲覧ありがとうございました。

目次まで戻る

モバイルバージョンを終了