• ベストアンサー

Excelマクロの部分的削除

エクセルの表で各行にプルダウンメニューがマクロで設定されているのですが、不要な2-3行を削除したところ、最後の1行のマクロ部分(プルダウンメニュー)だけ残って表示されてしまいました。 シート全体のマクロを削除せずに、一行の部分のみ削除する方法はありますか? 説明不足で申し訳ありませんが、教えて下さい。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

>各行にプルダウンメニューがマクロで設定されているのですが 操作で言えば、データー入力規則ーリストに当たるものでしょうか。マクロの記録では (A)セル範囲指定方式 Sub Macro1() With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=$D$1:$D$7" End With End Sub のようになります。(ただし一部削除してます) このようにセル範囲を指定してあるのでしょうか。 (B)値を直接入力方式 またはリストに表示するアイテム(各行)の値をを直接入力して Sub Macro2() With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="as,sd,fg,hj" End With End Sub のどちらでしょうか >不要な2-3行を削除したところ リストのアイテムを削除したのでしょうが、 (A)方式の、リスト表示データの入っているセルの一部をDELETEキーで値を削除したのでしょうか (B)方式の、リストに出す値をプログラム中に埋め込んだ部分を 削除したのでしょうか。 >最後の1行のマクロ部分(プルダウンメニュー)だけ残って表示されてしまいました。 この状態というのをもう少し説明してみてください。 >シート全体のマクロを削除せずに、一行の部分のみ削除する方法はありますか VBAの中で入力規則に関連する部分を削除するなら、上記のマクロ 例を基(参考)にして、どの部分のコードかを探し、コードのその部分を削除すればどうですか。 リストに表示する内容の一部を削除するのなら (A)方式では、アイテムデータ(セル範囲とセルの値)を再作成し Formula1:="=$D$1:$D$7"のセル範囲を修正する。 (B)方式ならFormula1:="as,sd,fg,hj"の””の中を修正 すればどうですか。 本当は、質問の補足がほしいのですが、想像も交えて書いてみました。

harukumar
質問者

お礼

マクロに関して無知で全くわからなかったのですが、(A)の方法でできました。 足りない言葉にも係らず助けていただいてありがとうございました。 これを機に少し勉強しようと思いました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 おっしゃっている内容では、まったく意味が通じていません。 >プルダウンメニューがマクロで設定されている  入力規則ですか? とりあえず、コードを見せて、どのようにしたらよいか、具体的に説明してください。 私には、 >シート全体のマクロを削除せずに、一行の部分のみ削除する方法はありますか? マクロでコードウィンドウの中のコードを編集させようとする意味に思えてしまいます。 これは、出来ないとは言いませんが、一応、今は、禁じ手のひとつになっています。

harukumar
質問者

お礼

素人なもので、パニックになっていましたが、 どうにか解決できました。ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A