プロが教える店舗&オフィスのセキュリティ対策術

エクセルで、
A1が1のときは、
H19,G20、F21にまたがる斜めの線(羅線ではなく、オブジェクトの線)が出て、
A1が2のときは、
線が出ないようにするにはどのようにすればよいでしょうか?

A 回答 (4件)

マクロで


If Range("A1") = 1 Then
ActiveSheet.Shapes("Line 1").Select
Selection.ShapeRange.Line.Visible = msoTrue
ElseIf Range("A1") = 2 Then
ActiveSheet.Shapes("Line 1").Select
Selection.ShapeRange.Line.Visible = msoFalse
End If
こんな感じでは?

この回答への補足

お答えいただきありがとうございます。
マクロの本文はわかりましたが、この後具体的にどうすればよいでしょうか?

補足日時:2009/03/30 05:45
    • good
    • 0

Private Sub Worksheet_Change(ByVal Target As Range)


シート内に変更が有った場合自動的に実行するマクロ
詳しい説明は
http://www.excel.studio-kazu.jp/mag2/backnumber/ …

このあたりで確認してください。
    • good
    • 0

もうオブジェクトの線は設置してあるのですね?


その線の名前が「直線 1」だとしたら、以下の手順をおためしください。

1.該当のワークシートのタブを右クリックし、「コードの表示」を選択。

2.出てきたVisual Basic Editor(白い部分)に下記のコードをコピペ。

'*****ここから下をコピペ*****

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Me.Shapes("直線 1").Visible = (Target.Value = 1)
End Sub

'*****ここより上までをコピペ*****

3.AltキーとF11キーを同時に押してワークシートへもどります。

この回答への補足

ありがとうございます。できました。
そこで、線A、線Bという離れた場所に2本の線があって、
セルA1が1なら線Aが出て、線Bは消える。
セルA1が2なら線Aが消え、線Bが出る。
というようにするにはどうしたらよいでしょうか?

補足日時:2009/03/31 06:15
    • good
    • 0

No3 merlionXXです。



> というようにするにはどうしたらよいでしょうか?

「補足欄」に書かれてもこちらには通知がこないので追加質問に気づきませんでした。
追加質問があるなら今後は「お礼欄」に書いた方がいいですよ、回答者にメールで通知がきますから。

線Aというのが "直線 1"
線Bというのが "直線 2" という名前であれば、以下のようにしてみてください。名前がちがっていたらコードを修正してください。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Me.Shapes("直線 1").Visible = (Target.Value = 1)
Me.Shapes("直線 2").Visible = (Target.Value = 2)
End Sub
    • good
    • 0
この回答へのお礼

お答えいただきありがとうございました。
私の質問が悪くて、やりたいことがうまくできませんでした。
また後で改めて質問します。

お礼日時:2009/04/03 22:27

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