ここから本文です

エクセルの関数で悩んでます。 a列のうち、複数行に色がついたら、別セルに『そ...

lov********さん

2016/7/1408:06:50

エクセルの関数で悩んでます。

a列のうち、複数行に色がついたら、別セルに『その色がついた行をすべて反映したい』です。
よろしくお願いします。

閲覧数:
81
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

pm_********さん

2016/7/1619:18:20

色をつけると指定した別の列かつ、色をつけた同じ行 のセルに
色の番号を入力する関数を作りました。
色を消すと対象のセルの値は空になりますので
条件判定に用いることができます。

http://high.s1.xrea.com/f/q12161636032.xls

シートの範囲を第一引数、
第一引数の範囲を基準として
色の番号を入力する列の番号を第二引数に指定します。

色をつけた場合には標準組み込みと同様に
自動的に再計算がされないので、
VBAのマクロで選択状態が変更された際に呼び出すようにしています。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call clv(Sheet1.Range("A1:A20"), 4)
'選択状態が変わった場合その都度 実行
End Sub

Function clv(r As Range, d As Long) As Boolean
c = 0
With Sheets(r.Parent.Name)
For b = 1 To r.Columns.Count
For a = 1 To r.Rows.Count
If .Cells(a, b).Interior.ColorIndex <> -4142 Then
.Cells(a, b + d).Value = .Cells(a, b).Interior.ColorIndex
c=c+1
Else
.Cells(a, b + d).Value = ""
End If
Next a
Next b

End With
If c <> 0 Then
clv = True
Else
clv = False
End If
End Function

色をつけると指定した別の列かつ、色をつけた同じ行 のセルに
色の番号を入力する関数を作りました。...

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

2016/7/1408:19:44

エクセルの数式で使える関数には色が付いているかどうかを判定する関数はありません。
マクロを使えば可能ですが、それでも「色が付いた瞬間に反映させる」ことは出来ません。マクロを実行したタイミングで初めて反映されることになります。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる