• ベストアンサー

マクロ構文作って下さい

こんばんは 大変恐縮ですが 下記のマクロを作っていただけませんか? 僕にはまったく作れませんでした… 作業工程に自動に名前を入力したいのです その際、ある人は出来ない行程がある それを踏まえて頻度が低い順に行程に自動に名前(数字)入力する A B C D E F の六個の工程 1 2 3 4 5 6 の六人 1 2はA Bしか出来ない 5 6はE Fしか出来ない この条件で 一撃で自動に判断して名前(数字)を入力したいです セル位置や シート数はお任せです。

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

  • ベストアンサー
  • CC_T
  • ベストアンサー率47% (1038/2201)
回答No.1

現状では提示条件が曖昧すぎて、まず誰も作成する気にならないかと思います。 シフト表? 工程表? 各工程は何人で作業する(全部一人でいいのか)? 2連続でシフト入っても問題ないのか? など、おそらくまだお気づきで無い希望仕様があるはずで、そこまでフォローもできないしょうし。 ともかく、ご使用のソフト名(Excel95?)とバージョンを添えて、更にどういうものか完成イメージの絵なりを添付される事をお勧めします。 なお本件、Excelマクロの内容のようですが、カテゴリーは [技術者向] コンピューター > プログラミング > Visual Basic なりが適当かと思われます。 ~~~ ・B5セル以下に、上から下に向かって工程記号が記入してある。 ・E5セル以下に、上から下に向かって作業者名が記入してある。 ・F5セル以下に、作業者が担当できる工程記号が文字列で記入してある。 この条件で、 ・マクロ実行のたび、B5セル以下の工程記号に対し、C5セル以下の工程作業者の欄に  順次作業者を割り当てて記入する ・既に作業者が記入されているセルに対しては、工程作業者を変更しない。 ・作業者が未定の工程に対して、その工程作業ができる作業者の内、  それまでの工程で最も出現率が低い作業者を割り当てるものとする。 というような感じでマクロを組みたいのでしょうかね。 このような仕様とすれば、必要に応じて工程の挿入や手動で作業者を入れ替える ということもできるでしょう。どうです、マクロの組み方もなんとなく見えてきませんか? ・作業者名を読み込む ・作業者毎の労働ポイントを設定する  (作業者名を変数にして、数字を入れればよい) ・工程別に作業可能な人をリスト化する。  (工程名の配列を作り、作業者可能な人を登録する) ・C5セル以下、工程作業者を読み込む。 ・工程作業車空欄の場合、B列の工程名を読み込み、該当工程名の配列をあたって  作業可能者をピックアップ。工程名の誤りなど作業可能者がゼロの場合、Msgboxで  その行数を返して終了する。 ・作業可能者同士で労働ポイントを比較し、最もポイントが少ない人を工程作業者と  してC列に記入する。なおポイントが同数の場合、リスト上位の人を優先する。 ・工程作業者に選択された作業者の労働ポイントを+1する。 ・次の行にうつり、工程名が空白になるまで上記を繰り返す。 マクロ内容を手順で分解するとこんな感じですかね。 もっとも、上記の例では出現率の低い作業者を優先するので、もし途中で作業者が 増えた場合、工程作業者の欄を一旦クリアするなどの処置をとる必要があるといった懸念点はあります。

windous95
質問者

お礼

ご指摘ありがとうございます 詳しく書いてまた 投稿しますので 見かけたらアドバイスお願いします。

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

