• ベストアンサー

Excel マクロ

マクロ初心者ですので、教えてください。 sheet1とsheet2を比較し、sheet2のデータを操作したい 操作1 行番号 1~13までを削除 操作2 列番号 BC列に同じデータがあれば、行削除(削除するのはsheet2) 操作3 sheet2の残ったデータ(行)をsheet1の一番下の行へコピー 操作4 sheet1をシートごと同じブック内にコピー ※操作1~3の後

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

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

>操作1 1~13行を削除 サンプル: worksheets("Sheet2").range("1:13").delete shift:=xlshiftup 新しいマクロの記録で記録できるマクロを,そのまま使用することが出来ます。 ただし,「どのブック」の「どのシート」を対象にその作業をするのか,何らの方法ではっきりしないといけません。 これは「マクロにやらせる」にしても「あなたが手で作業する」場合でも,全く共通の注意事項です。 >操作2 BC列に同じデータがあれば行削除 サンプル: 提示不可能 一番肝心の部分のようですが,やりたい事が全く不明確です。 同じ行同士,例えばB2とC2を見て同じだったら2行目を削除すると言いたいのか それともB列の例えばB2と,C列の例えばC4とC6が一緒であるといった事を調査したいのか その場合にB2の2行目と,C4の4行目と,C6の6行目を,全部削除してしまいたいのか もっと具体的な「正しい」サンプルデータ(実施前と実施後の姿)をご相談に書き込んで,こういう場合にこうだからこうしたい,と筋道をたててヤリタイ事を説明してみてください。 >操作3 シート2の残ったデータをシート1の下端にコピー サンプル: worksheets("Sheet2").usedrange.copy _ destination:=worksheets("Sheet1").range("A65536").end(xlup).offset(1) こちらは,シート1や2に「実際に扱おうとしている,シートのデータの入り具合(お手許のエクセルを目で見た姿。何列何行に,どのような入り具合でデータを入れてあると言ったこと)」についての情報がまるでないので,このマクロでは適切ではないかもしれません。 アドバイスを丸写しは絶対やめて,マクロの書きぶりと「この書きぶりで何をやっているのか」をきちんと勉強して,実態に合わせて修正して使わないといけません。 >操作4 シートをコピー サンプル: worksheets("Sheet1").copy after:=worksheets(worksheets.count) 新しいマクロの記録で記録できるマクロを,少し手直しして利用する事ができます。 #総合的に,初心者を免罪符に丸ごと人にやってもらいたいのでしたら,せめて「いま手元で作業したいブックとシートの正確な詳しい出来るだけ詳細の情報」を漏れなく手抜きせずあなたの方からご相談に書き込んで,あとから「実はこうでしたここもこうでした」のやり直しがなるべく無いように準備してから,作ってもらうようにしてください。  それともご自分で是非とも出来るようになりたい,そのとっかかりが欲しいぐらいには思っているときには,仕事の全体を丸投げするんじゃなくもっとピンポイントに「この部分が判らない」マクロの疑問点をご相談にするようなさってみてください。

wwwexcel01
質問者

お礼

ありがとうございます。 ご指摘の通り、丸投げでしかも何をしたいのかわからないですね。 自分でできるとこところまでトライして、どうにもならないときに また質問します。

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

関連するQ&A