• ベストアンサー

これからVBAを始める初心者ですが、アドバイスをください

お世話になります。 VBAを始めようかと思っております。 動機は、家内につけてもらっている家計簿は家内がいつも面倒くさがるので、VBAを使って効率的な処理が出来ればと思っているからです。 ただ、今までプログラミングを一切やったことはありません。(ネットワーク系の仕事しかしてないです)そこで、プログラミングを始めるための着眼点をいただきたいと思っております。(抽象的な質問で申し訳ございません) 以前にも何度かVBAにトライしようとしたのですが、当時は初心者&近くに教えてくれる人がいなかったということもあり、挫折しました。 最近では、維持でもゼロベースで家計簿を作ろうと思ったのですが、日々の家計簿の入力が優先され、VBAどころではありませんでした。 そこで、最近サイトから家計簿をダウンロードし、それに家計簿をつけ、またそれをサンプルソース(←要は2つの家計簿をDLしました)に勉強を始めました。しかし・・・「どうしてこんな動きになっているの?」ってところでいつもつっかかります。 例えば、(家計簿ですので・・・)いろいろソースがたくさんで、調べているうちに日が暮れる・・・みたいな感じです。 センスが私にないのかもしれないのですが、どうかスルッと身に入る着眼点みたいなものを教えてください。 よろしくお願いいたします。

  • uk0221
  • お礼率59% (124/209)

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

  • ベストアンサー
  • Kate077
  • ベストアンサー率37% (23/62)
回答No.4

プログラムする上で、まずは、何がしたいのかをはっきり決めて下さい。 箇条書きにすると良いでしょう。 1か月分または1週間分をSheet1にする。 縦軸に買ったものの値段。そのとなりのセルを、食費や雑貨の区分。 20行目に合計を出す。 次の行に、区分ごとの合計を出す。 などなど。 いわゆる仕様決め。 これが決まらないと、漠然にプログラムは作れません。 はじめは、合計だけするプログラムでいいと思いますよ。 その上で、VBAのHELPを見て、合計を出すにはどうするか? 区分ごと合計の命令はどうか? 平均を出すには? グラフ化するには? と調べていけばいいと思います。 一応、プログラマーなどと名のっている者より。

参考URL:
http://www.sigoto.co.jp/excel/index.htm
uk0221
質問者

お礼

ありがとうございます。 > 漠然にプログラムは作れません。 > 確かにそうだと思いました。何事も機能を細分化してプログラムに落とし込まねばいけないのですね。 本質的な意見をありがとうございます。 これからもよろしくお願いいたします。

その他の回答 (3)

noname#27115
noname#27115
回答No.3

大村あつしさんの"かんたんシリーズ"がおすすめです。 簡単といっても初心者にはかんたんじゃないですが、 一通りこなすと、大体のことはできます。

参考URL:
http://www.google.co.jp/search?q=%E3%81%8B%E3%82%93%E3%81%9F%E3%82%93+VBA&start=0&hl=ja&lr=lang_ja&ie=utf-8&oe=utf-8&cli
uk0221
質問者

お礼

ご返事が遅くなってしまい、すみません。 さっそく書籍を購入してまいりました。 なので、まずは地道に勉学にいそしみたいと思います。 ありがとうございました。 これからもよろしくお願いいたします。

noname#20378
noname#20378
回答No.2

まず...VBAという話は一先ず置いておきますが、 http://www.algolab.co.jp/~lum/pcnyumon/contents.html を読んでプログラミングってこういうことなんだという実感を得てください。(特にソフトウェア:プログラム編はお勧め!) 実際には第6章「OSがなかったら」で述べられているように0から作ると洒落にならないので既に出来ている部品(関数とか)を利用したりします。 ※VBAだってExcelのセルとかそーいうものをいちいち自分から定義したりしないし つまり.....やることは 1.既に出来ている部品にはどんなものがあるのかを知ること 2.やりたいことは1で挙げた部品をどうやって組み合わせればうまくできるのか考えること です。 (読む場合も「どんな部品を使っているのか」「どの部品をどう組み合わせているのか」を考える)

uk0221
質問者

お礼

