激凹みから立ち直る方法

いま、かなり大きく、複雑な表をエクセル2000で
(ウィンドウズ2000)つくっています。

いろんな所の列や行を非表示にして見やすくしたの
ですが、その非表示にした列や行をまたぐようにして
その前後、左右の周囲のセルをドラッグし反転させ、
クリア等すると、非表示になっている列または行のセル
に入れてある数式等までクリアされてしまいます。

表示されているセル(可視セル)のみいじれて、
非表示セル(不可視セル)はいじれないように
一括して簡単に設定する方法はないでしょう?

確かに、方法としてはその不可視セルだけ
保護するとかありますが、不可視セルがいろんな所に
所々あって、それらを一つ一つ保護設定すると
作業が非常に煩雑で、保護忘れもでてきそうです。

いいお知恵があれば拝借させてください。
よろしくお願いいたします。

A 回答 (4件)

> いいお知恵があれば拝借させてください。



ということですので、VBAで処理する方法ですが、下記コードは、
「保護」に関係なく、選択範囲に「不可視セル」が含まれている場合には、
メッセージを表示し、選択を解除する方法です。

宜しかったらテストしてみてください。

※「不可視セル」が含まれていても「シート全体」や「列単位」を選択した
ときだけは、有効にしたいのであれば、コードの3行目を有効にします。

一応、コードの設定方法を書いておきます。

・ 使用しているシートの「シート名タブ」を右クリックし、「コードの表示」を
 選択します。
・ コードウィンドウに下記コードをコピーして貼り付けます。
・ Alt+Q でこのウィンドウを閉じ、シートに戻り、動作を確認します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rng As Range
'If Target.Rows.Count = 2 ^ 16 Then Exit Sub '列の選択を有効
Set Target = Application.Union(Target.Resize(1), Target.Resize(, 1))
For Each Rng In Target
  If Rng.EntireRow.Hidden = True Or Rng.EntireColumn.Hidden = True Then
    MsgBox "この範囲には、不可視セルが含まれています。", vbExclamation
    ActiveCell.Select
    Exit For
  End If
Next
Set Target = Nothing
End Sub
    • good
    • 0

どこまでお役にたつか、わかりませんが、不可視セルにだけ、一括して、保護設定を行う方法です。



(1)[編集]-[ジャンプ]を実行
(2)[ジャンプ]ダイアログの[セル選択]をクリック
(3)[選択オプション]ダイアログの[可視セル]をONにして[OK]
(4)[書式]-[セル]を実行
(5)[セルの書式設定]ダイアログ-[保護]タブの[ロック]をOFFに
(6)[ツール]-[保護]-[シートの保護]を実行

以上で、不可視セルだけがロ保護された状態となりますので、うっかり不可視セルの内容がクリアされるのは防げます。
ただし、「非表示にした列や行をまたぐようにしてその前後、左右の周囲のセルをドラッグし反転させ、クリア等」しようとするとエラーとなります。不可視行(列)をはさまないようにセル選択し直す必要がありますので、ちょっと面倒くさいような気もしますが....まずは、お試しください。

 
    • good
    • 0

お望みのことはおそらくできないと思います。

    • good
    • 0

隠した行・列のところに、忘れないようにコメントか


フキダシをつけとく位しか思いつきません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!