プロが教えるわが家の防犯対策術!

指定したセル(W9)に
Aという文字列が入っていたら、10~11行目を削除し、
A以外なら20~21行目を削除する
というマクロの作り方を教えて下さい

質問者からの補足コメント

  • うれしい

    確かに、削除してもいいのですが、クリアの方が詰めなくていいですね。
    抜きたい行のセルに罫線(枠)が入っているのですが、クリアにする場合、枠を消すことは
    できますでしょうか。

    No.2の回答に寄せられた補足コメントです。 補足日時:2016/11/04 14:40

A 回答 (4件)

ったく。

後だしジャンケンなんかするんじゃ無いの。
罫線も消してクリアしたいんなら最初からソー言えよ!
    • good
    • 0

こんなのはいかがでしょうか?


-----------------------------------------------------------------------
Sub Macro()
Dim 範囲 As String
If Range("W9").Value = "A" Then
範囲 = "10:11"
Else
範囲 = "20:21"
End If
With Rows(範囲)
.ClearContents
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
End Sub
-----------------------------------------------------------------------
    • good
    • 0
この回答へのお礼

線もクリアになりました。
ありがとうございました。

お礼日時:2016/11/04 16:08

「削除」となっていますが「クリア」ではないでしょうか?


もし削除なら削除した分は下の行を詰めるのでしょうか?
この回答への補足あり
    • good
    • 0

Sub WK()


If ActiveSheet.Range("W9").Value = "A" Then
ActiveSheet.Range("10:11").Delete
Else
ActiveSheet.Range("20:21").Delete
End If
Application.StatusBar = False
End Sub
    • good
    • 1
この回答へのお礼

迅速に教えていただきありがとうございます。
コピペしてやってみました。
確かに消えました。

ただ、
GooUserラックさんのおっしゃる通り、
削除したらいけなく、クリアにしなければいけませんでした。

W5のセルにプルダウンで選ぶ文字列3種類が入っていて、
そのプルダウンで選んだ文字がW9に入ります。

削除するではなく、クリアにするのでしたら、マクロを使用しないでもできますか?

お礼日時:2016/11/04 15:08

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