• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:倉庫の管理で困っています)

倉庫の管理で困っています

TAKA_Rの回答

  • ベストアンサー
  • TAKA_R
  • ベストアンサー率32% (26/79)
回答No.7

あまり変なものは使っていないので(基本的なものばかり)バージョンによるエラーは起こりづらいだろうなと思っています。 むしろシートやセルの名前が違うとか(完全一致しないと半角全角スペースの有無の違いでもだめ)、データ型が違うとかのようなエラーは起こっているかもしれません。 シート名の箇所をわかりやすく(というかそのまま使えるように)して、お隣の列に移るようにしてみました。 ちなみに全くスピードは追求しておりません。 Sub 入庫() Dim l As Long 'コースの列場所 Dim d As Long '段積み数 Dim s As Long 'シートを確定するための変数 Dim k As Long, c As Long, j As Long, t As Long, n As Long '計算のための変数 Dim data As Variant Dim ws As Worksheet data = Sheets("Sheet1").Range("a1:g" & Range("a1000").End(xlUp).Row) For j = 2 To UBound(data) 'シート1の行分だけ繰り返す s = (Int(Val(data(j, 7) - 1) / 10) + 1) * 10 Set ws = Sheets(CStr(s - 9) & "-" & CStr(s))  ’新しい約束事でのシート名。存在しないとエラーに l = ((Val(data(j, 7)) - 1) Mod 10) * 5 + 2 Select Case data(j, 5) Case "中" d = 3 Case "小" 'パレット種による場合わけ d = 5 End Select c = data(j, 6) 'ループで書き込むたびにパレット数を減らす k = 2 '書き始めの行位置 Do If ws.Cells(k, l).Value = "" Then '記入があるか確認して t = d If c < d Then t = c 'tはコピペする行数 For n = 1 To 4 ws.Range(ws.Cells(k, l + n - 1), ws.Cells(k + t - 1, l + n -1)) = data(j, n) Next c = c - d '残りのパレット数 End If If c <= 0 Then Exit Do 'パレット残数が0になったらループを抜ける k = k + 6 if k>91 then '91行目を超えると次のコースの頭に移る k=2 l=l+5 end if Loop Next End Sub

acter_k
質問者

お礼

動きました! ありがとうございました。 解決というわけではありませんが、参考にさせていただいて、もっと深めていこうと思います。 なんとか、仕事が軽減できればいいのですが・・・ ありがとうございました。

