• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでデータ更新をする範囲が変わる場合の対応)

VBAでデータ更新する範囲が変わる場合の対応

このQ&Aのポイント
  • VBAを使用してExcelのデータを切り取り、2列右側のセルに入力されたデータを削除してから貼り付けたい場合、適用範囲が変わる場合の対応方法を教えてください。
  • 毎回の適用範囲の変更に対応したプログラムを作成したい。適用範囲が変わっても、合計欄の上までを毎回範囲指定するようなプログラムが組めるかどうか知りたい。
  • VBAを使ってExcelのデータ更新作業を行っていますが、適用範囲が変わる場合の対応方法が分かりません。適用範囲が変わると合計欄の上までを範囲指定しなければならず、プログラムに組み込む方法がわかりません。お知恵をお貸しください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

はて?? >K列にあるデータを、毎月I列にコピーしたい。(行は同じで列だけ移動)  : >2列左になります。(K列⇒I列)  : >対応させて、合計数を算出させたい。 いずれも回答したマクロで対応済みの内容です。 >上記内容で、ご理解いただけますでしょうか? 回答のマクロを実際に動かして,動作を確認してみることもしていないのですか? どういう事でしょうか。 #補足1 >一番下の判断材料になる「りんご」以下がどこにあるのか判らない C列やE列は全然間違いで,K列やI列に転記したい「数値」が記入してありますね。 それはいいんですが,肝心の「りんご」から始まって「合計」と書いてあるのはどこ列ですか,と聞いています。 聞かれたから答えるんじゃなくて,回答のマクロをよく読んで,あなたの実際のエクセルに合わせて正しく修正してから実際に動かしてください。 #補足2 >「合計」行はどうしたいのか説明がない そもそも合計行には,マクロでどうこうする以前に合計のSUMの式が記入されていますよね。 回答のマクロを実際に動かしてみれば直ちに判ったことですが,I列のSUMの式は入れ替えた数字によって新しい合計を自動で表示します。

rosso13
質問者

お礼

ありがとうございました。 内容については、まだ理解不十分ですので、 今後勉強いたします。

rosso13
質問者

補足

ご連絡が遅れてしまい、誠に申し訳ございません。  また、ご指摘のとおり「確認もせず」に質問してしまった 非礼につきましても、重ねてお詫び申し上げます。  言い訳をさせていただければ、確認できる環境がなかったのです。  ただし、これはあくまで言い訳。 仰られる通り、まずはご教授いただいた内容に対して実際に作業をしてみて、 その結果から出てくる成果について、改めて検証するすべきです。  申し訳ありませんでした。  さらには、改めてご指摘いただいた >肝心の「りんご」から始まって「合計」と書いてあるのは >どこ列ですか,と聞いています。 という点についても、お伝えできておりませんでした。 失礼いたしました。  場所は、K列になります。 >「合計」行はどうしたいのか説明がない ⇒大変失礼いたしました。ご推察いただいている通り、  合計行にはSUM関数が入っています。  したがって、例えば合計行が20行目になろうが  21行目になろうが、影響を受けることなく  1~20行目、あるいは1~21行目の数値を合計したい。  ということになります。  意味不明な文章であるにも関わらず、根気よくお付き合いいただき、 本当にありがとうございます。深くお礼申し上げます。  この後、ご教授いただいた構文を実際に試させていただきます。  その結果を受け、ベストアンサーにさせていただきます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

sub macro1()  dim LastRow as long ’一番下の判断材料になる「りんご」以下がどこにあるのか判らない  lastrow = range("A65536").end(xlup).offset(-1).row ’2列右ってどこ?それをどこに貼り付けたいのか書いてない  range("I5:I" & lastrow).value = range("K5:K" & lastrow).value ’「合計」行はどうしたいのか説明がない  raneg("J5:K" & lastrow).clearcontents end sub ご質問で書かれた「イメージ」と「実際のマクロ」も,列の説明が食い違ってて実際どうなってるのかさっぱり不明です。 具体的にどこ番地のセル範囲を「切り取り」,どこ番地に「貼り付け」,どこ番地を「削除」したいと,あなたのエクセルの目に見える姿を人に判るようにご相談に書いてみて下さい。 日本語が不自由なときは,一回ご自分の書いてみた文章を読みながらご自分でその通りにまっさらなエクセルに書き込んでみて,言いたかった事が作成できるか書き漏らしが無いか丁寧に確認してみると良いかもしれませんね。

rosso13
質問者

補足

ご指摘いただき、誠にありがとうございます。 意味不明な文章で、申し訳ありません。 ’一番下の判断材料になる「りんご」以下がどこにあるのか判らない ⇒K列にあるデータを、毎月I列にコピーしたい。 (行は同じで列だけ移動) ’2列右ってどこ?それをどこに貼り付けたいのか書いてない ⇒申し訳ありません。言葉が間違っておりました。2列左になります。(K列⇒I列) ’「合計」行はどうしたいのか説明がない ⇒合計行は、行追加・削除によって対象範囲が増減するのにも 対応させて、合計数を算出させたい。  上記内容で、ご理解いただけますでしょうか? 日本語の使い方が不適当で、ご不便をおかけして申し訳ありません。よろしくお願いいたします。  

関連するQ&A