関連するQ&A

  • エクセルのマクロ

    A列にアルファベット、B列からE列まで数字が入力されている表があります。 A1から順に(A1→A2→A3→・・・)、A列の文字を調べてそれが"A"であった場合のみ、同じ行のB列からE列の最大値をF列に、最小値をG列にコピーする(A列の文字が"A"以外の場合は何もせず下の行を調べる)、ということを繰り返し、A列が空白になった時その作業を中止する、というマクロを作りたいのです。 もちろん、一つの表だけならA列で並べ替えをして関数を使えば簡単にできますが、表がたくさんあるので自動化したいと思います。 マクロに関してはまったくの初心者なので、お知恵をお借りできればうれしく思います。

  • エクセルのマクロ 並んだ数字の幾つかを抜き出してその合計を計算させたいのですが・・

    エクセルのマクロ(VBA)について、教えてください。 セルのA1からA2・・・A1000までに「01,03,06,08,20,」のように5つの数字がカンマで区切られて入力されています。 1.この5つの数字をb.c.d.e.f.の1から1000のそれぞれのセルに配置するマクロ 2.この5つの数字の数字の合計をb1から1000のセルに表示させるマクロは難しいでしょうか? MID関数をひとつづつのセルに入れていたのですが、マクロでできれば効率が良いと思い手引書等で考えたのですがよく分からないのです。

  • シート間の行相違検証マクロ

    シート1のB列(B5:B38)に数10名の氏名を入力します。C列からM列までには数字を何個か入力します。例えば  A氏、C5には4、F5には2、M5には3、 B氏、E6には3、G6には4、 C氏、F7には4、H7には8、等です。 シート2の(A3:A36)にはシート1の氏名を入力します。B列からL列までにはシート1で入力した数字に対応した数字を入力します。例えば シート1、A氏、C5の4ではシート2、A氏の行のB列に2000、F5の2ではシート2のA氏の行のE列に1000、M5の3ではシート2のA氏の行のL列に1500、と入力します。ここで、シート2で入力した行が違っていないか。他の人の行に入力していないかの検証マクロの記述方を教えてください。尚、シート1とシート2の氏名の並びが同一の場合と、そうでないときの二通りを教えてください。よろしくお願いします。

  • EXCELマクロで自動改行

    EXCELで、1ページ内で、最後まで書くと自動的に列を折り返すようにマクロを設定したいのですが、完全初心者なので何をどうすればいいのか全く分かりません。明日、職場で使う必要があります。どうか助けて下さい(><) 1ページが60行で、A~Cの列を使って表を作った場合(A:名前、B:年齢、C:生年月日)、数値を入力して、各列の61行目に数値を入力すると、自動的にD~F(D:名前、E:年齢、F:生年月日)の列に折り返して数値が表示されるようにしたいです。大体、3回くらい折り返したいです。記述方法を教えて下さい。

  • Excel(2000)のマクロで下記の様にしたいのですが

    Excel(2000)のマクロで下記の様にしたいのですが A1 2009/5/27 (開始) B1 2009/6/3 (終了) A1からB1の日付を 4の行には月 5の行には日を 順に表示させたいのですがどうしたらいいですか? 5 ........ 6 27 28 29 .... 1 2 3 A4 5月 A5 27 B5 28 C5 29 D5 30 E5 31 F4 6月 F5 1 G5 2 H5 3 の様に。 教えてください。お願いします。

  • マクロを教えてください

    CSVファイルで、     A    B    C    D    E   F 1 444  あああ  123  けけけ 2 555  いいい  456  かかか 3 666  ううう  000        4 山   5 川 上記のようなCSVファイルで3行目のC列には0・D列はブランクです。 そこで3行目でD列がブランクのときは、A列をC列に、B列をD列に持ってきて あいたA列には999B列には@@@を入れたいのです。 そしてもうひとつは、A列をE列にコピーをしてF列はE列の数字以外を持ってきたいのです。 結果は   A      B    C    D   E   F 1 444  あああ  123  けけけ  444 2 555  いいい  456  かかか  555 3 999  @@@  666  ううう  999 4 山                    山 5 川                    川 といった結果のマクロを作りたいです。 どなたか教えてください。よろしくお願いします。

  • エクセルについて

    WinXPのエクセル2000を使っています。 勤務表の休みの数を調べるために下記の表を作りました。 B C D E F G 1班 2班 3班 4班 5班 6班 上記の表でA2に1と入力したら自動でB2に1の数字が、A3に2と入力したら自動でC3に1の数字が、A4に3と入力したら自動でD4に1の数字が、でるようにするには何かよい方法はありませんか?教えて下さい。マクロか関数を使えばできそうなんですが・・・

  • マクロについての質問です。

    現在マクロを作成中で質問させてください。 列数が5の表があるとして、B2に1と入力したら列数が4になり2と入力したら列数が3になりそれ以外の数字なら列数が5のままのようなマクロはあるでしょうか?数字にあまり意味はないです。B2に入力するたび自動実行するような感じにしたいです。よろしくおねがいします。

  • マクロ作成について

    今、時刻表と合致するセルに色を付けてソートするマクロを作っています。 次のようになっています。(停留所が3つの場合)   A  B  C   D   E   F   G   H   I   J   K   L  1 2 a  0  1059 1145 1858 3 b  1  1030 1100 1130 1146 1510 1859 4 c  2  1000 1031 1101 1131 1147 1412 1511 1900 5  A列のa、b、cはそれぞれバス停名です。C2~J4に書いてある数字はそれぞれのバス停の発車時刻になります。 また、B列の数字はバス停名aを起点としてb、cのバス停までの所要時間です。B列に関してはユーザーの方で入力。以上を踏まえまして、今回実装したいことは、 (1)C2から範囲選択をして色を付け、選択した範囲とB列に入力した数字を足して、それと合致したセルに色を付ける。   A  B  C   D   E   F   G   H   I   J   K   L  1 2 a  0  1059 1145 1858 3 b  1  1030 1100 1130 1146 1510 1859 4 c  2  1000 1031 1101 1131 1147 1412 1511 1900 5 これを行うとセルC2~E2とD3、F3、H3、E4、G4、J4には色が付くことになります。 (2)(1)で色の付いたセルのみをソート(色の付いていない部分は後ろのセルへ移動)   A  B  C   D   E   F   G   H   I   J   K   L  1 2 a  0  1059 1145 1858 3 b  1  1100 1146 1859 1030 1130 1859 4 c  2  1101 1147 1900 1000 1031 1131 1412 1511 5  以上になります。これを実装するためのコードを教えては頂けないでしょうか?よろしくお願いいたします。

  • マクロに関する質問!マクロを初めて数日の初心者です。

    マクロに関する質問!マクロを初めて数日の初心者です。 ルーティン業務をなんとかマクロで出来るようにしてみたのですが、、下記2つの作業をどの様にコード(?)で記入すればよいのか分からず、下記のみマニュアルで行うしかない状況です。 実は、昨日もこちらで質問させていただき、皆様からの回答に助けられました。 またお知恵を拝借できればと思います。 質問1.タブ1の、B列及びN列で、下記の条件に該当する行を切り取って、タブ2 の入力がある最終行の次に入力する。 【条件】 B列:_○で終わる もしくは N列:XX、△△と等しい (質問1.とは別の質問です) 質問2.タブ2のB列に順に管理No.が割り振られているのですが、その最後の数字 をチェックし、 タブ1のB列の空欄部分の上から順に、その次の番号から入力する。 【タブ1.イメージ】 A     B いちご 332 りんご 400 みかん 空欄 ぶどう 空欄 タブ1.のB列には、タブ2で既に出てきているものに関しては、数値が入力してあ ります。(A列をキーにV-lookup) ひっぱってこれなかったもに関しては、空欄にするようにしてあります。 空欄は、新規の登録という事になるので、最後の管理No.の次の数字から順に割り振 りを行いたいです。 つまり、タブ1.B列の上から順にタブ2.のB列の一番最後の数字の次の値から自 動で入力する様にしたいです。 (例えば、タブ2.B列の最後の数字が432の場合、上記イメージの空欄に、433, 434と割り振る) 可能でしょうか? よろしくお願いします。

このQ&Aのポイント
  • エアロフォンAE-20のシーンリストを使用して音色を演奏する方法について教えてください。
  • 具体的には、シーンリストのCC1〜CC83にある音色を使用して演奏する手順を教えてください。
  • 例えば、シーンリスト 05: Woodwinds No.01 Soprano SaxでCC82のsubtoneの音色を演奏する方法を教えてください。
回答を見る

専門家に質問してみよう