関連するQ&A

  • エクセルで2種類に該当する集計をとりたい!

    このサイトでは、いつもお世話になっています。 商品の入庫管理一覧表を作っています。 sheet1に入庫の入力画面として 1 A    B   C    D 2 日付   倉庫  品名   数量 3 1/2  東京  ○○○  300 4 1/15 大阪  **** 400 5 1/30 大阪  △△△  140 6 1/30 福岡  ###  250 7 1/31 東京  ◎◎◎  450          ・          ・          ・ と、入力していくとします(入力件数は1000を超えるかもしれません) そこで別Sheet2に入庫の照合画面として 『倉庫別かつ、品名別』の合計数量を「SUMIF関数」を使って横長の一覧表を作成しようと思っています。(他に方法が思いつかないので・・・) 「SUMIF関数」で『倉庫別かつ、品名別』の数式の作成が今ひとつ分かりません。 Sheet1の入力ものも後で入力があっているかどうか確認したい(フィルタをかけて、日別・倉庫別・品名別など)ので入力画面のSheet1の内容が別シートにコピーされても構いません。(マクロとかなのかな?分からないけれど・・・) 最初はSheet1の上記のように入力されたものはまったく同じように、倉庫別にSheet1の列に並ぶように『=A3,=A4・・・』などとし、そこからsheet2に品名別に「SUMIF関数」を作りました。 しかし、Sheet1が倉庫が10種類近くもある為、確認するときなどカーソルをたくさん移動させなくてはいけなく、見た目にもワークシートがきれいで無いので、もっとすっきりさせたいのです。 説明をどうしていいのか上手く分かりませんが、どうにかスッキリ出来ませんか? お願いします。

  • VBAで倉庫管理をしたいのですが……

    シート1に次のようなランダムな入力を行って、 それを倉庫に模したシート2に表示したいと思っています。 (下図参照) 色々な人のアドバイスを受けて、関数で表示することはできました。 シート2のセルに入力した関数 =IF(COUNTIF(入力帳票!$H$1:INDIRECT("入力帳票!F"&IF($M$1<MIN(入力帳票!$A:$A),1,MATCH($M$1,入力帳票!$A:$A,1))),ADDRESS(ROW(),COLUMN(),4)&"*")=0,"",INDEX(入力帳票!$B:$B,MATCH(ADDRESS(ROW(),COLUMN(),4)&"*",入力帳票!$F:$F,0))) 今度は、シート1で指定した範囲に、色をつけたいと思います。 そこで、以下のように書いてみましたがエラーになります。 どう修正すればいいのでしょうか? よろしくお願いします。 Sheet2をアクティブにして Sub 品番色分け() For n = 2 To 1000 Range("WorksheetFunction.INDIRECT(Sheet1!H & Format(n))").Select If Worksheet("Sheet1").Cells(n, 2).varue Lilke "*A" or "*H"Then Selection.Interior .ColorIndex = 19 .Pattern = xlSolid .PatternColorIndex = xlAutomatic ElseIf Worksheet("Sheet1").Cells(n, 2).varue Lilke "*B" Then Selection.Interior .ColorIndex = 40 .Pattern = xlSolid .PatternColorIndex = xlAutomatic ElseIf Worksheet("Sheet1").Cells(n, 2).varue Lilke "*F" Then Selection.Interior .ColorIndex = 38 .Pattern = xlSolid .PatternColorIndex = xlAutomatic ElseIf Worksheet("Sheet1").Cells(n, 2).varue Lilke "*C" Then Selection.Interior .ColorIndex = 35 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End If Next End Sub 最近VBAやら関数やらの本を読み始めたばかりで、混乱しています。 よろしくお願いします。

  • 在庫管理と賞味期限管理

     現在、私は食品を取り扱う倉庫で勤務しています。今まで、在庫商品の入庫と出庫と残りの在庫数をエクセルで管理していましたが、このたび賞味期限のいつの分が本日入庫して、いつの分が出庫したのか分かるようにするように言われました。  とりあえずの間に合わせでアクセスの大変使い勝手の悪いプログラムをもらったのですが、たった10アイテムの商品を10日分入力するだけで大変な労力を費やしてしましまいました。  本日の入庫数量と賞味期限を入力して、その後各商品の出荷数量を入力するだけで賞味期限の古い順に在庫が落ちて、なおかつ「今現在賞味期限何月何日が何ケースあります」というのが確認できる用にしたいのですが、どうしたらいいでしょうか。(市販品のソフトで代用できるのでしたらご紹介お願いいたします)  なお、納品先は各所ありますが商品ごとの総出荷数は分かっています。

  • アクセスでの在庫管理(在庫期間が知りたい)

    アクセスを使って商品の在庫管理を行おうと試行錯誤しています。 1.入庫テーブル(商品名、入庫日、入庫数)に入力。 2.出庫テーブル(商品名、出庫日、出庫数)に入力。  これらから、商品と入庫日をロット単位とし、このように在庫を計算しています。  入庫の合計―出庫の合計=在庫 ここからネックになっているのが、在庫期間をどうあらわすかと言う点です。  通常、今日までの在庫期間は   在庫期間=今日―入庫日  によって表しています。  ここまでは出来ていますが、さらに一歩進めて  日にちを毎回指定し   指定日からの在庫期間=指定日―入庫日  のような感じで在庫期間を表示させたいのですが どのようにクエリを作ったらよいのでしょうか? このようなフローで良いのか、 参考HP等ありましたらアドバイス頂けませんか?

  • 入庫状況を把握したいのですが・・・(エクセル)

    商品が10品目あり引き取り先倉庫が2種類あり、管理したいのが (1)入庫予定数量(2種類倉庫分合算) (2)入庫済数量(〃) (3)未入庫数量(〃) (4)入庫数量(〃) (5)入庫日 (6)(1)(2)(3)(4)のそれぞれの倉庫分 以上4社分(4sheet)を管理したい(エクセル)のですが、ピポットテーブルを使用しても構わないのであまり見にくくない作り方はありますか?(多分横長になると思うので・・・)仕事で依頼されて困っています。

  • 職場(倉庫)での些細な悩みなのですが・・・

    私は今、倉庫でフォークリフトを使ったアルバイトをしているのですが、その職場に今年の四月入社の社員が入ってきて、それまでは普通に行われていた事に文句を付けるのです。たとえば、今まで4段で重ねていた物を3段でつけなくてはいけないとか、2段済み走行をしてはいけない等です。それは、会社で正式に決まった事ではなく、彼の個人的な意見なのですが、業務命令のような顔をしてアルバイトにだけ言うのです。確かに言っている事は正論なのですが、そんな事をしていては、商品の置き場所が無くなっったり、やたらに時間がかかったりと、何も良い事は無いのです。細かいところでは、腕まくりをしてはいけないとか、パレットに商品を積んでいて熱くなると一時上着を脱いで仕事をしたりする事にも上着を着ろとか、一々重箱の隅をつつく事を言って来ます。本人(その社員)は今まで倉庫では働いた事もなく、フォークにも乗れ無いし、免許を取ろうとか、練習をしようと言う気も無く、私達がなぜその様な行為をするのかも分かっていません。その社員は入社3ヶ月までが研修期間で、その間に何らかの成果を出し、査定を良くしようとしている様で、その間に事故・破損が減ったと言う結果を出す目的がある様です。こういう場合、その上司に何と言えばいいのでしょうか、まさか「一々重箱の隅をつつくような事を言うんじゃね=!」とか「だったらお前やってみろよ」とか言うわけにも行かず・・・でも言いたい事はそういう事なのです。

  • エクセルの在庫管理からレポート作成について

    こんにちは もしお時間があるようでしたら教えてただきたいです。内容は、会社での在庫管理から提出用書類作成までについてです。  エクセルで入力用フォームを作り、1列めに受付日付、2列目に商品名をいれ、その後にLOTや数値、文字などを何項目か入力しています。その結果を、それぞれの商品名に合わせた提出書類(それぞれの品物によって違う、指定された型の書類なのです。)に入力し、書類を作成しています。  そこで、できれば書類を作成したい行を1行選択して、マクロを実行するとすぐにLOTや数値、文字が入力されそれぞれの品物にあった提出書類が完成できるようにしたいのです。  私はパソコンに詳しくないため、現在は入力用とは別のシート「シートB」に、商品名ごとのマクロを1つづつ作っておき、入力用フォームから、書類を作成したい商品の行を1行コピーして「シートB」の商品ごとの入力欄に貼り付け、それぞれの商品名ごとのマクロ実行。で対応しています。。。このままでは入力用フォームを見て書類作成するよりは多少楽かな?なくらいです。良い改善方法をご存知でしたらぜひ教えていただきたいです。よろしくお願いします。

  • エクセルの在庫管理からレポート作成について

     こんにちは もしお時間があるようでしたら教えてただきたいです。内容は、会社での在庫管理から提出用書類作成までについてです。  エクセルで入力用フォームを作り、1列めに受付日付、2列目に商品名をいれ、その後にLOTや数値、文字などを何項目か入力しています。その結果を、それぞれの商品名に合わせた提出書類(それぞれの品物によって違う、指定された型の書類なのです。)に入力し、書類を作成しています。  そこで、できれば書類を作成したい行を1行選択して、マクロを実行するとすぐにLOTや数値、文字が入力されそれぞれの品物にあった提出書類が完成できるようにしたいのです。  私はパソコンに詳しくないため、現在は入力用とは別のシート「シートB」に、商品名ごとのマクロを1つづつ作っておき、入力用フォームから、書類を作成したい商品の行を1行コピーして「シートB」の商品ごとの入力欄に貼り付け、それぞれの商品名ごとのマクロ実行。で対応しています。。。このままでは入力用フォームを見て書類作成するよりは多少楽かな?なくらいです。良い改善方法をご存知でしたらぜひ教えていただきたいです。よろしくお願いします。

  • エクセルで入出庫数管理表

    倉庫で働いている者です。毎日メーカーから送ってもらうデータをプリントアウトして、商品をピッキングする作業しています。 ただ、在庫管理に関しては紙に書いて管理しているので、消しゴムでの紙がふやけ、手間です。 そこでエクセルで管理できる方法を教えてください。もしくは、どの本で勉強するのか知りたいです メーカーからは、A列に商品名 B列に出荷数 が記入されたデーターがきます。 自分としては、Sheet1に倉庫の現在庫数。A列に商品名 B列に現在庫数(これは自分で作成する) Sheet2に送られたデーターを張り付けると、Sheet1の現在庫数が自動で計算され引き算される 説明下手で申し訳ないです。 そんなことは可能でしょうか??

  • vba 作成

    博学の方ご教授願います。 office2007のVBAで下記の様なものを作りたいのでお願いします。 SHEET1 A列に管理番号 C列にお客様名 D列に通し番号 H列に入庫日 が入ったシート があり在庫に一つづつ入庫シートを張り付けています。 今は一枚ずつ手で書いてますがそれを自動で出せるようにしたいのです。 SHEET2にその入庫シートを作りA列C列D列H列を1から順番にSHEET2の入庫シート に入れた上プリントアウト出来るものを作成したいです。 希望はSHEET2のC1にSHEET1のH列の入庫日を SHEET2のE2にSHEET1のD列の通し番号 SHEET2のE3にSHEET1のC列のお客様名 SHEET2のL1にSHEET1のA列の管理番号 を 1から順番に自動入力した上プリントアウト出来ればありがたいです。