- ベストアンサー
Excel 2007 マクロ 特定条件の抽出方法
keithinの回答
作成例: Sub macro1() Dim a() As Range Dim i, h ReDim a(Application.WorksheetFunction.CountIf(Worksheets("Sheet1").UsedRange, "本数")) Set h = Cells.Find(what:="本数", LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlByRows) For i = 0 To UBound(a) - 1 Set a(i) = h Set h = Cells.FindNext(h) Next i Set a(i) = Cells.SpecialCells(xlCellTypeLastCell).Offset(2) For i = 0 To UBound(a) - 1 a(i).Offset(-1).EntireRow.Copy Destination:=Worksheets("Sheet2").Cells.SpecialCells(xlCellTypeLastCell).Offset(1).End(xlToLeft) With a(i).Resize(a(i + 1).Row - a(i).Row - 1, 1) .AutoFilter field:=1, Criteria1:="<>" .EntireRow.Copy Destination:=Worksheets("Sheet2").Cells.SpecialCells(xlCellTypeLastCell).Offset(1).End(xlToLeft) ActiveSheet.AutoFilterMode = False End With Next i Worksheets("Sheet2").Range("1:1").Delete shift:=xlShiftUp End Sub #そもそも元のシート1の作り方が,上と下で表が違うみたいな変な具合なのでここまで面倒なことになっているのですから,その困り事の根本原因になっているシート1の様子を,まず先に正しく具体的に画像で情報提供してください。 それと。まず回答された内容をよく吟味してその通りにやってみて,出来なかったら出来なかった様子を具体的に挙げて,それで返答を書くようにしてください。
関連するQ&A
- エクセル2000マクロ条件抽出方法
シート名(在庫月数マスター)に下記の条件のデータが入っています。 A列 B列 C列 最小値 最大値 在庫月数 0 50 4.0 0以上51未満の場合は4.0 51 100 3.0 51以上101未満の場合は3.0 101 500 2.0 101以上501未満の場合は2.0 501 1000 1.5 501以上1001未満の場合1.5 1001 1.2 1001以上1.2 別のシート名(実績)のN列に平均払出のデータが入っています。 在庫月数マスタの条件を判断してAB列に在庫月数を入れたい。 N列 AB列 平均払出→項目名(5行目) 在庫月数(5行目) 2000 1.2 75 3.0 45 4.0 0 4.0 105 2.0 このような場合マクロで抽出する方法を教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル(2000)のマクロについて
sheetaaa~(複数シート)~sheetZZZをすべて選んでこれらのシートのコピーを、他のブックに作成するというマクロを自動保存で作りました。出来上がったマクロをみるとコピーするシート名がひとつひとつマクロの中にかかれてしまいます。sheetaaaとsheetZZZはいつもコピーするので問題ないのですが、、間に入っているシートは数がどんどん増えていくので、マクロの中でおのおののシート名を指定してしまうのは困るのです。 マクロを実行した際に、sheetaaaとsheetZZZの間あるシートは無条件でコピーを作成するというマクロを作成したいのですが、どのように作ったらいいのかわかりません。 どなたかアドバイスいただけないでしょうか。
- ベストアンサー
- オフィス系ソフト
- エクセルの抽出に関するマクロ
(1)OSはVistaです。 (2)エクセル2007を使用しています。 (3)シートは「会員情報」「抽出条件」「抽出結果」の3枚です。 (4)「会員情報」シートのA5からR588までデータ(氏名、住所、電話番号など)が入っています。A5からR5は、タイトル行(フィールド)です。R列は「フォームコントロール」で挿入したチェックボックスです。。 (5)「抽出条件」シートには、会員の種類による抽出ができるような条件(正会員、準会員、協賛会員など)が設定してあります。 (6)「抽出結果」シートには、抽出された結果がコピーされます。 「会員情報」シートのデータを、「抽出条件」シートで指定した条件で抽出し、「抽出結果」シートにコピーするマクロは成功しました。 チェックボックスにチェックを入れた会員を抽出し、その方たちの郵便用ラベルを作成するのが最終目標ですが、今は「会員情報」シートのチェックボックスを使った抽出とその結果のコピーができないところでストップしています。チェックボックスを使った抽出とその結果のコピーのマクロを教えてください。
- ベストアンサー
- その他MS Office製品
- Excel 2007 マクロ 表の値の抽出について質問させて頂きます。
Excel 2007 マクロ 表の値の抽出について質問させて頂きます。 4つの表がSheet1にあります。 表は画像として添付しました。 外国産、国産、その他のいずれかの列に数値が入って いる行をコピーしてSheet2に貼り付けるマクロを考えています。 昨日、2つの表の場合のマクロのご回答を頂きました。 2つ表が追加されると上の2つは、抽出されるのですが 下2つは抽出されません。 表が4つと2つではマクロが異なるのでしょうか。 マクロ超初心者ですので、文が長くなっても構いません。 容易なマクロのサンプルをご紹介いただけませんでしょうか。
- ベストアンサー
- その他MS Office製品
- マクロで過去日付分の計算式を値のみコピーする方法を探しています。
マクロで過去日付分の計算式を値のみコピーする方法を探しています。 1つのシートに1ヶ月分の在庫を管理している表をエクセルで作成しています。 ほとんどすべてのセルに計算式が入っているので、とても重いため、過去日付のものは確定する方法を探しています。 商品名 6/1 6/2 6/3 6/4・・・・・・ Aの出荷数 1 2 3 4 ・・・・ Aの在庫数 50 48 45 41・・・・・ Bの出荷数 5 6 7 8・・・・・ Bの在庫数 60 54 47 39・・・・・ ・ ・ ・ ・ というふうに600アイテム以上の商品在庫の表です。 「確定」というボタンを押せば商品の出荷数の過去日のみをコピーして値で貼りつけるようなマクロを作成したいのですが、可能でしょうか? 上手に説明ができなくてすみません。。。 よろしくお願いします。
- ベストアンサー
- Windows系OS
- エクセル 複数条件による検索・抽出 マクロ
ユーザーフォームに5つのTextBoxを用意しまして、TextBox1に取引先会社名、TextBox2に商品名を入れると、(できれば自動的に)TextBox3に単価、TextBox4に商品番号、TextBox5に材料名が入るようなマクロを組みたいと考えております。 当社は、取引先相手が一次卸か二次卸かで、同じ商品でも単価が変わってくるので、二つの条件が必要となり、初心者の私には、どのようなマクロを組めば良いのかわかりません。 できれば、ユーザーフォームを立ち上げるSheet1とは、別のSheet2などに各会社名・対応する商品名、そして各々の単価などの表を作りたいと考えております。 分かりにくい質問かと思いますが、宜しくお願いします。 上記に書いた方法以外に、もっと良いアイデアなどありましたら、是非とも宜しくお願いします。
- 締切済み
- オフィス系ソフト
- EXCELのマクロでデータをクリアしたい
仕事でエクセルのマクロを使ってリストを作る作業があるのですが、行き詰まりました。どなたか助けて下さい。お願いします。 表を作るのには二つのマクロを使っています。 【一つめのマクロ】 1.定形のウェブページからテキストをコピーする 内容は商品名や商品番号や数量です 2.エクセルの一番左上に貼り付ける 3.するとマクロが働いて貼り付けたデータはseet1に保存されて自動的に新しいシートが用意される 4.新しいシートに別のデータで1.2.を繰り返す この作業は9回まで繰り返し、一旦エクセルを閉じます。 次に再びエクセルで 【二つ目のマクロ】を立ち上げ、現れた『リスト作成』ボタンを押すと自動的に完成の表が作られます。 最初はこの方法で快調だったのですが、行き詰まりました。 ・行き詰まりその1 一つめのマクロで九つまでコピーペーストするのをくり返して、二つ目のマクロを使うと今までのデータをすべて反映して表が作られてしまいます。うまく説明できないのですが、例えば 月曜にコピーペーストして表完成。 火曜に別のデータでコピーペーストして表を完成させると、必要ない月曜のデータも含めて表が出来てしまう。 これが一つめの困りです。 ・行き詰まりその2 二つ目の困りは、ある日別の社員が一つめのマクロを使ってコピーペーストしていたところ、誤って9つ以上シートを作ってしまったらしく、作りすぎたシートを削除しました。 そうしたらフリーズしたので、再起動してやり直ししたら、そのマクロのファイルを開くたびに、上記の失敗が現れてそれ以上のデータが作ることができなくなりました。(2つめのマクロを動かすと失敗データが上書きされるのみです) 快調な時は表が完成すると、一つめのマクロでは何のデータも残りませんでした。 このような稚拙な説明しか出来ないのですが、どなたかご教授下さい
- 締切済み
- オフィス系ソフト
- Excelのマクロについて
エクセルのまくろについて教えてください。 私が今やろうとしているのはsheet1に表を作成し、sheet2に見積書を作成します。 見積書に載せる項目はsheet1の表の中から抽出したいです。 そのときの条件としては、sheet1での表の中の計算結果が、 項目 計算結果 A 1 B 0 C 8 このような場合のときに計算結果が「0」になったものの項目はsheet2の見積書の項目には反映しないようにしたいです。 このようにするとsheet2での見積書は作成する条件によって行数が変わるようになります。 なので、自動的に見積書の行を増やしたりなくしたりするようなマクロを組みたいのです。 Excel2000です。 長々と書きましたがよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ある条件の時、対象のセルの色を付ける
私はサイロ会社に勤務しており、サイロの在庫管理について効率的に実施したいと考え質問いたします。 在庫表をエクセルにて作成しました。1つのブックにサイロビンごとの在庫表とそれをマップ化したシート2種類作成してあります。マップ化したシートには、品種名や在庫数量などをサイロビンごとの在庫表のシートから引用しています。 質問事項 (1)マップ表シートの品名セルに、サイロビンごとの在庫表のシートの中で、品名を表示するセルが『とうもろこし』だった場合、黄色にする。というマクロを組みたい場合はどうしたらよいか? (2)(1)へ、複数条件で、『とうもろこし』以外の品名であった場合もそれ相当の色を付けるマクロ文は? (3)(1)、(2)の条件をすべてのサイロビンに反映させるには? 以上のマクロの組み方を教えてください。
- 締切済み
- Visual Basic
- エクセルマクロで条件のシートを印刷する方法
エクセルマクロで条件のシートを印刷する方法を教えてください 初め、目的のシートを作成する為の条件がセルに入力しているシート(以降:条件シート)があり マクロで条件シートから情報を吸い上げて情報に沿ったシート(以降:結果シート)を複数作成します。 ここでは条件シートが複数存在しています。 結果シートを作成する為の条件と作成するシート数はその都度違います。 結果シートを作成する際は前回に作った結果シートを全て削除してから作っています。 条件シートのシート名に「●」を入力しておいて、「●」が含まれていないシートを削除するようにしています。 ここで質問になりますが、作成した全ての結果シートだけを印刷する方法を教えていただけないでしょうか 方法としては「●」が含まれていないシートを全て印刷するという命令にしたいのですが。 ご教授お願いいたします エクセル2003を使用しています。
- 締切済み
- その他MS Office製品
お礼
ご回答ありがとうございました。問題なく解決できました。今後は質問する際の情報について、注意したいと思います。ご回答頂きましたマクロの一文一文を書籍やサイトで調べて勉強します。