• 締切済み

VBを使って業務管理システムを作るには?

お世話になります。製造業勤務の25歳です。すぐにではないが追々 VBを使って製造業務管理システムを作ってほしいと頼まれました。 単にExcelで表を作り、マクロボタンを作ってマクロ機能を持たせて 数値を入力できればいいというものでした。 他のファイルの参照や呼出し、数値の読み込みなどもできるといいようです。 VBに関しては知識がないのですが、どこから情報を得ればいいでしょうか。 ネットから拾うだけで十分でしょうか?書籍の購入が必要でしょうか? 詳しい方、ご教示お願い申し上げます。

みんなの回答

回答No.6

発想が、全く逆だと思います。 ExcelでVBなんて、何年前の発想でしょうか? (少なくとも10年くらい上司は設計もしていないのでは?) 同じデータ量でもExcelでは容量が大きくなってしまい、レスポンスも悪く、Excelの知識が無いと操作もできません。 そのために、データベース化し誰でも使いやすいように画面、帳票類を設計・実用化したものがAccessの利点です。 上手にAccessのデータベース(キー項目)を設計すれば、とても重宝します。 (入りたてのバイトさんでも使いこなせるような、画面インタフェース(裏ではDBインタフェース)さえ作ればOKだと思いますが) 昔の知識人の意見は参考程度に聞き、自分から提案する能力が必要かと思われます。 表計算のExcel、データベースのAccess。 結果的に何をしたいのか?によって使い分ける必要があります。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

