• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBA 条件による行の自動挿入(2))

EXCEL VBA 条件による行の自動挿入(2)

このQ&Aのポイント
  • EXCEL VBAを使用して、特定の条件によって行を自動的に挿入する方法について説明します。
  • 要件は、表1に表示される各商品の売り区分が、処理ボタンを押すと表2に自動的に変換されることです。
  • 表2では、各商品の売り区分が上下に表示されるようになります。順番は「定価」が上、「特売」が下になります。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! B列は「定価」または「特売」のどちらかしかない訳ですよね? Private Sub CommandButton1_Click() Dim i As Long Range("A:A").UnMerge For i = Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -1 If Cells(i, 2) = "特売" Then If Cells(i - 1, 2) <> "定価" Then Rows(i).Insert Cells(i, 2) = "定価" End If Else If Cells(i + 1, 2) <> "特売" Then Rows(i + 1).Insert Cells(i + 1, 2) = "特売" End If End If Next i Application.DisplayAlerts = False For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row Step 2 Cells(i, 1).Resize(2, 1).Merge Next i Application.DisplayAlerts = True Cells(1, 1).CurrentRegion.Borders.LineStyle = xlContinuous End Sub こんな感じではどうでしょうか?m(_ _)m

yakkun2338
質問者

お礼

tom04さん、早速のご連絡ありがとうございました! ご教授いただきましたコードで出来ました! すごいです!感動しました^^ この度は本当にありがとうございました!!

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

