• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel参照先セル位置を変更させない方法等)

Excelのシート削除方法とセル参照について

このQ&Aのポイント
  • Excelで特定のシートを削除する方法と、シートを削除した場合のセル参照について説明します。
  • シート1にある表を別のシートに引っ張ってきて、その後シート1を削除する方法を紹介します。
  • また、マクロを使用してシートを削除する場合には、セルの参照が一時的にエラーになる可能性があることにも注意が必要です。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.4

>あと結合されてしまった、セルを元に戻すにはどうすればよいでしょうか? は、こんなコードでイケると思います。 Sub Macro2()  ThisWorkbook.Sheets("Sheet1").Cells.MergeCells = False End Sub

spongetak
質問者

お礼

ありがとうございます!

その他の回答 (3)

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.3

>マクロで、Sheet1ごと削除して、 >Sheet1を作成するというものを作成した場合、 >おそらくSeeet2のセルの参照が一旦エラーになってしまうと思いますし。 おっしゃる通り、Sheet2のセルに =Sheet1!C12 といった計算式が埋まっているのであれば、 むろん、VBAであっても、手作業であっても、 Sheet1が削除されれば、埋まっている計算式は使い物にならなくなります。 期待していることは、 Sheet1を削除、再追加することなく Sheet1を初期状態に戻したい。 ということでいいでしょうか。 また、 図形が残っているのでこれを削除したい ということであれば、 Sub sample() Dim i As Long ThisWorkbook.Sheets("Sheet1").Select For i = ActiveSheet.Shapes.Count To 1 Step -1 ActiveSheet.Shapes(i).Delete Next End Sub あるいは、セルに埋まっている値や計算式を削除したいのであれば Sub Macro1() Sheets("Sheet1").Cells.ClearContents End Sub で削除できます。

spongetak
質問者

お礼

ありがとうございます。 上記2つのマクロ、うまく動きました。 あと結合されてしまった、セルを元に戻すにはどうすればよいでしょうか? (一応、状況は、回答No1様の返答に記載しましたが)

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

質問で聞いている、主目的の箇所がよく判らない。 他の人は判るのかな? 思い付くままに文章にするのでなく、テキストエディタに一旦書いて、他人に解るかどうか、チェックする癖を付けるべきだと思う。特に、主語がくるくる変わる書き方は要注意だ。 本件もメモ帳に書いて、チェックして、回答に張り付けた。 ーー 質問文は シートSheet1のデータの実例を1例あげて、それを使って、多少の文章を添えて、説明したらどうか。 その際、一般的でない1例だということを、あまり意識し過ぎてはいけない。 断りの文書などを入れると、読者をわかりにくくする。 1例での回答が出たら、回答を自分の場合に合わせて、修正するのは、質問者の仕事として、通常は、残るものだ。 ーー (1)>表を、そのまま引っ張ってくるとします。 >引っ張ってくるーー>どういう目的で? Sheet1とSheet2は決まっているのか? 表には画像のようなものが含まれているのか? (2)>その場合、Sheet1を簡単に削除する方法はありますか? >その場合 どのタイミングのこと? エクセル関数でシートの削除はできないだろう。どういう方法で言っているのか? Sheet1を削除しても、Sheet2の式は(意味はなくなりエラーは出ても)残ると思う。それでどの面で困るのか?新しくSheet1に別データを張り付けるのではないのか? Sheet2らしいが、どの点で困るのか? (3)>画像データなどがうまく消えないです 突然、画像データが出てくるがなぜ? Sheet1の画像だけ抹消したいのか?それをしても、Sheet2の関数式は影響ない(エラーが出たり無意味なデータになることはない)はずだが。 関数の引数に画像は指定できないはず。HyperLink以外。 (4)>(マクロ中でジャンプでオブジェクト選択・削除しても、マクロ実行でも消えない)Excel2007 なぜ突然、VBAの話を持ち出すのか? マクロの中で画像の選択は出来るでしょう。 (5)>マクロで、Sheet1ごと削除して、Sheet1を作成するというものを作成した場合、おそらくSeeet2のセルの参照が一旦エラーになってしまうと思います 当たり前だが、それがなぜ困るのか。 その後、また前のSheet1に似た様式のデータを新しいシートに貼りつければよいのでは。 参考 ジャンプの中の「オブジェクト」 Sub Macro1() ActiveSheet.DrawingObjects.Select End Sub == Sheet2の関数式の変更や置換の話なら、 https://www.moug.net/tech/exopr/0030013.html 数式の参照先を一気に変更する を読めば解決しそうだが、そうではないのか?どういう点でそれでは解決しないのか。

spongetak
質問者

お礼

いろいろありがとうございます。すみませんね、一応回答No1様の返答のところに、目的など記載いたしました。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

「Sheet2で、A1に、=Sheet1!A1 などとして、表」など必要部分を、「そのまま引っ張っ」た後は、 Sheet2全体を選択⇒Ctrl+C⇒マウスの右クリック⇒[貼り付けのオプション]直下の[123](値)アイコンをツン⇒Sheet1を削除 では駄目よダメダメですか? 駄目なら、その理由は?

spongetak
質問者

お礼

ありがとうございます。 すみません、単にSheet2のデータが値としてほしいのではなく、下記のような作業が目的です。 作業の目的としては、あるサイト(自社のDB上)のブラウザ表示画面をそのままコピーして、 Sheet1に貼り付ける。 (この段階で、セルの結合、オブジェクトがはりついたり、などが行われてしまう) Sheet2で集計表示で数値を確認 Sheet1を全く新しい状態にする (この行為において、最も重要なのは、セルの結合を解除すること、できれば、オブジェクトの削除、先のデータの削除。ここでもちろんエクセルファイル保存せず終了し、再度開きなおす、ということをすれば同様の目的は達せられるが、ちょっと手間です) ↓ Sheet1に貼り付ける。 から繰り返し。 というものです。

関連するQ&A