1. クラウドソーシングTOP
  2. みんなのお仕事相談所
  3. Excel (マクロ) の簡単なプログラムです
みんなのお仕事相談所

「みんなのお仕事相談所」では、ユーザーさまのご依頼の相場や製作期間、
契約書やお金に関する悩みを気軽に相談できるQ&Aコミュニティです。
違反案件についてはよくある質問の「【共通】違反のお仕事とは」をご覧ください。
また、違反報告についてはよくある質問の「【共通】違反報告とは」をご確認ください。

発注者からの相談
データ入力の見積もり・相場に関する相談

Excel (マクロ) の簡単なプログラムです

回答
受付中
回答数
11
閲覧回数
18764

業務で使用している検査表 (Excel) の作成に大変手間がかかって困っています。

内容は所定の書式に品番・数量・伝票番号・検査結果を入れるだけなのですが、数十~数百枚を作成せねばならず、ファイルやシートをコピーしてその後手動で一枚一枚入力するのでとても時間がかかります。

入力フォームのようなものからファイルやシートを一気に自動生成できるようなプログラムを組める方、お願いできませんでしょうか?

現状はこのような感じです。

1ファイル内に複数(最大10程度)シートがあり、シート名が日付(納品日)になっています。それぞれに品番・数量・伝票番号(2種類)・検査結果を入力します。品番と検査結果は全シート共通、数量と伝票番号はシートによって異なります。このファイルを品番毎に20や30ファイル、つまり数百シート作らねばなりません。

品番・数量・伝票番号・納品日の一覧を入力すればファイルとシートを自動生成、そして検査結果を1シートに入れると他の全シートに反映・・・

と、いったことができればよいです。

私は自分ではプログラムは書けませんが、おそらく非常に簡単なロジックかと思います。

どのぐらいの費用でご対応いただけそうでしょうか?

2013年11月29日 19:23
(退会済み)
(退会済み)さんからの回答

初めて回答差し上げます。

品番等の一覧表がエクセルで作成されており、一行ずつに対応したファイルを作成し、
所定のフォルダに保存する、という作業でしょうか?

雛形ファイルをコピーする前提で
デスクトップで完結するのでしたら
30~50行程度のマクロで
2時間あれば充分かとおもわれます。

10000円なら、応募者殺到とお察しいたします。

2013年11月29日 19:50
(退会済み)
(退会済み)さんからの回答

再度の投稿をお許し下さい。

検査出荷表作成業務と拝察いたします。
sadtoast様がご作成になられたExcelファイルに、後工程の方が電子入力する工程がおありでしょうか?

後工程がなく、プリントアウトして終了であれば、
Excelによる出荷検査表作成ではなく、Access か Filemaker による作成を強くお勧めいたします。

○ブックやシートを複数作る必要がなく、一つのデータベースファイルで万単位の伝票データを管理できます。
○品番・数量・伝票番号・検査結は、一度の入力ですみ、マクロの実行のような追加操作も不要です。

後工程でデータの記入がある場合は、後工程の方の分も、
データベースソフトの購入が必要になりますが、見合った効率化が得られると思われます。

どちらのデータベースソフトを利用しても、煩雑な内容ではありませんので、
仕様打ち合わせ含めて5-6万円で対応できます。

2013年11月29日 21:22
相談者コメント

そうですね、一覧表はあります。もしくはそれ専用に一覧を作るのは全く手間ではありません。入力フォームのようなものができれば尚良ですが、そこまでは求めません。

イメージとしては、その一覧表の中に「ファイル生成」のようなボタンがあって、それを押せば一覧表の情報を雛形に入力したファイルが任意の場所に生成される・・・という感じです。

品番毎にファイルを生成し、そのファイルの中には日付(納品日)毎にシートを生成、シートにはその納品日に応じた伝票番号が記載されている、それで一枚のシートに検査結果を入力すれば他のシートにも同じように入力される。

できれば10,000円以内だととても有難いですけどね^^;

2013年11月29日 21:24
(退会済み)
(退会済み)さんからの回答

早速のお返事ありがとうございます。
ご予算の関係からExcelのみで完結するソリューションをご希望とのこと、了解致しました。

「伝票の雛形シート」「一覧表のフォーマット」を持った 「マクロファイル」にVBAを書き込みます。

「マクロファイル」VBAの内容は
1、ファイル生成ボタンをおすと、
2、作成したファイルを保存する場所をダイアログボックスで指定する
3、一覧表に入力された件数分のファイルを作成(この時シートはデータ入力用表紙一枚だけが作成されています)

