• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA いらない行の非表示)

VBAでドライバーが持ち出す荷物の非表示を行う方法

このQ&Aのポイント
  • VBAを使用して、ドライバーが持ち出す荷物の数量チェックを行うためのExcelチェック表を作成しています。
  • しかし、持ち出す荷物の数量が多くなるため、印刷する枚数が増えてしまいます。
  • そこで、ドライバーが持ち出す荷物の個数と、特定のコードまたは未入荷の商品のみを表示するような条件を設定する必要があります。

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

  • ベストアンサー
  • SI299792
  • ベストアンサー率48% (720/1490)
回答No.2

済みません。再解凍が遅れました。 >最初の方法ではフィルターをかけた時に小計をかけている数量が変化してしまいます その通りですね。これは使えませんね。マクロも上げておいてよかった。 >1111や未入庫の場合を表示させているE列の数量は白色にして と書いてありますが、 これは違う話です。別質問にして下さい。どうせ質問はただだし。 補足かお礼があればメールが来るようにしてあるので、ここに新しい質問番号を書いていただければ、見落とすことはありません。

kishin1180
質問者

お礼

はいわかりました 今回はどうもありがとうございました

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

その他の回答 (1)

  • SI299792
  • ベストアンサー率48% (720/1490)
回答No.1

集計と1111と未入庫を残せばいいのですね。 G2:=OR(RIGHT(C2,1)="計",D2=1111,F2="未入庫") 下へコピペ、 G列でフィルターをかけ、TRUEを洗濯すればできます。 VBA なら Option Explicit ' Sub Macro1()   Dim Row As Long '   For Row = 2 To [C1].End(xlDown).Row '     If Not Cells(Row, "C") Like "*計" And _       Cells(Row, "D") <> 1111 And _       Cells(Row, "F") <> "未入庫" Then       Rows(Row).Hidden = True     End If   Next Row End Sub しかし、メンテナンスの面からも、上の方法をお勧めします。

kishin1180
質問者

お礼

すみません 違う表で実行していました 最初に添付したデータの表ではどこもE列の数量は白色になりませんでした 私が書いたコードでは、商品列が1111かつ入庫状況が未入庫になっている場合にE列が白色になるのですね そのあと、色々やってみたのですが、どうも私の希望のようになりません

kishin1180
質問者

補足

SI299792さん、コメントありがとうございます 教えて頂いた方法を試したところ、最初の方法ではフィルターをかけた時に小計をかけている数量が変化してしまいます コードで教えて頂いた方は、私が希望している通リの結果を返してくれます ありがとうございました ところで、ここから更に表を見やすくする為に、明細行となる部分の数量をフォントの色を白色にして印刷時に見やすくしようと思いました(つまり、数量はドライバーが持ってゆく数量の合計だけが表示されて1111や未入庫の場合を表示させているE列の数量は白色にして見えないようにしたいという事です) 教えて頂いたコードを変更して下記のようなコードを実行させてみました Dim Row As Long For Row = 2 To [C1].End(xlDown).Row If Cells(Row, "D") = 1111 And _ Cells(Row, "F") = "未入庫" Then Cells(Row, "E").Font.ColorIndex = 2 End If Next Row これを実行させると、表の一番上のドライバー佐藤の数量4の部分だけしかフォントの色が変わってくれないのですが、コードではFor文で最後の行まで色の変化させるようにはしていませんか? 明細行の数量部分を色を抜いて見やすい表として印刷するにはどのようなコードが適切なのでしょうか?

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

