- PR -

Excelの条件付セル

投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2005/04/20
投稿数: 69
投稿日時: 2006-08-28 10:31
いつもお世話になります。

Excelについて質問させてください。

あるセルの設定を行っています。
一つ前の行の同じ列のセルの値が"--"か、もしくは
一つ後の行の同じ列のセルの値が空白の場合は
セルをグレーで塗りつぶしたいのですが、
そのような設定はできますか?

セルの条件付書式を見たのですが、
「セルの値がXX」と「数式がXX」という設定しかコンボボックスにないようでした。

ご指導、宜しくお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-08-28 10:42
引用:

未記入さんの書き込み (2006-08-28 10:31) より:

あるセルの設定を行っています。
一つ前の行の同じ列のセルの値が"--"か、もしくは
一つ後の行の同じ列のセルの値が空白の場合は
セルをグレーで塗りつぶしたいのですが、
そのような設定はできますか?


ワークシート関数では情報の取得しかできませんので、マクロを使ってください。

# Linux Square 会議室向けのご質問ではないと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
想馬
大ベテラン
会議室デビュー日: 2003/05/29
投稿数: 245
お住まい・勤務地: 神奈川・東京
投稿日時: 2006-08-28 10:44
会議室が適切じゃないと思います。たぶんInsider .NETかVB業務アプリケーション開発研究室の方がいいと思いますよ(どちらかと言えば後者になるのかな)。

# よりによってLinux、笑ってしまった
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2006-08-28 10:52
せっかくなので簡単な回答を。
引用:

一つ前の行の同じ列のセルの値が"--"か、もしくは
一つ後の行の同じ列のセルの値が空白の場合


これを関数やマクロで条件すればいいのです。
"数式"に上記の場合trueを返すような式を入力してあげてください。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-08-28 11:13
ごめんなさい、ウソつきました。
RC 記法を使って、相対指定すればできますね。

 <数式が> =R[-1]C[0]=""

[追加(&A) >>] して、

 <数式が> =R[1]C[0]="--"

で、同じ書式を設定すればできますね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
まりも
ベテラン
会議室デビュー日: 2006/08/19
投稿数: 77
投稿日時: 2006-08-28 12:12
たとえばA2のセルを選んで、
条件付書式に、

<数式が> =OR(A1="--",A3="")

として、条件にグレーを設定します。

そして、そのセルを指定したい範囲にコピペ(もしくは書式コピペ)すれば、
普通の数式をコピペした場合ように、A1とA3の部分が自動的に上下のセルに置き換わってくれます。


もうちょっと楽な方法として、
範囲選択をして、反転しているセルに対応している数式(反転しているのがA2の場合は=OR(A1="--",A3="")とか。)を入力すると、
範囲全体の条件つき書式がうまく設定されます。

あと、
じゃんぬねっとさんの説明のように、
OR関数ではなく、追加ボタンを利用して設定したほうが、わかりやすいかもしれません。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-08-28 15:16
この人じゃあ返信は期待できないなと。
http://www.atmarkit.co.jp/bbs/phpBB/search.php?term=&addterms=any&forum=all&search_user_id=225538&sortby=-1&searchboth=both&submit=Search
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2006-08-28 15:37
マクロです。

手順書
1.ツール > マクロ > VisualBasicEditor
2.挿入 > 標準モジュール
3.VisualBasicEditorの右側の白い余白に下記のソースコードをコピペ
4.エクセルの画面に戻る
5.ツール > マクロ >マクロ
6.POPUPしたウィンドウ内部judgeCellを選択
7.POPUPしたウィンドウ内部実行ボタン押下

コード:

Sub judgeCell()
Dim i As Integer
Dim j As Integer
For i = 2 to 65534
For j = 1 to 255
If ActiveSheet.Cells(i - 1,j).Value = "--" Or _
ActiveSheet.Cells(i,j).Value = ActiveSheet.Cells(i + 1,j).Value Then
ActiveSheet.Cells(i,j).Interior.ColorIndex = 15
End If
Next j
Next i
End Sub



使用上の注意:
1.65534だと、一番下の行まで見に行ってしまうので適当な行数に変更してください。
2.255だとA列からIV列まで見に行ってしまうので、適当な列数に変更してください。
3.マクロをこのまま起動すると10分ぐらい戻ってきません

[編集]
.Valueを追加
[/編集]

[ メッセージ編集済み 編集者: るぱん 編集日時 2006-08-28 15:40 ]

スキルアップ/キャリアアップ(JOB@IT)