作成された「品番別のファイル」には
4、データ入力用シートに 伝票作成ボタン があります。
5、伝票作成ボタンを押すと、その日の日付、伝票番号が入った伝票シートが挿入されます
6、検査結果入力は一枚目のシートに記入します。検査結果入力欄は、セル参照にしますので、入力と同時にほかのシートに反映されます。


以上の仕様で、よろしいでしょうか?
本業が立て込んでおりますで、納期が12月末で宜しければ、9000円でいかがでしょうか?

お急ぎでしたら、以上の仕様でしたら、すぐに他の方がお受け下さると思います。

2013年11月29日 22:26
相談者コメント

ご回答有難うございます。

Excelのご提案は概ね当方のイメージに近いのですが、実はデータベース化にも惹かれています・・・

予算が1万以内と申しましたのは、今回自腹で考えていたのが理由ですが、DB化して5~6万円なら会社に出してもらえそうです。

ただ、Access はそれと別途のライセンス費用が高すぎるのでちょっと難しいですかね・・・Filemakerというのは初めて聞きましたので調べてみます。

なお、検査表を作成した後、別の人間に検査結果を入力~印刷してもらうプロセスはあります。後工程がある場合、DB化するのは難しいということでしょうか?

2013年11月30日 14:29
(退会済み)
(退会済み)さんからの回答

>後工程がある場合、DB化するのは難しいということでしょうか?

後工程がある場合、尚更、DB化をお勧めします。

ただ、使用する人数分ライセンスが必要になるので、費用的に厳しいのでは?と拝察いたします。

DBをweb経由で閲覧し、データを入力する方式なら、ライセンスは一つでよいですが、
サーバー導入で100万単位の出費になります。

もし、後工程が タブレットの iPad で入力、印刷が可能な内容、環境が整っていれば、
ファイルメーカーのライセンス1つ(2万程度)でデータベースを運用することができます。

sadtoast様にとって、良い解決策が得られますように。ひと月ほどで手が空きますので、
ご縁がありましたら、お手伝いさせて頂けると光栄です。

2013年11月30日 20:26
谷池 泰典さんからの回答

DB のソフトに、OSS (オープン・ソース・ソフトウェア)のものを利用すれば、ラインセンス費用不要で対応可能です。 スタンドアロンであれば SQLite、サーバのサービスとして動かすのであれば、MySQL か PostgreSQL というのが利用できます。Windows でも稼動しますし、ODBC のドライバーも揃っているので SQLServer や Oracle を使うのと同様の DB を作成できます。Windows 環境でも、データベース化する方法は何種類かあります。Access、Filemaker といったブランドに拘らず、検討されるのがどうかと思います。

検査結果の入力〜印刷というプロセスを稼動させる環境構築のほうに費用(初期構築、運用、メンテナンス)が必要かと思います。例えば、Webアプリ化を考慮されているようですので、サーバを用意する必要があるのかなとは思います。

設計から運用まで含めて、相談いただければ納得できる回答を用意する自信はございますので、宜くお願いいたします。

2013年12月01日 11:39
inomataさんからの回答

初めまして、inomataと申します。

Accessを使用して、DB化を図ったシステムを開発することが可能です。

MicrosoftよりリリースされているAccess2010 Runtime版(無償)を
インストールして頂ければ、動作致します。ライセンス等の費用は
かかりません。
http://www.microsoft.com/ja-jp/download/details.aspx?id=10910

複数のユーザーが同時に作業が可能なLAN対応のシステムです。
Runtime版での開発実績もございます。

また、伝票については、これまで使用しているExcelファイルの雛形に
データをダウンロードして作成することも可能です。
DBはAccess、伝票はExcelといった、AccessとExcelの連携システムになります。

6万円でお引受け致します。
ご検討の程、宜しくお願い致します。

2013年12月01日 14:08
actg.mkoikeさんからの回答

ご提案 (アドバイス)

既に提案された回答として、EXCELで作成する案とACCESS/FILEMAKERで作成する案が有りましたが、どちらを採用するにせよ
1) 新規入力、登録済みデータの変更ができる 入力フォーム
2) 入力されたデータの保存は一つにする 
3) 上記1、2案を採用したら
   システムがシンプルになる
   集計、分析・問題発見、グラフ化 等々が便利になる
* その結果、状況の変化、管理の変更を必要とした時のプログラム修正がユーザーでも簡単にできるようになる
以上の考え方もご検討されて、発注先をお考えになったら良いと思います。

ちなみに私は上記考え方
 ほとんどのお客様のご要望に対しEXCELで対応しています。
 ACCESSは、  ニーズ変更時プログラム変更がユーザーでは困難であること、
           日付など項目属性がEXCELに比べ厳しい為、運用がきつくなること
           バージョンアップ時、プログラム修正の必要が出る場合が有る