関連するQ&A

  • エクセルで条件にあう複数行から最小日付を調べたい

    エクセル関数でどなたかご教授ください。 sheet1に発注日、商品コード、数量、入荷予定日が100行ほど入っています。 発注日順ですが、商品コードの同じ行は複数あり、また商品コード順ではありません。 (A) 1/20 CODE1 1,000 2/11 (B) 1/21 CODE2 2,500 2/04 (C) 1/21 CODE3 2,000 2/02 (D) 1/25 CODE1 1,500 2/14 (E) 1/27 CODE1 1,000 2/16 あるセルで商品コードを指定すると、数量合計と【最初の入荷予定日】が出るようにしたいのです。 数量はCODE1の場合sumifで(A+D+E) 3,500 と出せました。 ただ、 最初の入荷予定日=2/11 を求めるには、どんな関数を使えばいいのかわかりません。 ミニマム関数が使えれば、並び順にかかわらずできそうなのですが、 可変条件の場合どんな記述になるのでしょうか? よろしくご指導お願いいたします。

  • エクセル VBA 同じ内容のセルの行を合わせたい

    売上集計表があり、A列に全商品のコードが表示されてます。 毎日の売上商品のデータを商品コード別に数量を入力して同じ内容のセルの行の位置を合わせる作業を毎日行っています。 毎日の売上データはエクセルで集計されたデータを貼り付けて行っています。これをなんとかVBAで処理したいのですが、どうしたらいいのかわかりません。 内容としてはA列に全商品の商品コードが既に入力されています。 月のはじめは、B列とC列に一日の集計データそのまま貼り付けます。 A列の商品コードと同じ商品コードの行に合うまで空白のセルを挿入していきます。 次の日は、D列とE列、その次はF列とG列と右に貼り付けしていきます。 商品コードは約3000件、毎日の集計データ数は約500件です。 どうか教えてください。 完成例)   A列   B列   C列     D列    E列       F列    G列   H列   I列 商品コード    10/1分        10/2分            10/3分       10/4分・・・続く        商品コード 数量   商品コード 数量      商品コード数量 CZ1.000  CZ1.000   10    CZ1.000   20 CZ1.005                                CZ1.010  15   ←セルの挿入で CZ1.010  CZ1.010   30                    CZ1.020 30    下げる作業を CZ1.015                                CZ1.030  10 毎日行ってます。 CZ1.020  CZ1.020   11   CZ1.020    20       CZ1.040  40 CZ1.025 CZ1.030  CZ1.030   11   CZ1.030    10 よろしくお願いします。

  • (EXCEL)在庫管理表で、直近にある入荷数量を表示させたい。

    (EXCEL)在庫管理表で、直近にある入荷数量を表示させたい。 在庫の個数を管理しているエクセル表があります。 一番左の列には、カレンダー式の日付が1日ずつ入力されています。 2008/02/14 2008/02/15 2008/02/16 . . . のようにです。 そして、日付と同じ行に、入荷のある日には、入荷予定の個数を入力しています。 この入荷予定個数の欄は、入荷のない日は空のセルになっています。 いま、やりたいとおもっていることは、今日から直近の日にちの入荷数量を表示させたいのです。 今日の日付をtoday()で表示させて、下のセルに、「直近の入荷数量」 「○○個」 と自動的に表示させるようにしたいのです。 よろしくお願い致します。

  • エクセル 在庫管理(在庫数から入庫月を求める)

    エクセルでの在庫管理をご教示ください。 これまで手書きで計算していた入庫月をエクセルで行いたいと考えております。 在庫数からその在庫の一番古い入庫月を求める計算式をお教えください。 例: A列 商品名 2020/1月の B列 出荷数量 C列 入庫数量 D列 在庫数量 2020/2月の E列 出荷数量 F列 入庫数量 G列 在庫数量 2020/3月の H列 出荷数量 I列 入庫数量 J列 在庫数量 *K列に、3月の在庫数量(J列)の、一番古い在庫の入荷月を求める計算式を入力したいです。 宜しくお願い致します。

  • excel VBAを使って、データを自動的に表示させたい!

    excelのVBA・マクロの書き方について教えてください!! たとえば、商品データ(商品名、数量、産地、担当者、商品コード)を入力したシートがあります。 別のシートに、商品名と数量を入力するだけで、商品データを参照して、産地・担当者・商品コードが自動で入力されるマクロを作成したいです。 「商品名」だけを入力して、表示させることはできたのですが、 商品名が同じで、数量が違うものがあると、片方のものしか表示されません。 A・B列に「商品名」・「数量」を入力して、自動でデータが表示される方法はありますか??

  • Excel VBA ドロップダウンリスト連動

    Excel VBAについてお尋ねさせていただきます。 Excel VBAを利用して、別ブックのセルにドロップダウンリストを作成いたしました。 ドロップダウンリストを設定したシートは 左から日付、届け先、商品名、入荷数量、配達数量1、配達数量2、配達数量3、残り(入荷数量ー配達数量1-配達数量2-配達数量3)となっています ドロップダウンリストは各行の4列目の入荷数量の値を上限とし、0から上限値までの整数を選択できるようにしてあります。 現在の方法だと、4列目の値を超える数値を入力できないようにしたので、1セルで入荷数量を超過した数値を入力することはできませんが、3つのセルの合計が入荷数量を超過することができるのが判明しました。 配達数量1の値が入荷数量と一致した場合は、配達数量2と配達数量3を0とし、配達数量1の値が入荷数量未満の場合、配達数量2・配達数量3で選択できる整数を残り列の値までとしたいのですが、どのように改変すればよろしいでしょうか?

  • EXCEL VBA について教えてください。

    EXCEL VBA について教えてください。 先ほど質問した内容ですが、補足ができなかったので、再度質問しています。 条件を満たす行をコピー(挿入)さらに(数量)を分割する場合 下記のデータで , (品名 ) , (数量) , (マスタ) , (A/B) , A , B , C , D 1 , 商品1 , 1000 , 2000 , 0.5 2 , 商品2 , 3000 , 1000 , 3 3 , 商品3 , 3000 , 2000 , 1.5 4 , , , , 5 , , , , 6 , , , , このように(数量)>(マスタ)の場合に(数量)/(マスタ)分を行コピー(挿入)して , (品名 ) , (数量) , (マスタ) , (B/C) , A , B , C , D 1 , 商品1 , 1000 , 2000 , 0.5 2 , 商品2 , 1000 , 1000 , 1.0 3 , 商品2 , 1000 , 1000 , 1.0 4 , 商品2 , 1000 , 1000 , 1.0 5 , 商品3 , 2000 , 2000 , 1 6 , 商品3 , 1000 , 2000 , 0.5 さらにB列の(数量)も(マスタ)以下になるように分割する。 単に行のコピーだけなら自分でもできるのですが。。。これはさっぱりです。 どうか教えてください。 また、データの位置が変わった場合、どこを修正すればよいでしょうか? 例) 品名:P列 数量:R列 マスタ:AR列 よろしくお願いします。

  • 入出庫表を作成したいのですが・・・。教えてください。

    前回説明不足とのご指摘を受けましたので改めて質問させていただきます。前回答えていた方、ありがとうございました。 では・・・、 このような仕様がエクセルで出来るかどうかわかりませんが、 出来るのであれば教えてください。 A列に入庫数、B列に出庫数、C列に在庫数を入れたいのですが、 (1)入庫と出庫の数量に差異があった場合、在庫数のセルの色が変わる  若しくは一目で異常が認識できる設定。  入庫が10に対して出庫が10を超えている。要は”-”(マイナス)  になってしまっている。  例えば  1日に10入庫して、2日に3出庫、3日に8出庫                               ↑               この時点にて一目で認識できる設定                (マイナス表示はさせない)  又、商品を入庫し、個数を入力したら入庫時間が表示される設定。    出庫も同じ設定。    (2)入庫されてから一定期間(例 12時間)全く出庫されない場 合セルの色が変わる 若しくは一目で異常が認識できる設定。 あくまでも、A,B,C列は仮的な物ですので、どう設定していただいても問題ありません。 上記2点ですが、分かる方いましたら教えてください。 素人ゆえ、説明不足かと思いますがよろしくお願いします。

  • EXCEL VBA について教えてください。

    EXCEL VBA について教えてください。 条件を満たす行をコピー(挿入)さらに(数量)を分割する場合 下記のデータで , (品名 ) , (数量) , (マスタ) , (A/B) , A , B , C , D 1 , 商品1 , 1000 , 2000 , 0.5 2 , 商品2 , 3000 , 1000 , 3 3 , 商品3 , 3000 , 2000 , 1.5 4 , , , , 5 , , , , 6 , , , , このように(数量)>(マスタ)の場合に(数量)/(マスタ)分を行コピー(挿入)して , (品名 ) , (数量) , (マスタ) , (B/C) , A , B , C , D 1 , 商品1 , 1000 , 2000 , 0.5 2 , 商品2 , 1000 , 1000 , 1.0 3 , 商品2 , 1000 , 1000 , 1.0 4 , 商品2 , 1000 , 1000 , 1.0 5 , 商品3 , 2000 , 2000 , 1 6 , 商品3 , 1000 , 2000 , 0.5 さらにB列の(数量)も(マスタ)以下になるように分割する。 単に行のコピーだけなら自分でもできるのですが。。。これはさっぱりです。 どうか教えてください。

  • SQL文がわからない

    在庫テーブル・入庫テーブル・出庫テーブルがあります。 指定期間内の入庫テーブル・出庫テーブルの数量と在庫テーブルを結合させたいが、どうすればいいでしょうか? 2日ほど悩みましたがどうしても分かりませんでした。 よろしくお願いします <在庫テーブル> コード 個数 aaa   10 bbb   10 ccc   10 <入庫テーブル> コード 個数 日付 aaa   1  1/1 aaa   1  1/2 bbb   1  1/2 aaa   1  1/3 aaa   1  1/4 bbb   1  1/4 ccc   1  1/5 <出庫テーブル> コード 個数 日付 bbb   2  1/2 aaa   2  1/3 bbb   2  1/4 ccc   2  1/4 aaa   2  1/5 <結果(1/2~1/3)> コード 個数 入庫 出庫 aaa   10   2   2 bbb   10   1   4 ccc   10   0   2

    • ベストアンサー
    • MySQL

専門家に質問してみよう