Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6282 / 13644 ツリー ←次へ | 前へ→

【46185】フォントの色を変えたい さや 07/1/25(木) 21:29 質問[未読]
【46186】Re:フォントの色を変えたい kobasan 07/1/25(木) 21:37 発言[未読]
【46187】Re:フォントの色を変えたい さや 07/1/25(木) 22:02 お礼[未読]
【46189】Re:フォントの色を変えたい kobasan 07/1/25(木) 22:17 発言[未読]
【46190】Re:フォントの色を変えたい さや 07/1/25(木) 22:52 お礼[未読]

【46185】フォントの色を変えたい
質問  さや  - 07/1/25(木) 21:29 -

引用なし
パスワード
   Sheet1のセルN32:S37のフォント色を変えて印刷して、印刷後また、色を変えるという趣旨のプログラムを、下記の通り作りました。

 Sub test1()
 
   Range("N32:S37").Select
   Selection.Font.ColorIndex = 2
   ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1
   Sheets("Sheet2").Select
   Selection.AutoFilter Field:=4, Criteria1:="<>"
   ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1
   Sheets("Sheet1").Range("N32:S37").Select     'これがエラーです
   Selection.Font.ColorIndex = 1
 
 End Sub

エラー部分の修正の仕方をご教授お願いします。

【46186】Re:フォントの色を変えたい
発言  kobasan  - 07/1/25(木) 21:37 -

引用なし
パスワード
   ▼さや さん こんばんは。

> Sub test1()
> 
>   Range("N32:S37").Select
>   Selection.Font.ColorIndex = 2
>   ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1
>   Sheets("Sheet2").Select
>   Selection.AutoFilter Field:=4, Criteria1:="<>"
>   ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1

   Sheets("Sheet1").Range("N32:S37").Font.ColorIndex = 1
ですね。

【46187】Re:フォントの色を変えたい
お礼  さや  - 07/1/25(木) 22:02 -

引用なし
パスワード
   ▼kobasan さん、早速のご回答ありがとうございます。

>Sheets("Sheet1").Range("N32:S37").Font.ColorIndex = 1

と言う事は「Select Selection」を削除すればよいのですね。

こんな事は常識なのかもしれませんが、なぜ、これがあるとエラーなのでしょうか?

すみません。よろしければ、教えて下さい。

【46189】Re:フォントの色を変えたい
発言  kobasan  - 07/1/25(木) 22:17 -

引用なし
パスワード
   ▼さや さん こんばんは。

>と言う事は「Select Selection」を削除すればよいのですね。
>
>こんな事は常識なのかもしれませんが、なぜ、これがあるとエラーなのでしょうか?
>
>すみません。よろしければ、教えて下さい。
> Sub test1()
> 
>   Range("N32:S37").Select
>   Selection.Font.ColorIndex = 2
>   ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1

   Sheets("Sheet2").Select  <==ここでセレクトしたので、Sheets("Sheet2")がアクティブになっています。

>   Selection.AutoFilter Field:=4, Criteria1:="<>"
>   ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1
  
   Sheets("Sheet1").Range("N32:S37").Select     'これがエラーです
   Sheets("Sheet2")がアクティブなので、Sheets("Sheet1").Range("N32:S37")をアクティブにはできません。
このようなときは、Selectせずに、

   Sheets("Sheet1").Range("N32:S37").Font.ColorIndex = 1

のように、直接RangeにFontプロパティを指定します。

【46190】Re:フォントの色を変えたい
お礼  さや  - 07/1/25(木) 22:52 -

引用なし
パスワード
   ▼kobasan さん、ありがとうございました。

>   Sheets("Sheet2")がアクティブなので、Sheets("Sheet1").Range("N32:S37")をアクティブにはできません。
>このようなときは、Selectせずに、
>
>   Sheets("Sheet1").Range("N32:S37").Font.ColorIndex = 1
>
>のように、直接RangeにFontプロパティを指定します。

上記の件、勉強になりました。

6282 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free