2013年12月02日 11:55
(退会済み)
(退会済み)さんからの回答

Excelも立派なデータベースですよ。
Excelでも入力フォームは作成出来ます。

例えば、
1.メインとなるファイルを開くと入力用のフォームが表示される。
  そのファイルはマスタを兼ねている。(品番一覧など)
2.入力用フォームで品番・数量・伝票番号・納品日を入力する。(直接入力や選択)
3.入力完了ボタンを押す。
4.該当の品番のファイルがなければ、新規作成される。
  該当の品番のファイルがあれば、ファイルにシート(納品日)が追記される。

次工程のためにファイルが作成される場所は決めておく。

これだけで、質問者様の当初の目的は達成されると思います。

後々、過去に入力した検査結果のデータを見たい、確認したいなど、違ったニーズがあれば、
ファイル毎・シート毎に作成するデータをまとめた、一覧形式のシートも作るようにしたり、
大量のExcelファイルからデータを集めるということも出来ます。

その辺りは、必要になったら検討でも良いのではないでしょうか?

2013年12月02日 15:09
ぴけさんからの回答

sfbitさんと同意見んです。

Excelを外部のプログラムからDBのように参照することも出来ますし、
一旦Excelで作成したものをDBへ吸い上げることもできます。

どの程度の規模(データ数・利用人数)を想定しているかにより、システム構成は変わってくると思います。
各個人で利用するならば、Excelのみで作成されても十分であないでしょうか?
Excelのみならば、5,000~10,000円で大丈夫だと思います。

差し出がましい意見ですが、
自腹でも会社支払でも、お金を使うことに変わりはないので、
利用規模と将来の展望により、決定されれば良いと思います。

2013年12月02日 21:53
相談者コメント

たくさんのご意見、有難うございます!

この数日、例によってExcelの作業に忙しく、メール読めずにおりました・・・

非常に迷うところです。一応、個人的には前職がMySQLを買収した会社ですので(ただし技術者ではありません)DB「らしきもの」は分かっているつもりです。あと、社内にWEBサーバーを自分で立てて、Wordpressで社内サイトの運営をしてる程度の知識(というほどでもないですが)はあります。

仕事も多少落ち着いたので、数日考えて依頼を出したいと思います。少なくとも今のままでは無駄に忙しすぎるので^^;

依頼はどのように出せばよいのでしょうか・・・実は今回初めての投稿ですので、もう少しサイトを読んでみます。

とりあえずはExcelでもよいかな~と思っているのが現状です。

2013年12月04日 01:17
谷池 泰典さんからの回答

とりあえず5,000円くらいで excel で対応し、その後じっくりと考えて対会社とどう相談するか考える時間を確保しておくというのが現実的かなと思いました。
とりあえずの 5,000円というのも、請求書をもらっておくようにすればシステム構築の事前調査等ということで後日取り戻すことができるかと思います。
今でしたら、時間確保できますので、お気楽にお声を掛けてくださればと思います。
Twitter や Facebook、Google+ も、ytaniike というアカウントでやっております。
では。

2013年12月07日 11:25
actg.mkoikeさんからの回答

まだご検討中とのことですので、小生の提案の整理をさせて頂きます。

ご要望

1ファイル内に複数(最大10程度)シートがあり、シート名が日付(納品日)になっています。それぞれに品番・数量・伝票番号(2種類)・検査結果を入力します。品番と検査結果は全シート共通、数量と伝票番号はシートによって異なります。このファイルを品番毎に20や30ファイル、つまり数百シート作らねばなりません。

品番・数量・伝票番号・納品日の一覧を入力すればファイルとシートを自動生成、そして検査結果を1シートに入れると他の全シートに反映・・・

EXCELでの提案
(1) 一つのファイル内の1つのシートに全てのデータを蓄積する ( すなわち、品番毎に分けない方法です )
  品番/納品日/数量/伝票番号-1/伝票番号-2/検査結果/
(2) (1)の入力フォームからデータを入力すると、(1)のEXCEL-DBに自動追加登録
登録ミスもあり得るので、検索・変更機能も作成
(3) (1)のしEXCEL-DBから、ピボットテーブルなどを利用して
   必要な品番の抽出表示、品番毎の検査結果の時系列表示、同 分析 及び グラフ化

以上をマクロ化する方法をご提案します

2014年01月07日 11:08
不安や疑問に真摯に向き合い改善につとめます クラウドワークス安心安全宣言