• 締切済み

VBAを覚えたいのですがさっぱりわかりません、初心者です。

VBAを覚えたいのですがさっぱりわかりません、初心者です。 VBAを活用したいと思っておりますが、実際作るとなると、 何から覚えれば良いのか?何から作成していけば良いのか分かりません。 単純にエクセルから「Visual Basic Editor」を選択し、 ユーザーフォームの挿入からフォームやコマンドボックスを使用して動作画面を作成し、 コマンドボタンを押したら『if文』などを入力していけば良いと考えていたのですが、 特に”マクロ”についてさっぱり分かりません。 サイトで検索をして内容を読んでも本を読んでも、載っていることは出来ても、 自分がしたいことについては良く分からず、 『一番最初に何をすれば良いのか』すら分かりません。 文章の「起・承・転・結」ではありませんが、 どのように段階を経て作成していくのが一番分かり易いのでしょうか?

みんなの回答

  • larrymiz
  • ベストアンサー率26% (237/878)
回答No.3

パソコン教室でも、エクセルのマクロは、数種類、VBに至っては、一例か、二例程度を示すぐらいです。ワードのマクロもあったはずですが、私も事例を見た程度です。プログラミング書法というタイトルのような書籍もありますが、実績のあるパソコン・スクール用に販売されているタイトルのものを下記参照URLに載せておきました。ご参考までに。

参考URL:
http://www.fom.fujitsu.com/goods/excel/fpt0722.html
  • fujiponxx
  • ベストアンサー率32% (186/580)
回答No.2

VBでなくて、VBAという事であれば、 まず最初はマクロの記録をして、 記録されたマクロを参考にすればよいのではないでしょうか? まぁ、質問するならここじゃなくて 「VB初心者友の会」とかですると適切な回答があると思いますよ。

参考URL:
http://www2j.biglobe.ne.jp/~little-g/vbtomo.html
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.1

VBA云々以前に、まずは「プログラムの概念」を理解されていないように思います。 概念とは小難しそうに書きましたが、ご自身の中で「プログラムとはこういう物」という定義が出来ていれば良いです。 私の場合、勉強し始め当初は、「とりあえず初心者用ページを見て、見様見真似で書いてみよう」でやっていました。 自分で書き、自分で結果を確認することで、「何の関数が何の作用をして、どういう結果になるか」ということが感覚的に理解できますし、経験に繋がります。 それらの経験が積み重なることで、「じゃあこういう場合は、この前試したアレとコレを組み合わせれば出来るんじゃ?」という発想が生まれ、次第に自分でコーディング出来るようになりました。 プログラムというのは、言語は違えど、やろうとすることは共有できる部分が多いです。 関数名の若干の違いや、引数の違いなどはよくあることですが、「あ、この関数ってあの言語のあの関数と似たような動作をするのね」などとなることも少なくありません。 話は脱線しましたが、 >『一番最初に何をすれば良いのか』すら分かりません。 まずは目標を立てることが大事です。 「結果として何を求めるか」を定め、「その過程として何が必要か」を考え、「必要な物を充当する関数はないか」を探す(検索する)。 大まかに、まずはこの三段階の繰り返しです。 例えば 『A1セルに"ABCDE"という文字列が入力されている』 という状態のシートがあったとして、 『この文字列の左から三番目の文字だけを抜き出してB1セルに出力したい』 というのを目標にするとしましょう。 こうした場合、プログラム側では 『A1セルの値から三番目を抜き出す処理が必要』 となります。 そうした場合、まずは 『文字列から指定した文字数を抜き出す関数なんてあるのか・・?』 という事から始まり、googleなどで 『Excel VBA 文字列 抜き出す』 などのように検索してみます。 すると、「おぉ!あるじゃん!」となりますね。 あとはその関数の説明書きをよく読み、実際にプログラムに記述し、実行して結果を確認するっという作業になります。 殆どが上記のような繰り返しです。 いくらベテランのプログラマでも、長年プログラムを趣味でやっている人でも、関数を全て覚えるなんてことはほぼ無理です。 必要なのは (1)結果への道筋を作る (2)道筋に肉付けしていく (3)肉付けに必要な関数の検索 大きく分けてこの三つです。 関数の検索方法が上手くなると、自然とコーディングスキルも上がります。 っと取りとめのない文章を書いてしまいましたが・・・参考までに。 長文失礼いたしました。