目安箱 IV

目安箱投稿のルールはこちらをごらんください。
ご意見は電子メールで承っています。
「目安箱」は質問禁止です。技術的な質問はそれぞれの質問箱へどうぞ。

迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
129 / 277 ←次へ | 前へ→

【161】条件付書式版
Excel  Jaka  - 06/11/2(木) 11:44 -

引用なし
パスワード
   ●条件付書式版1(作業セルが必要。)
 作業セルをA1として、

標準モジュール

Public savad As String

Sub Auto_Open()       ↓対象シート名と同じ
  If ActiveSheet.Name = "Sheet1" Then
    savad = ActiveCell.Address
  End If
End Sub

対象シートモジュール

Private PrevCell As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  'If Target.Count > 1 Then Exit Sub
  If Range("A1").Value = "" Then
    Range("A1").Value = ActiveCell.Address(0, 0)
  End If
  If Not PrevCell Is Nothing Then
    Range("A1").Value = ActiveCell.Address(0, 0)
    On Error Resume Next
    PrevCell.FormatConditions.Delete
    On Error GoTo 0
    With ActiveCell
      .FormatConditions.Delete
      .FormatConditions.Add Type:=xlExpression, Formula1:="=A1=""" & .Address(0, 0) & """"
      .FormatConditions(1).Interior.ColorIndex = 3
    End With
  End If
  Set PrevCell = ActiveCell 'Target.Cells(1)
  DoEvents
End Sub

Private Sub Worksheet_Activate()
  savad = ActiveCell.Address
End Sub


●条件付書式版2(やっぱり作業セルが必要。)
 作業セルをA1として、各セルに条件付書式を設定しておく。
 簡易だけど、ファイルが重くなる可能性大。
 ↓これにひっかかる可能性がありそう
 "表示形式を追加できません"エラーが書式設定時に発生する
 えっちttp://support.microsoft.com/default.aspx?scid=kb%3bja%3b213904

シートモジュール

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Range("A1").Value = Target.Address
End Sub

全てのセルか、A1から使いたい範囲のセルを選択して、

条件付書式の「数式が」で、
=CELL("address",A1)=$A$1
(A1の条件は後で消す。)

----------------
ちょっとした発見
入力規則って、セルに設定しただけでは、UsedRange内に入らないんですね。
範囲内に入るのは、リストから何かしらの値が選択されたときだけで、
セルを選択して、Deleteキー等でセル内容を消すと、また範囲外になるんですね。

また、条件付書式も範囲外として扱われるんですね。
今まで、てっきり対象になると思ってました。
1,448 hits

【159】アクティブセルの視認性アップ Jaka 06/10/31(火) 10:18 Excel[未読]
【161】条件付書式版 Jaka 06/11/2(木) 11:44 Excel[未読]

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
129 / 277 ←次へ | 前へ→
ページ:  ┃  記事番号:   
0
(SS)C-BOARD v3.8 is Free