- ベストアンサー
エクセルVBA 結合されたセルの内容を消去させる方法
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Range("A9").MergeArea.ClearContents の1行だけでもよいですね。 このほうがベターでしょう。
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
実際で使用する場合は、こんな風にすればよいでしょうね。 Sub myTest() With Range("G3") If .MergeCells Then .MergeArea.ClearContents Else .ClearContents End If End With End Sub
- ctrlzr
- ベストアンサー率29% (18/62)
結合セルの先頭を指定してクリアはだめなんですね。私も知りませんでした^^; でもこれでできました♪ Range("A9").value = null
お礼
ありがとうございます、本当に助かりました。
- misatoanna
- ベストアンサー率58% (528/896)
Range("A9").Select Selection.ClearContents ではいかがでしょうか。
関連するQ&A
- VBA 結合セルの値を削除
マクロ超初心者です。 C7~K7が結合されたセルの値を削除したいです。(値はC7に入力されています) Range("C7").MergeArea.ClearContents で実行してみたところ 実行時エラー'1004' アプリケーション定義またはオブジェクト定義のエラーです。 と出てきます。 セルの書式設定をみてみると、保護/ロックにチェックが入っておりました。もしかしたらこれが悪さをしているのでしょうか。 分かりにくくて申し訳ありませんが、知恵を貸していただけたら助かります。よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- 結合セルのデータ消去でエラーになります。どのようにすればいいでしょうか?
Range(”A1:A6”)にデータが入っていますが、そのうちA3、A4、A5セルは 結合されています。Range(”A1:A6”)のデータをクリアするために以下 コーディングをしましたが、結合セルの先頭でエラー(実行時エラー 1004)に なってしまいます。 結合セルのデータクリアはどのようにすればいいのでしょうか。 お分かりの方よろしくご教示ください。 Sub Sample() Dim i As Long For i = 1 To 6 Cells(i, 1).ClearContents Next i End Sub
- ベストアンサー
- その他MS Office製品
- Excel 特定セルのデータを一括で消去させたい
こんにちは。 どなたか教えていただけませんか? 車両別に毎日の日報データを入力するシートがあるのですが、 入力作業をするのがExcel初心者の人なので、関数が入っているセルを、 上書き・消去しないよう保護をかけて入力可能なシートのみ選択・入力できるようにしてあります。 1ヶ月ごとに入力したデータを消去し、新たなデータを入力していくのですが、 ロックされていないセルのデータだけを一括で消去出来るマクロがないかと探しています。 過去ログで Sub Cellsdel() Dim c As Range For Each c In Sheets("Sheet1").Range("A5:D10") If c.Locked = False Then c.ClearContents 'c.Clear '書式も含めて、全て消すならこれ一行 End If Next End Sub というマクロを見つけたのでカスタマイズして試してみましたが、 実行時エラー1004 結合されたセルの一部を変更することは出来ません となってしまいました。 入力するシートはC4:Z100までが1台分、以下、Z1200まで12台分の車両別に分かれていて、 入力するセルは飛び飛びになっています。 この説明では不足していると思いますが、補足をいたしますので、 どなたかご教授頂けないでしょうか? マクロはまだ初心者で色々と勉強している最中です。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- EXCEL VBA 結合したセルの制御
いつもお世話になっております。 Excelで、VBAを使っているのですが、結合されたセルの値を Cells(Row,Column).ClearContents を使ってクリアしようとするとエラーになってしまいます。 結合されたセルには、Cells()のメソッドは処理不能なのでしょうか? どなたかご存知の方がいらっしゃいましたら教えてください。
- ベストアンサー
- その他(プログラミング・開発)
- エクセルVBAのコピー方法について。
セル結合された表を別シートコピーする方法を教えてください。 以下のように記述しましが、実行時エラーとなり 「結合されたセルの一部を変更することはできません。」となります。 Range("A1").CurrentRegion.Copy Destination:=Sheets("Sheet2").Range("A1") よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- Excel 特定セルのデータを一括消去
こんにちは。 以前同じ質問をさせていただいたのですが、 しばらくネット環境から離れていたため、再度質問下さい。 車両別に毎日の日報データを入力するシートがあるのですが、 入力作業をするのがExcel初心者の人なので、関数が入っているセルを、 上書き・消去しないよう保護をかけて入力可能なシートのみ選択・入力できるようにしてあります。 1ヶ月ごとに入力したデータを消去し、新たなデータを入力していくのですが、 ロックされていないセルのデータだけを一括で消去出来るマクロがないかと探していましたが、過去ログで、 Sub Cellsdel() Dim c As Range For Each c In Sheets("Sheet1").Range("A5:D10") If c.Locked = False Then c.ClearContents 'c.Clear '書式も含めて、全て消すならこれ一行 End If Next End Sub というマクロを見つけたのでカスタマイズして試してみましたが、 実行時エラー1004 結合されたセルの一部を変更することは出来ません となってしまいました。 以前の質問させて頂いたときに、以下の変更箇所を教えていただいたので、 c.ClearContents ↓ c = "" こちらを試してみたのですが、計算式が多いのと、別シートへ反映させているためか、 ループ状態になってしまい、いくら待っても処理が終わってくれません。 再計算に時間がかかっているのでしょうか? こういった場合は、マクロを組みなおしたほうがいいのでしょうか? 入力するシートはC4:Z100までが1台分、以下、Z1200まで12台分の車両別に分かれていて、 入力するセルは飛び飛びになっています。 この説明では不足していると思いますが、補足をいたしますので、 どなたかご教授頂けないでしょうか? マクロはまだ初心者で色々と勉強している最中です。 よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- Excelでのセル内容の高速消去方法
いつもお世話になっております。 Excel VBAで、広範囲のエリア(例えばA1:G65535)を消去したいのですが、動作させるとタスクがフリーズしたようになり(PC自体は正常)応答が帰ってきません。範囲を狭くすれば何も問題ないのですが・・・良い智恵をお貸し下さい。 コードは Range("A***:G***").ClearContents を使ってます。
- 締切済み
- その他(プログラミング・開発)
- 結合されたセルの移動 VBA
「結合されたセルの一部を変更することはできません」と言うメッセージイベントでVBAを実行するにはどうしたらよいでしょうか? 結合されたセルあるいは複数の結合されたセルを選んで移動する場合、移動先が自分のセルに重なると、「結合されたセルの一部を変更することはできません」と言うメッセージが現れます。 これを回避するには一旦何も無い離れたところに移動し、それから再び目的の場所に移動します。 私の技能では以下のようなマクロになると思います。 最初に元の結合セルを選び、場所を覚えるマクロを実行しする。 次に移動先を指定し、「一旦何も無い離れたところに移動し、それから再び目的の場所に移動」するマクロを実行します。 これをワン・アクションで、「結合されたセルの一部を変更することはできません」と言うメッセージが出るタイミングで実行するにはどうしたらよいでしょうか。 よろしくお願い申し上げます。
- ベストアンサー
- オフィス系ソフト
- Excel VBA セルの選択と消去
ご覧いただき、ありがとうございます。 最近、会社のPCでExcelでのVBAプログラミングの練習をしています。 先頭ページにボタンをつけて、マクロを設定していますが、以下の動作が どうしてもできません。 ・別シート(WORKとしておきます)にある表のデータをクリアしたい ・クリアしたいのは、WORKシートのA5、B5セル以下のデータが入力されている個所すべて ・以下のプログラムを書いてみたが、エラーになる WorkSheets("WORK").Range("A5:B5", Range("A5:B5").End(x|down)). ClearContents 上記の構文に問題があるのはメッセージから分かるのですが、何が悪いのかが分かりません。 WORKシートをSelecしてセルをSelect、Selection.ClearContentsだと上手くいくのですが、画面のちらつきが気になるので、できるならば、先頭ページから遷移せずに実行させたいです。 現在、自宅のPCから質問を入力しているので、会社PCに書いていたプログラミングとは違うかもしれません。 もし、ヒントだけでもお分かりになる方がいらっしゃいましたら、ご教授いただければと思います。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございます、問題なく動きました!