- ベストアンサー
エクセルVB ClearContentsについて
D3セルにコンボボックスを配置しました。D4にLinkedCellを設定しました。 新規ボタンを作成し、フォーカスをボタンからセルに移動し、値をクリアにしたいのです。 Private Sub ClearData() Range("D4").ClearContents End Sub を入力し、実行しましたがエラーになってしまいます。 D3セルに配置したコンボボックスとそのリンク先のD4セルをクリアにしたい場合 どうすればよいのか、どなたか教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> D3セルにコンボボックスを配置しました 見た目の位置がたまたまC3の位置に置いただけで、何にも影響はありません。セルと関係はありません。勘違いしているでしょう。 LinksdCellはコンボで選択したアイテムの内容を連動して連結するセルです。 >コンボボックスのクリアもありますが、これをしたいのか >D4セルをクリアにしたい場合は空白を代入すれば仕舞い(書式まで消すならClearContentsも出来る)はず。 コンボのクリアとは何をしたいのか。 質問の意味がはっきりしない。質問者が良くわかってないか、誤解があるのでは。 ーー アイテムを追加 標準モジュール Sub test01() Worksheets("Sheet1").ComboBox1.AddItem "AA" Worksheets("Sheet1").ComboBox1.AddItem "BB" Worksheets("Sheet1").ComboBox1.AddItem "CC" End Sub ーー コンボボックスのアイテムを消す Sub test02() Worksheets("Sheet1").ComboBox1.Clear End Sub ーーー Linkedcellを 現状セルから解放 Sub test03() Worksheets("Sheet1").ComboBox1.LinkedCell = "" End Sub 以後、選択してもセルに自動で反映しない。 VBAででもセット芝居とならない。 ーーーーーー セルA4をクリア Sub test04() Range("A4") = "" End Sub ーー または Sub test05() Range("A4").ClearContents End Sub しかしコンボで選択するとA4に選択した値は入る。 >新規ボタンを作成し、フォーカスをボタンからセルに移動し コマンドボタンのクリックイベントに書かないといけないが Private Sub ClearData() Range("D4").ClearContents End Sub とは関係がない書き方。 == コンボもワークシート上かフォーム上か、はっきり書くこと。違いが出ることをしらないのだろう。