dポイントプレゼントキャンペーン実施中!

   A        B   C   D   E   F   G  H
1          延長 縦1 縦2 縦3 横1 横2 横3
2 四角       3  3        1
3 台形       4  4        2  3
4 四角-四角  5  5   2    4  1
このようなデ-タシ-トを作成することにあたり

A列に四角と入力した場合C1、F1のみにセルの移動の仕方を教えてください。
尚、台形及び四角-四角(くりぬき)同様にお願いします。
エクセル2003です。

A 回答 (1件)

タイトルを工夫されないと、素通りしてしまう回答者さんが多いかも。


色々方法は考えられますが、マクロで、非保護セルしか選択できないようにする方法で実現してみました。シートモジュールに記述してください。
なお、A列及び、他のエリアで操作したいセルはあらかじめロックを外しておかないと、操作不能となります。なお、コードの解説はいたしかねますのであしからず。(当方XL2000)
(注)当該シートがactiveになったとき、セルの移動に制限をかけていますので、下記コードを記述後、一旦他のシートを選択して、戻らないと、制限が有効にならないかもしれません。
Private Sub Worksheet_Activate()
Me.EnableSelection = xlUnlockedCells
End Sub

Private Sub Worksheet_Change(ByVal target As Range)
If target.Cells.Count > 1 Then Exit Sub
If Intersect(target, ActiveSheet.Columns("a:a")) Is Nothing Then Exit Sub
Select Case target.Text
Case "四角"
Call lockCell(target, 1, 2, 4)
Case "台形"
Call lockCell(target, 1, 2, 4, 5)
Case "四角-四角"
Call lockCell(target, 1, 2, 3, 4, 5)
End Select
End Sub

Private Sub lockCell(ParamArray args() As Variant)
Dim target As Range
Dim i As Long

Me.Unprotect
Set target = args(0)
target.Offset(0, 1).Resize(1, 7).Locked = True
For i = 1 To UBound(args)
target.Offset(0, args(i)).Locked = False
Next i
Me.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
<念のため、シートモジュールへの貼り付け方>
ALT+F11でVBE画面に切り替え、たいてい左上にあるプロジェクト-VBA Projectというフレーム?で、Sheet1(例えば)をWクリックし、右側に表示されるメインの広いフレームに貼り付けて下さい。
    • good
    • 0
この回答へのお礼

タイトルの工夫に関してご指摘ありがとうございました。
今後、工夫します。

上記のマクロを試してみます。

ありがとうございました。

お礼日時:2008/07/04 09:00

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