解決済

clip!clip!
Ads By Google

エクセルでセルを半透明着色処理にする方法はありますでしょうか?

ご存知でしたら教えて下さい。通常Excelのセルを選択したらセルの周りが濃くなるだけかと思うのですがそれを半透明の灰色に変更することは出来ないでしょうか?
またセルにデフォルトで日付が入っていて今日の日付だったらその部分を自動で上記のような処理にすることは可能でしょうか?

2008-03-26 23:42の質問
  Excel  VBA  選択  
Excel
「Microsoft Office Excel」のホームページです
office.microsoft.com/ja-jp/excel/
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。

回答(3)

3.

2008-03-27 22:40:38ベスト
とりあえず、Excelで作ってみました。
こちらにアップロードしています。


標準モジュールではなく、Sheet1のマクロスペースに以下のように記述しています。

Option Explicit

Dim r As Integer, c As Integer, old_r As Integer, old_c As Integer

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If old_r = 0 Then old_r = 1
   If old_c = 0 Then old_c = 1
   
   Cells(old_r, old_c).Interior.ColorIndex = xlNone
   ActiveCell.Interior.ColorIndex = 15

   r = ActiveCell.Row
   c = ActiveCell.Column
   old_r = r
   old_c = c
End Sub

また、別のシートには、3つの条件付き書式を設定して、セルの日付が「今日であれば緑」「日曜なら赤」「土曜日なら青」としています。

セルの値が次の値に等しい =today()
数式が次の値に等しい =(WEEKDAY(A1)=1)
数式が次の値に等しい =(WEEKDAY(A1)=7)

参考までに、うちの課で現実に使っているスケジュールファイルもアップロードしておきます。
(奇数月と偶数月の2つのファイルを交互に使用する形となります。)

有難うございます!僕が探していたのはこれです!ただ、別の条件付書式を入れると動かなくなってしまいました。ということは条件付書式をつけてしまうと並行で動かせないということでしょうか?

1.

2008-03-27 01:19:29
セルの選択色は、「画面のプロパティのデザイン」から設定できたような気がします。
それで、アクティブセルについてはさらに反転(色抜け?)だったような・
VBAからアクティブセルにセルの背景色(透明色というのはないです)として色の指定はできるような気はします。
ただ、この方法は色々問題があるような気がします。
図形の長方形に透明度を設定して、アクティブセルに移動させれば、お望みの動作となるのかもしれません。

>今日の日付だったらその部分を自動で上記のような処理にすることは可能でしょうか?
前述の処理と、両立は難しいような気がします。
こういう場合には、条件付き書式が適していると思います。
自信度 : 自信なし 回答レベル : アドバイス

2.

2008-03-27 08:39:31
セル自体を透過する方法はなかったように思います。薄い色を付けるのであればセルにポインタを合わせ右クリック→セルの書式設定→塗りつぶしで塗りつぶし効果やその他の色で調整するしかなかったように思います。

あと図形で四角くセルの形に貼り付け、図形を右クリック→書式設定→塗りつぶしに透過性というのがあり、図形なら半透明にする事ができます。
Ads By Google

コメント(3)

2008-03-27 22:57:20

補足

要求は「半透明」ということですが、セルの配色に半透明の灰色というのがありませんので、「薄い灰色」で設定しています。

また条件付き書式の
=today()
=(WEEKDAY(A1)=1)
=(WEEKDAY(A1)=7)
の設定は、例えばA1からG1までをドラッグして選択し、上記3つの条件付き書式を設定します。
実際にキー入力するのはA1で入れますが、B1セルにはB1、~、G1セルにはG1と相対的に「式」が入力されます。

2008-03-28 18:29:35

マクロを簡素化してみました。

Option Explicit

Dim r As Integer, c As Integer

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

   If r = 0 Then r = 1
   If c = 0 Then c = 1
   
   Cells(r, c).Interior.ColorIndex = xlNone
   ActiveCell.Interior.ColorIndex = 15

   r = ActiveCell.Row
   c = ActiveCell.Column
End Sub

2008-03-30 12:04:18

Excel2003までは条件付き書式は3つまでしか設定できませんが、Excel2007からは無限に設定できます。
しかし、条件付き書式に頼らなくても全てマクロで処理することも可能ですので、具体的に「こうして欲しい」というのを書いていただければ作ることは可能と思いますが…。

日付が入っていて、かつ、その日付のセルが今日だったら灰色にする、でよろしいのでしょうか?
それ以外の日付ではないセルは灰色にしない?

だとすれば、マクロで、
「もし activecell=日付かつ今日 だったら灰色」という式を書けば良いのですが。

トラックバック(2)

トラックバックURL:

★長澤まさみ乳首見えちゃった!! 【動画】

★長澤まさみ乳首見えちゃった!! 【動画】

★長澤まさみ乳首見えちゃった!! 【動画】 at 2009年06月27日 18:29:55