• 締切済み

Excelマクロ作成について教えて下さい

Excelマクロ初心者のMJです。 Excel2007で、A列に製品名、B列から年月(YYYYMM)毎に2年分の販売数量が入力された表があり、この表の1行目の特定年月を指定して、その年月から12カ月分の全製品データを別シートにコピーをする方法を教えて下さい。 宜しくお願い致します。

みんなの回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

No1です。列方向の連続した24列のコピーですね。 一例ですが、仮に シート名 元データ、コピー先 作業用 という名前のシートがあって 作業用の A1セルに 200101 と検索したい最初の列の年月 を入れます。 A2セルに =MATCH(A1,元データ!1:1) と入れれば、抽出する最初の列番号が出ますので Sub ボタン2_Click() Sheets("コピー先").Columns(1).Value = Sheets("元データ").Columns(1).Value Sheets("コピー先").Columns(2).Resize(, 24).Value = Sheets("元データ").Columns(Range("A2")).Resize(, 24).Value End Sub ですべての行をコピー 或いは Sub ボタン1_Click() Sheets("コピー先").cells().ClearComments Sheets("コピー先").Columns(1).Value = Sheets("元データ").Columns(1).Value gyou = Sheets("元データ").Range("A" & Rows.Count).End(xlUp).Row Sheets("コピー先").Columns(1).Resize(gyou, 24).Value = Sheets("元データ").Columns(Range("A2")).Resize(gyou, 24).Value End Sub では如何でしょうかか。

MJ177198
質問者

お礼

No 1さん、 大変ありがとうございました。  何れの方法でも上手く指定年月から別シートにコピーが出来、助かりました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

ご質問の内容は フィルターオプションの機能を使って別シートへデータを抽出 その機能をマクロの記録で コードを作成 必要に応じて、コードの修正 といった具合で可能です。(常套手段) 以下サイトを参考に実験してみてください。 http://www.eurus.dti.ne.jp/yoneyama/Excel/filter3.htm

MJ177198
質問者

お礼

hallo-2007さん、 ご回答を頂きありがとうございます。 ご教示頂いたフィルターオプション機能ですが、列見出し自体を検索条件として抽出する場合も有効でしょうか?  A列に2行目から製品名が入力され、B列からY列まで順番にYYYYMM形式で年月が2年分列見出しとなっていて、販売数量データがB列からY列の2行目以下に入力されている場合に、例えば、B1からY1の列見出しの年月”201103”以降の12か月分の列とA列を別データシートに抽出したい場合の 検索条件指定方法を教えて下さい。 初心者でお手数をお掛けしますが、宜しくお願い致します。