VBAといわず、VBといっているようでは、ほとんどプログラム(スクリプト)を勉強して無いようだと、私は思うことにしている。。 >頼まれました。 頼んだのは、システムやプログラムに詳しい先輩ですか。または、個人経営の事業者(社長・部長など)ですか。 前者なら、先輩に教えてもらって、手ほどきを受けて、こういう方面に強くなれるかも。 こういう分野が好きなら、乗る機会かもしれない。 しかし、後者なら必要なことを(専従として担当任命や仕事時間を質問者に明確に割り当てず、他の社員に告げず、経費を保証せず)明確にせず、安上がりにできればよいと思っているパターンでは、引き受けても質問者は苦労すると思う。(質問者がコンピュターや情報機器が好きとかの素振りを見せたとか、若いとか、工業高校などで、理系に近い出身だなどの理由で、声をかけたのかもしれない。中には座談の話のはずみで、そう言った(一種の部下へのおべんちゃら)などのケースも小生は経験したことがある。言った人は本気かどうか考えるとか、経費部門の部長に相談してみるのも良かろう。VBAの講習にも行かせてもらえないや、書籍の購入も自腹ということであれば、よく考えること。特に片手間でやれ、は苦しい。 うまく行かない、使い勝手が悪いとなれば、使われない場合がある。むなしいよ。 やるならまずやることは、社員や顧客の聞き取り調査だよ。しかし心理テストではないので システムに絡んだ必要な質問をしないとダメだから、経験が要るよ。 >製造業務管理システムを作・・ こういう大雑把な、かつ、各社で大幅に内容が異なる恐れのあることをサラッと言って、無料のコーナーへ質問するタイプの人は、一般的に向いているとは言えないと思う。 またシステム設計には、利用者や、顧客の使い勝手に関する洞察や経験が必要で、 それがないと、ろくなものができない。 プログラムコード(スクリプト)よりも、やる内容を文章・箇条書きにして、データの関連を図示する図や文章で表現することが、まずやるべきことではないか。 利用者の立場に立って、どういう内容にすべきか(表示並び順1つをとっても)経験や考えるべきことあるよ。 各作業単位で、どういうことができればよいか図示できないようでは、現状は、質問者はこの課題に向いていないといえる。 大きく分けて (1)データの受付、入力 (2)加工 (3)関連・索引 (4)検索・加工 (5)アウトプット(画面やペ-パーに) (6)必要時期に間に合うか、データのメンテナンス(毎日日付をセットする必要)、データがそろうか、部署から部署への伝達はどうするか などに分けて、文章で整理できるか? 他の人の仕事も変革を迫られる場合が多いが、抵抗も強いものだ。社長などが本気でやる気でないと、行き詰まるよ。 これらを見ると、アクセスの勉強(VBAは当面使わない)したほうがより近い・適切かと思ったりする。 がどうだろう。 >どこから情報を得ればいいでしょうか 書籍・WEB照会など。 身近の人から聞けるのが一番よい。 >書籍の購入が必要でしょうか 当たり前だよ。身近の人で、聞ける人がいない、講習も行かせてもらえないなら、WEBか書籍しかない。体系的に知識を整理する・位置づけるには書籍だろう。 >詳しい方、ご教示お願い申し上げます。 質問では、コードの詳しい点を聞いていないじゃないか。コード作成のピンポイントの質問ならこのコーナーなど適していると思う。市販の書籍には書いてない場合がほとんど。 業務のことも、量も特殊性も、何も言わずに、詳しい人というのはどういうこと?と思う。

komet115
質問者

お礼

大変ありがたいお言葉と存じます。 まだ計画段階なのですが、これから 予想されることを具体的に教えていただきありがとうございます。 よく反芻して取り組みたいと思います。

komet115
質問者

補足

説明不足ですみません。 振ったのは同じ会社の上司です。 システムやプログラムに精通している方で、相談はできます。詳細は "Accessで既に作って現在運用中のシステムを基にExcelで作れないか"というものです。全くのゼロからやるわけではありません。 書籍の購入や講習の受講費は経費で落とせます。

回答No.4

 完全な独学・独習のど素人プログラマです。1981~1996年にかけて、UNIXとWindowsの両OSにてC/S(クライアント・サーバー)システムや工場の生産管理システム、各営業店で利用する販売管理システム、全社オンラインシステム等、製図器出力アプリケーション、CAM制御システムなどをたった独りで開発してきました。Excelでは、僅かに税理事務所用の法人税計算システムのみです。ですから、Excelに関しては完全な門外漢に過ぎません。それをお断りした上で、私流の独学・独習を案内しておきます。 【課題は、Excel VBA リファレンスの完全攻略】 https://msdn.microsoft.com/ja-jp/library/office/fp179694.aspx  私の独学・独習スタイルは極めてシンプルです。それは、マイクロソフトが提供している各言語のリファレンスを完全攻略するというやリ方です。家に帰って夕食をとり風呂を浴びるとリファレンスを読んではノートにまとめて必要なテスト課題を見つけ出す。次に、テスト課題のクリアに挑戦。それが済んだら再びリファレンスの読み解き。もちろん、最初は理解の程度も浅く、全体と個の関係も見えてはいません。でも、それはそれとして最後の最後までリファレンスの攻略に挑戦。  このリファレンスの攻略の第一戦目では、私程度の力量の者はもの凄く悲惨な結果に終わります。そこで、私は二戦目、そして三戦目に挑むことになります。三戦目も終盤に差し掛かった頃に、突然に霧が晴れたように言語の全容と細部とが見渡せるようになります。私のような素養なきど素人ですと、そのステージに到達するのに約6ヶ月を要します。  さて、ここまでくれば、後はデータベースアクセ関数群、ファイルアクセス関数群の開発と独自のアプリケーション作法の整理・確立に向けての情報を収集して実際のアプリケーション開発準備に着手します。 >そんなやり方だったら馬鹿でも出来て当たり前。  私は、ど素人は、馬鹿でも出来て当たり前のやリ方にすがるしかないと思っています。 祈、挑戦の成功!

  • Gletscher
  • ベストアンサー率23% (1525/6504)
回答No.3

VBは本を買って読んだりネットで調べながら独学しても良いですが時間がかかりますよ。学校へ行けばもっと速く覚えられると思います。 それより、プログラミングや業務処理の基本を勉強する必要があるのじゃないですか? 趣味のプログラミングなら独学だけで、とにかく動くものを作れば善いですが、業務ソフトは信頼性と操作性と異常処理が重要です。 製造業務管理とは何をするのか分かりませんが、たとえば、手配日、手配物、加工日、作業者、組立ライン、組立者、組立日、検査日、検査者、検査結果、不具合内容と原因などを追記しながら製造物と一緒に流す伝票(トヨタ生産方式のカンバンみたいなもの)の内容を蓄積して、ラインや作業者毎の集計をしたり、月や年単で統計をとったり、不具合の傾向分析をしたり、出荷後不具合が発生した時の追跡調査などに使うものが一般的と思います。 そのためには、蓄積したデーターをどのように使うかによって蓄積の方法や項目設計が変わってきます。データーベース設計ですね。 また、蓄積データーはマスターファイルに入れ、入力データーや出力はマスターデーターを直接触るのではなく、マスター・トランザクション処理で行うのが誤動作や誤操作によるマスターデーターの破壊を防ぐ一般的な方法ですが、それらの業務管理システムの基本を勉強するべきと考えます。

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.2

VBAの基礎知識は書籍を購入された方が良いかもしれませんね。 サンプルコードはネット上にいくらでもありますので参考にするコード取得には困らないと思います。 下記のような基礎的なサイトでも覚えるられなくは無いとは思います。書籍とサイトの見比べて理解しやすい方で勉強されたら良いかと思います。 http://excelvba.pc-users.net/ コード作成にエラーはつきものです、必ずデバッグ方法を覚えましょう。 ワークシート関数を使用する方が速度が早い場合もありますので、エクセルの関数も覚える事が大事です。

  • f272
  • ベストアンサー率46% (8010/17118)
回答No.1

書籍の購入したところで,書いてあることはネットと変わりませんよ。

関連するQ&A

  • あるソフトによって簡単にエクセルの業務システムを作れますか。

      普段にVBAでエクセルの業務システムを開発しますが、うちの会社ではVBAができる人間がいません。   VBAではなく、ソフトで簡単にエクセルの業務システムを作れますか?   ソフトに希望している機能はいかです。   1 簡単に入力機能を作成   2 帳表を作成   3 権限管理機能      

  • 業務知識をどうやってみにつければいいですか

    新卒で入社してレンタルシステムをプログラミングするのですが 業務知識がなく仕事ができません 業務知識をみにつけるいい方法を教えてください ちなみに仕様書とかは忙しくてないらしいです。 簿記とかの勉強ってレンタルシステムに必要ですか? 参考になる書籍やサイトもあれば教えてください

  • VB2008でEXCELのセルデータが読めません

    VB2008でEXCELを開き、セルの内容を読み込もうとしましたが読み込めません。 EXCELのオープンとセルの読み込みは下記により行いました。 Dim strExcelFile As String 'エクセルファイル Dim xlApp As Excel.Application       Dim strExcelData As String xlApp = CreateObject("Excel.Application") xlApp.Workbooks.Open(Filename:=strExcelFile) xlApp.Visible = True 'EXCELは表示されている strExcelData = xlApp.Cells(3,4).ToString EXCELの3列4行には数値が入っていますが、strExcelDataには"System._ ComObject"というデータが読み込まれています。 ToStringは、これをつけないとデータの型が違うとエラーになります。 EXCELのデータは文字型と思っていましたがこれも判りません。 VBの参照で「Microsoft Excel9.0Object Library」をクリックしてOKしていますが、チェックマークなどはつかず、正しく反映されたかについては未確認です。 原因の見当が皆目つかず困っています。 誤って「ディジタルライフ」-「その他」に同じ内容で投稿しています。

  • VB6アプリケーションからExcel2003のマクロ起動

    VB6にてシステム構築を行っております。 Excel2000ならばVB6の関数を使って マクロを起動できるのですが、 Excel2003やExcelXPとかでも 同様の関数とロジックと設定で起動することは可能でしょうか? ご教授宜しくお願いします。

  • VB6からEXCELマクロの終了を判断する方法を教えてください。

    VB6からEXCELマクロの終了を判断する方法を教えてください。 VB6とEXCEL(VBAも含む)を使って次のような流れの処理を行うソフトを作っています。 そこでどうしてもEXCELマクロの終了をVB6から判断する必要があり、方法を教えて頂けないでしょうか。 1)VB6でEXCELファイルを起動 2)VB6からセルA1に10,A2に20を代入 3)VB6からEXCELファイル内のマクロをコール 4)マクロはA1+A2の計算を行いA3に代入(30) 5)VB6からA3の値を読み込む (実際にはマクロは複雑な処理をします。) 1)~5)の処理を5000回程度行います。 VB6から送られるデータは毎回変わり、EXCELとマクロで計算させたデータを回収してテキストファイルに書き出します。 一通りのプログラムは完成したのですが、計算したデータを見ると10+20が1.99999とか15.51414とかおかしい結果になっています。 もしかしたらマクロの実行が終わっていない段階でVB6がデータを拾ってしまっている??と考え、マクロの終了をVB6で判断してからデータを回収するようにしたいと思っています。 何か方法はないでしょうか。(または他に間違っているところがあるのでしょうか。) 長文ですみません。よろしくご教示ねがいます。

  • VBからエクセルマクロを実行したい

    VB2008で コマンドボタンを押すと 現在開いているエクセルファイル(test.xls)のマクロ1を実行させることは可能でしょうか? できればコードを教えていただける助かるのですが、、、 よろしくお願いします。

  • エクセルVB 桁数を合わせる

    VB初心者です。 エクセルでマクロを作りたいのですが、下記内容で困っています。 A列に示したドットで区切った数値をB列のようにすべて3桁表記にしたいのですが、 わかりません。誰か教えてください。 A B 1 123.456.33.421 → 123.456.033.421  2 243.555.235.21 → 243.555.235.021 3 221.123.24.53 → 221.123.024.053

  • VB2005 で立ち上がった状態のEXCELファイルからデータ読込みだけしたいのですが

    どなた様かお助けください。VB2005を勉強中の素人です。 既に立ち上げた状態のEXCELファイルから単純に特定セルの数値をVBのラベルに読み取りたいだけなのですが、ネットや書籍にてVBでのEXCEL読込み方法について調べたのですが、どこの情報をみても、EXCELの立ち上げとクローズがセットになっており、既にEXCELファイルを開いた状態からでは2重起動となり、読み込みだけの仕方が分かりません。一応下記でファイルのオープンからのクローズまでができるようですが、[open]のところを取り除くとエラーになってしまいます。 ファイル名とセルだけが私の指定したい条件なのですが、なにか単純な読み取り方法はないでしょうか? というか私がアホすぎるのも原因だとは思いますが、ちょっとEXCEL情報読み込ませたかっただけなのにもう2日も悩んでおり、こんなに難しいとは思いませんでした。VBって初心者向けとかいわれていますけど6.0やら.netやらと情報が分散していて何するにも一苦労ですね。  いろいろ調べて下記のコードで最低限読み込みはできるようになりました。(短いコードが好きなので宣言とかはかなり除去しているからかな?時々表示されるセルデータもおかしくなります) EXCELオブジェクトライブラリの参照は済です。 ファイルのオープンとクローズを除去し最終的には立ち上げっぱなしのEXCELから単純な読込み(のみ)を1秒に1回程度繰り返してラベル表示を随時更新するのが目的です。ご助言お願いします。 Dim xlApp As New Excel.Application Dim xlFilePath As String = "C:\あつし\sample.xls" label1.Text = xlApp.Workbooks.Open(xlFilePath).Worksheets.Item(1).Range("A3").Value() xlApp.Quit()

  • VBを買いたいが…

     コンピュータ関係の仕事をしている訳でもなく、システム管理者等でもないのですが、個人的にVBを買いたいと思っています。  Excelを持っているので、ExcelVBAは多少勉強したのですが、開発ソフトも使ってみたいという欲求が出てきたのです。  ExcelVBAの知識を土台にしようと思っているので、VB6.0とかVB.netのどちらかを買おうかなと考えているのですが、この2つはどのように違うのでしょうか?当サイトの回答などではVB6.0を薦めている人が多いようなのですが。  MSDNを見ても、用語が難しくて理解できません。また、VB.netのことばかりで、VB6.0のことが出ていない(と思う)のですが、VB6.0は現在発売されていないorマイクロソフトのサポートが無くなる、など不都合なことはありませんか?また、VB6.0が買えるとしたらいくらぐらいなのでしょうか?各種HPでVB.netが1~2万円ということは分かったのですが。  VB6.0はExcelVBAの知識が役に立ちそうですが、VB.netもそうなのでしょうか?  いろいろ質問を羅列してしまい、分かりにくくなっていますが、よろしくお願いします。

  • エクセル 同じ数値を赤字

    だれか教えてください!! 数字データが縦横びっしり入力されているエクセル表で、同じ行に同じ数値があった場合、その数値、全部を赤字にするにはどうしたらいいでしょう? または・・・ すでにマクロ登録されているボタンを押すと同じ数値を赤字にできるエクセル表があるのですが、一部を入力し直してもう一度ボタンを押すと赤字にならなくなります。 何回押しても同じ行に同じ数値があったら、同じ数値全部を赤字にするマクロを簡単に編集する方法はありますか? 教えてください。

専門家に質問してみよう