ご返事が遅くなってしまい、すみません。 ご紹介いただいたサイトですが、面白くまたわかりやすくてよいですね。 勉強になりました。 これからもよろしくお願いいたします。

回答No.1

わたしも同じことで悩んだ記憶がございます。 どうしてこのソースはこんな動きになるの?とかよく思いました。 わたしは、翔泳社の「10日でおぼえるExcel VBA入門教室」という本で勉強しました。この本を繰り返すうちになんとなく動きが読めるようになり自分なりに書くことができるようになりました。 初心者でもわかりやすい本だと思いますので参考してみてください。

uk0221
質問者

お礼

ご返事が遅くなってしまい、すみません。 さっそく書籍を購入してまいりました。 なので、まずは地道に勉学にいそしみたいと思います。 ありがとうございました。 これからもよろしくお願いいたします。

関連するQ&A

  • VBAで#Regionに変わるものは無いのでしょうか?

    こんにちわ。 最近、ExcelのVBAを使いちょこちょこ自分用の売上管理アプリケーションを作っているのですが、プログラミングの知識が無く、VBAを使うのが初めてなのでわからないことだらけで困っています。 本題の質問なのですが、ソースがとても長くなってしまっていて、とても見にくくどうにかならないものかと調べたら、VB.NETには#Regionでソースまとめ、見やすくできるようでした。 そこでVBAでも#Regionに変わるものが無いかと調べたのですがなかなか見つかりません。 やはり無いのでしょうか? なにかあるのであればぜひ教えていただきたいです。 よろしくお願いします。

  • RubyかVBSでクローラーを作りたい初心者です

    RubyかVBSでクローラーを作ろうと考えています。 c言語とVBは少しやったことあるのとHTMLとCSSが多少分かるぐらいで プログラミングで何かカタチあるモノを作ったことはあまりないです。 いつも途中で挫折してしまいます。 どうやって勉強したらいいのでしょうか? ソースを引っ張ってきてつぎはぎして動かしてみるのがいちばんでしょうか? 自分はの自宅のPCの環境はOSがWindows10、ブラウザがクロームです。 クロームにはAmazonで書籍を検索するとその本が図書館にあるかどうか 登録した図書館にあるかどうか表示してくれる機能があります。 この機能をブックオフオンラインなどのサイトでも作りたいのですが、 やり方がさっぱりわかりません。 とりあえず、 RubyとVBSのWebアプリというかクローラーの書籍に乗っているソース 自分が作りたものとは違うからマネできることはないかと 自分が作成しようとしているプログラミング言語の勉強を進めています。 こういう方向でプログラム言語の勉強とソースを参考にして作るのが一番ですよね? 全く皆目見当もつかないことやrubyだと文法でプログラマー独特の省略したかきかたとかがあって大変ですパニックになってしまいます。 また、正規表現とかも難しくてつらいです。 でもなんとかプログラムを開発して自信をつけたいです よろしくお願いします。

    • ベストアンサー
    • Ruby
  • EXCELメニューのツールにある操作をVBAで行わせたい

    EXCEL 2003のマクロ(VBA)ですが、プログラミングですので、こちらに投稿いたします。 以下の2点をVBAで実行させたく、ネットでくまなく調べているのですが、サンプルソースすら見つけられませんでした。 どなたか、ご存知の方がいらっしゃいましたら、ご教授くださいませ。 よろしくお願い致します。 ------------ ツール⇒オプション⇒セキュリティ⇒□読み取り専用を推奨する のチェックON or OFFさせた後、[OK]を実行したときと同じ操作をさせたい。 ツール⇒ブックの共有⇒□複数のユーザーによる同時編集とブックの統合を許可する のチェックを外した後、 「このファイルの保護を解除してもよろしいですか?」のメッセージを無視し、 [はい]を実行したときと同じ操作をさせたい。

  • MacBook Air でVBAについて

    パソコンを買い換えるタイミングなので、 Win機からMacBook Air にしようと思っていたのですが、 最近、急にエクセルでの仕事が増えてきまして、 初心者ですがVBAでの作業を必須とします。 この仕事が一時的でなく、継続しての仕事となりそうなため、 もともとは画像処理やデザインなどを本業としており、 Macにしたいと考えていたのですが、 Mac+Bootcamp+Excelの情報を検索してみても、 なかなかスッキリする解答に出会えず、こちらで2点質問させていただきます。 (1)MacでVBAというのはやめた方がいいのでしょうか? やめた方がいいのであれば明確な理由を教えてください。 (2)もしかしたらVBAではなく、PHPなどで同じような作業はできるのでしょうか? プログラミングにはまったく詳しくないのですが、 WEBから情報を大量に入手(商品のメタデータや画像リンクなど)し、一覧を作成。 その一覧を様々な用途によって組み替えたり等の加工をします。 これらの一連をエクセルのVBAや関数を使って行っているのですが、 PHPなどでも同じようなことができるのですか?  だとするとMacでPHPが使えれば、こなせる作業という理解でいいでしょうか? 質問がピンぼけでしたら申し訳ありません。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ゲームプログラミングについてのサイト知りません?

    C言語でゲームを作りたいので、ゲームプログラミングが最近興味があります。 しかしどうしたら画像や音声が扱えるのかよくわかりません。 簡単に画像や音声は扱えないのでしょうか? いつもゲーム作るのに挑戦しようとするんですが、説明が難しくて挫折します。 難しそうなサイトはよくみるんですが、 「わかりやすく」ゲームプログラミングについて解説しているサイトありませんか? よろしくお願いします。

  • プログラミングのセンスをあげたい

    C、C#、JAVAを勉強してきたのですが自分のセンスの無さに 愕然としています。授業ではJAVAで電卓を作っているのですが正直1人でできそうではありません。 それ以外にも自分で、仕様書などは作らずにオブジェクト指向言語で作っているのですができません。 最近作って挫折したのは小遣い帳です。 Excelで作ることは出来ると思います。 あと家にSQLサーバーが無いため、配列を用いてファイルに書き込むと言う手段を考えています。 プログラミングのスキルをあげるにはどうすればいいのでしょうか?

    • ベストアンサー
    • Java
  • スクレイピングについて【初心者】

    私はネットショッピングが大好きで、普段からAmazon、楽天、Yahooショッピングなどで買い物しております。 ネットショッピングで買い物するようになって気づいたのですが、サイトが違うと、同じ商品にも関わらず値段が全然違うのですね。(もちろんですが...) 同じ商品の価格を比較してくれる「価格.com」のようなサイトもあるのですが、私が普段買い物するような商品は価格.comに載ってないような商品やサイトもあるため、自分でネットサーフィンしながら、安いサイトで買っています。 その際に、商品が同じであるかどうかは写真だけでは判りません。そこで使っているのが、「JANコード」です。 これは商品ごとに割り当てられた13ケタの数字なので、商品名や写真で同じ商品か分かりにくい場合にも判別することができました。 最近スクレイピングというテクニックの存在を知りました。 もちろん相手のサイトに迷惑がかからないように気を付けないことは承知しております。 岡崎図書館事件の様なことにならないために、スクレイピングするのは一回限りです。 私がやりたいことですが、Lohacoのサイトで商品の一覧から、 (1)商品名(2)値段(3)JANコード(4)URL 以上の4つを抜き出して、エクセルにまとめることは可能でしょうか? また可能の場合は、どのようなプログラミングで出来ますでしょうか。 LOHACOホーム>コスメ・スキンケア・美容>スキンケア・基礎化粧品>化粧水>エイジング化粧水 http://lohaco.jp/g4/55-5501-5501004-55010040002/?resultCount=100&va... 例えば以上のページです。このページにはスキンケア用品が74商品登録してあります。(現時点) 最終的にはExcelのA列に商品名、B列に値段、C列にJANコード、D列にURLを抜き出したいです。 私はこれまでプログラミングを勉強したことがなかったため、かなりハードルが高かったです。 いちを「データを集める技術(佐々木拓郎 著)」と「ExcelVBAでIEを思いのままに操作できるプログラミング術」という本を購入して勉強してみました。 しかしプログラミングの知識が全くないまま進んで行ったために、一か月くらい勉強しましたが、途中で挫折してしまいました。 また、VBAの基本から勉強しないと思い「Excel VBA 本格入門」という本を勉強しましたが、こちらは一通り理解することができました。 既存のスクレイピングツールを色々試したのですが、「Octoparse」というツールがなかなか使いやすかったです。 しかしホームページごとに構成が違ったためか、なかなか思い通りにツールが動かず、上のサイトのJANコードを抜き出すことができませんでした。 回答を頂ければ幸いです。よろしくお願いいたします。 補足もしプログラミングにお詳しい方がいらっしゃいましたら、一つの例として参考にさせて頂きたいので、上記の質問が解決できるプログラミングをご教授頂けると嬉しく思います。 ※言語は問いませんので、幅広い回答をお待ちしております。

  • アドバイスお願いします。

    最近とても気になる人がいます。 その人は私が勤めるコンビニのお客さんです。 1、2年くらい前から、素敵な人だな~とは思っていたのですが、どうやら最近になってほんとに好きになってしまいそうなのです。 先月、私がそのお客さんのレジをしたときに、私がうっかりお弁当のソースを入れ忘れるというミスをしてしまいました。幸いすぐに気付いたので、お店を出たお客さんを慌てて追いかけて、呼び止めて、お渡ししました。いつもは物静かでまじめそうな印象の人だったんですけど、そのときは、「おぉ~~わざわざありがとう!」と優しい感じで、初めて相手の笑顔を見たこともあってすごくときめいてしまいました(笑)。それから1週間後くらいに、そのお客さんとたまたまバスが一緒になったことがあって(その人はサラリーマンで仕事帰りでした)、声かけたかったんですけど勇気がありませんでした。私はバスに乗ってる間中どきどきしてしまって、もしかして恋してるのかな、と思い始めました。というわけで、彼女とまではいかなくても、お友達になれたらいいなぁなんて思ってます。平日はほぼ毎日お店にいらっしゃるのですが、いつもお客さんが多い時間帯にいらっしゃることが多く、声を掛けづらかったり、勇気がなかったりです。 こんな私によきアドバイスをください。 どうぞよろしくお願いします。 ちなみに私は22歳の大学生、相手の方はおそらく?20代後半だと思います。 (文章が下手なのでわかりにくい点がありましたら補足しますのでよろしくお願いします。)

  • 超初心者ですが・・・。

    何をバカな質問してるんだと思われるかも知れませんが、最近C++を学び始めたばかりなのでわからないのです。(本・その他いろいろなサイトを見て回りましたがいまだにわかりません。) 1.#include<iostream>と#include<iostream.h>の違い? 私が購入した本では前者の方で記述されていますが、プログラミング関係のサイトでは必ず後者の方の記述がされてますが、果たして違いはあるのでしょうか? 2.例えば void main(){ char c[11]; cout <<"貴方の名前は?"<<endl; cin >> c; cout << c <<"さんですね。"<<endl; } の場合、char c は10文字(日本語5文字)までが入るということですよね? でも実行して、10文字以上記入しても問題無く10文字以上表示されるのですがなぜなのでしょう?(borland5.5コンパイラで) ちなみにVC++でトライしてみたら、「重要なエラーが発生しました。マイクロソフトに連絡を~」といった エラーメッセージが表示されます。 こんな初めてつまづくと先が思いやられますが、完全に把握しないと先に進まないといった性格ですので、この2点お分かりの方、宜しくお願い致します。

  • プログラミング

    インターネットやメールを使いこなせるようになったので、何か変わった事に挑戦したい(ゲーム作成)と思い、プログラミングにトライすることにしました。 エクセルのVBAを使ってプログラミングをしているのですが、逆にこのような動作をするのならマウスで動かしたり、いつも知っている通りした方がが速いんじゃないか?と疑問を抱きはじめました。  プログラムするに当たって色々な言語(C言語やJava etc)の存在がある事をしりました。  一体、何の言語がプログラム初心者にとって学びやすいのですか? またお勧めサイトがあれば紹介してください。 私の参考にしているサイトは(http://www.happy2-island.com/)です。 ちなみにOSはWinME メモリは128 Office2000を使用しています。

専門家に質問してみよう