関連するQ&A

  • EXCEL VBA 条件による行の自動挿入

    お世話になります。 EXCEL VBAを使用して自動で行の挿入処理を実施したいと思っております。 やりたい事は添付図の表1を処理ボタンを押せば自動で表2のようにしたいのです。 表2の黄色部分が自動挿入させたい部分です。 例えば「表2作成」というボタンを押したら・・ [sheet1]にある表1をC1からC??の最終行までREADしてC??の文字列が [定価番販売実績]であれば・・ (1)[定価販売実績]の上の行に[定価販売予定]という行を挿入 (2)[定価販売実績]の下の行に[定価差異]という行を挿入 [得売販売実績]であれば・・ (3)[特売販売実績]の上の行に[特売販売予定]という行を挿入 (4)[特売販売実績]の下の行に[特売差異]という行を挿入 という作業を全商品に対して実施したいのです。 図では3商品ですが実際には変動ですが100~200品位です。 出来上がった新しい表2は別シートに表示できれば最高です! どなたか方法をご教授いただけませんでしょうか? よろしくお願い致します。 環境 Windows XP SP3 EXCEL2003

  • Excel VBA 商品毎に数量差異の自動計したい

    お世話になります。 添付の様なデータがあります。 各商品を4週に分けて週ごとの定価販売数量と特売販売数量を把握しようというものです。 やりたい事・・・ 各商品の定価販売予定と定価実績、特売販売予定と特売実績には数字が入っています。 [計算]というボタンを押したら、緑色セルにある定価販売差異と特売販売差異を求めたいのです。 数式は以下になります。 定価販売差異 = 定価実績 - 定価販売予定 特売販売差異 = 特売実績 - 特売販売予定 恐れ入りますが、どなたかご教授いただけませんでしょうか? よろしくお願い致します。 補足 ・商品数は可変ですが100種類ほどです。 ・各商品は必ず6行((1)~(6))と4列(第1週~第4週)あります。 環境 Windows XP SP3 Excel2003

  • Excel VBA 複数条件で別シート検索したい

    お世話になります。 質問させていただきます。 会社から営業担当者の実績と計画を一覧で確認できる表が欲しい、と言われ格闘しております。 本件が出来ればほぼ完成できそうなので、大変恐れ入りますがどなたか実現方法をご教授いただけませんでしょうか? 添付図のようなシートが2つ(実績、計画)があります。 [計画シート] ・年月、担当者ごとにさらに企業別と商品別に定価と特売で売る数量を一月を4週(第1~4週)に分けて計画した表です。 [実績シート] ・計画シートで計画した数量と実績との差額を見るための表です。 やりたい事・・ 実績シートに[計画数量の転記]というボタンを配置して、このボタンをクリックしたら、実績シートのA2から最終データまでREADして、該当する計画シートの予定数量を実績シートに表示させたいのです。 計画シートの定価販売予定(黄色)--->実績シートの定価販売予定(黄色) 計画シートの特売販売予定(青色)--->実績シートの特売販売予定(青色) 流れとしましては・・ (1)実績シートの[年月]、[拠点]、[担当者]、[CD]、[品番]、[区分]をKEYに、計画シートの中を検索する (企業名と品名はKEYに含めません) (2)計画シートでKEYにマッチしたデータがあれば該当データのI??、J??、K??、L??の各週の計画数量を実績シートのI??、J??、K??、L??に入れ込む 補足 ・年月は1304~1403までです ・添付画像には表示されていませんが各担当者は1304~1403まで12ヵ月分の計画があります ・実績シートのI1、J1、K1、L1は年月によって表示が変化しますので、ここに表示される文字をKEYにはできません。(例 年月が1305の場合は1-12,13-19,20-26,27-31) ・実績シート、計画シートともにデータの構造(並び順)は同じです 分かりづらい説明で申し訳ございません・・・・・ どうかよろしくお願い致します。 環境 Windows XP SP3 Excel2003 以上です。

  • EXCEL VBA条件による行の上下段へのコピー

    EXCEL VBA 条件による上や下段への行コピー お世話になります。 質問させていただきます。 添付図ようなの表1があります。 この表は各商品につき6行あって[品名]と[区分]だけは6行すべてデータが入っていますが、その他の[納品日]や[担当者]フィールドには6行全てには入っていません。(ピボットテーブルで集計した表のため) このほうが表としては見易くて良いのですが、オートフィルターをかけると空白行が抽出されずに不便で困っています。 そこで表1を表2のように全ての行にデータを入れればオートフィルターでもうまく抽出できるので、このようにしたいのです。(表2の緑色セル部分) 以下表1の条件です (1)品名、区分は必ず入っている (2)品番は各商品データの2行目(1行目ではなく)に必ず入っている (3)納品日~問屋名までは同一データが続く場合、先頭データの2行目(1行目ではなく)にしか入っていない (4)商品データは1商品につき6行表示されていて、可変ですが1000行ほどあります やりたい事・・・ [データ挿入]というボタンを作成して、ボタンを押したら表1が表2の緑色セルを埋めるような動作をさせたいです お忙しいところ恐縮ですがどなたかお知恵をお借りできますでしょうか? 何卒よろしくお願い致します。 環境 Windows XP SP3 Excel2003

  • EXCEL VBA 自動で8行毎に行を挿入したい

    お世話になります。 添付左図のような表があります。 この表をボタンをクリックしたら右図の表の様にするためのVBAロジックをご教授いただけませんでしょうか?(右図の黄色部分の行を自動で挿入したいのです) この表は担当者一人に対して売上区分というものをA-Hまで設けているため、一人のデータが必ず8行になります。 担当者数は現在は100名程度ですが、その都度変わるため可変にしたいです。 この担当者毎に8行あるデータを、ボタンを押したら新規に下行を挿入して[A+B]、続けて下行を挿入して[C+D]、[E+F]、[G+H]という具合に行を挿入する動作を全担当者のデータに全てに対して実施したいのです。 どなたかご教授いただけますでしょうか? よろしくお願い致します。 環境 windows XP SP3 Excel2003

  • EXCEL VBA 行のコピー

    お世話になります。 添付の表1のデータがあるのですが、これをボタンが押されたら自動で表2のようにしたいのです。 やりたい事・・・ 表1のA3から最下行までREADして品番(A??)と品名(B??)の空白セルを埋めたいのです。(表2黄色部分)各商品は最低でもデータ行が1行あり、各商品の行数は可変です。 最大でも10行程度だと思います。 どなたかご教授いただけますでしょうか? よろしくお願い致します。 環境 Windows XP SP3 Excel2003

  • 教えてください!エクセルのシートからシートへ行単位で自動転記したいのです。

    エクセルで収支表を作成しています。 区分が入っているセルがあるのですが、その区分ごとに行単位で同ファイルの違うシートへ自動転記することは可能でしょうか? 日付 入金 code  社名  区分  ~  資料計  ~  立替計  ~  前払計  合計  残金 2/3   500   1056   ××  ●表  ~   3000   ~      0   ~     500   500    11100 2/6        1057   ××  △地  ~   500   ~     300    ~       0   800    10300 2/3  800   1056   ××  ★表  ~    1000   ~   200   ~       0   1200    9900 と、いうような収支表があります。 これを「●表」、「△地」、「★表」のそれぞれのシートに、行ごと、できれば合計の前までを、自動転記することができるでしょうか? ☆出来上がりイメージ シート名(●表) 日付 入金 code 社名 区分 ~ 資料計 ~ 立替計 ~ 前払計  2/3   500  1056  ××  ●表   3000      0       500 シート名(△地) 日付 入金 code 社名 区分 ~ 資料計 ~ 立替計 ~ 前払計  2/3   0    1057  ××  △地     500      0       300 シート名(★表) 2/3   500  1058  ××  ★表   1000       0       200 収支表に入力すれば、各シートに自動的に転記され、ぞれぞれの表が作成できるようにしたいのです。 まったくの初心者です。 いままでの質問結果を見ても自分の質問がどれに当たるのかもわかりませんので質問させていただきました。 具体的にどこのセルにどのようにすればいいのか、かみくだいてご説明いただけると大変助かります。 ここに書いた表もぐちゃぐちゃで、分かりずらいとは思いますが、どうぞよろしくお願いいたします。

  • EXCEL VBA VLOOKUPの様な検索したい

    お世話になります。 質問させていただきます。 添付図の表3を作成したいのです。 やりたい事は・・・ [販売金額]シートに[集計]というボタンを作成して、このボタンがクリックされたら[商品名]と[年月] (2012年4月とか)をKEYに隣の[平均単価]シート参照して、合致する平均単価を該当商品の販売金額の下段に1行挿入して平均単価を表示させたいのです。(図中 表3の緑セル部分) まとめますと・・・ 販売金額シート表1の全データをREADして商品名と年月をKEYに表2に合致した平均単価を探して、見つかれば平均単価を1行挿入して表示して最終的には表1を表3に変化させたい、のです。 補足 商品数は可変ですが1000個程度です。 もし合致する平均単価がなくても該当商品に平均単価フィールドを1行挿入して0円またはブランク表示させたいです。 何度も似たような質問ばかりしてまして申し訳ありませんが、どなたかご教授いただけませんでしょうか? よろしくお願い致します。 環境 Windows XP SP3 Excel2003

  • エクセルについて

    エクセルでシート1の表の下にシート2の表を表示させたいんです。 シート2の表は自動計算式が入っているのでそのままの形で表示させたいです。(数値が変わるので)縦横の幅もそのままで「図」としてシート1に表示させるのはどうしたらいいでしょうか? 教えてください。

  • エクセルVBAで OutlookExpressで自動的に送信・・・

    とあるエクセルのファイルにボタンを付けて自動的にOutlookExpressで送信したいのですが、 メールアドレスと件名・本文共に固定のもので、使用したいのです。 流れで言えば、 エクセルシートに作ったボタンを押す→自動的に保存される→ OutlookExpressが起動→メールアドレス・件名・本文が自動的に入力されている→ さっきボタンを押したエクセルファイルも添付されている→ メール送信 という感じです。 こういうものは、エクセルで作成可能でしょうか? また、出来るのであれば構文も載せていただけると幸いです。 宜しくお願い致します。

専門家に質問してみよう