• ベストアンサー

Excel VBAの入門に良い物

ExcelのVBAを使用し、 あるセルに文字を入力しその隣のボタンを押したら、入力欄の文字が消えて用意しておいた表に上から順番に入力した文字が追加される、というようなものを作成しようと考えているのですが、素人には出来るわけもなく、入門書や入門者にいいサイトなどを探しています。 もしやってくださる方がいれば良いのですが、大変だと思うので、ExcelのVBAの入門に良いものがあれば教えていただきたいです。

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

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

#3です。 #3の文章解説の少し先のVBAのコードを書いてみます。 #3で書いたのと同じく、仕掛けはユーザーフォームにテキストボックスとコマンドボタンを設けます。 そのコマンドボタンのクリックイベントに (イベントプロシージュアーです) Private Sub CommandButton1_Click() If UserForm1.TextBox1.Text = "end" Then UserForm1.Hide Exit Sub Else ActiveCell = UserForm1.TextBox1.Text UserForm1.TextBox1.Text = "" ActiveCell.Offset(1, 0).Select UserForm1.TextBox1.SetFocus End If End Sub を作ります。 シートのA1を選択しておきます。 VBE画面のメニューのユーザーフォームの実行をクリック。 テキストボックスにデータを手入力して(例ああ)、マウスでボタンをクリックする。 A1セルに「ああ」とセットされ、セル選択はA2に行きます。 テキストボックスはクリアされる。 次にテキストボックスにデータを入力して(例いい)、マウスでボタンをクリックする。 A2セルには「いい」と入力され、セル選択はA3に移る。 以下繰り返し。 終わるときは「end」(半角)と入力してコマンドボタンをクリック。 #3で説明できなかったことも、出てきてしまっています。それほど、学び初めは難しいです。 これでも、こうしたい、ああしたいということは噴出するでしょう。 プログラムを組むことは、人により、適性があると思うので、向かないと思えば深入りしないで、他のことでエキスパートを目指せばよいと思う。 他人に使ってもらうには、さらにいろいろな仕掛けや考慮が必要で、複雑です。当面はそういう気を起こさない方がよいと思う。

lapis0311
質問者

お礼

回答ありがとうございます! まさか書いていただける方がいるとは思っていませんでしたw 書籍なども参考にさせていただきますが、まず記載していただいたものを試させていただこうと思います^^ 頑張ってみます!

その他の回答 (4)

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

#3のお礼の続き。 >マクロ有効ブックとして上書き保存をしておけば消えることは無いのですか? マクロVBAコードはそのブックとともに保存されます。 この部分をふくめて、VBE(VBAコードのエディター)のことや、VBAの形式なことは、新書版の「VBAやマクロの解説書」(約250ページ)を購入して、手元に置くこと。 この種の本は、VBAで、エクセルの課題のプログラムを作る分野(この分野では詳しいものは約900ページ)とは、違うものです。しかしまず学ぶためには、最低限必要なものです。

lapis0311
質問者

お礼

回答ありがとうございます! 保存されるんですね^^良かったです あとは...自力で頑張ってみます!

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

>あるセルに文字を入力しその・・ エクセルシートのセルを、こういう目的で使うのは、珍奇ではないかな。 ユーザーフォームというものがあって、VBAの利用を前提にした、仕掛けだと思いますが、下記のような方法が使われる。 ユーザーフォームを挿入する。 その中に、テキストボックスを1つ コマンドボタンを1つ 設けます(挿入という)。 そしてテキストボックスにデータ(情報)を手入力します。 1個のデータを入力し終わったことをシステムに知らせるために、コマンドボタンをクリックする。 あと、毎回のデータをセットするセルを1つ下に、づらしていかなければならないが、プログラムで細工(コントロール)する。 あとデータの入力が終わったことを、システムを知らせるために、 ・もう一つボタンを増やしておくか、 ・終わる、を知らせる入力内容を決めておいて、その入力を探知する。 など、行われる。 上記を見ればわかるが、初心者に文章で説明するのは、大変面倒です。だからそこまで説明している市販本はないと思う。 先生役がおれば、その人が口頭でおぎなって説明するもの。だから先生役が必要だが、尋ねる先輩や友も普通はいない場合が多い。これが難点です。 ここに出てくるVBA関連の術語を、WEBで照会して、コード実例をコピペして、実行してみて、うまく行かない場合は、原因を推定することの、繰り返ししかないと思う。 ーー 1000円以下(250ページ数あたり)の、マクロやVBAの書名が入ったの本を1冊買ってきて、1章づつ読んで、コードをタイプ打ちして(書物なのでコピペできないが、中には説明例のコードをWEBで別途ダウンロードできるものもあるかも)、実行してみるほかない。 ーー 勉強のための参考 本件のVBA関連の術語(下記の検索で出た記事は数記事に絞り、印刷してじっくり読むことをお勧めする) ユーザーフォーム テキストボックス コッマンドボタン クリックイベント ユーザーフォームのコントロール(部品とも言われる) VBAで1行下を指す(WEBで「vba 一行下を選択」で照会) ーー こういう設計に当たることも、経験を、積まず、少ない知識で次ぐとりかかると 、コードもむつかしい方法に行ってしまう。 例えば本件質問の方向のやり方の、シートのセルのChangeイベントというものを使う方法も、不可能ではないが、全体的にむつかしくなると思う。

lapis0311
質問者

お礼

回答ありがとうございました!

lapis0311
質問者

補足

教えていただいたとおり作成してみてうまく行ったので、応用して作成してみました\(^o^)/ そこで質問なのですが、 ・作ったプログラムが消えてしまわないようにするにはどうすればいいのでしょうか?マクロ有効ブックとして上書き保存をしておけば消えることは無いのですか? ・作ったプログラムはマクロみたいなものとしてショートカットキーなどでユーザーフォームのウィンドウ(今回の場合)を開くことは出来るのでしょうか?出来るとしたらどうやって登録すれば良いのですか? 何度も申し訳ありませんが、もしわかりましたら教えていただきたいです。

回答No.2

言葉に他意は無いのでご容赦くださいませ。 エクセルのVBAを学習なさりたいという事で・・ ひとまず、情報サイトなどで端を噛んでみると良いと思います。 例えば有名どころではmoug(http://www.moug.net/)などが挙げられます。 その他「VBA 入門」でweb検索してみるとワンサカ出てきます。 この辺りで概要を抑えて、ご自身で学習を続けられそうなら 書籍を1冊購入、読破してみると良いかもしれません。  ※その際は、実際にキーボードとマウスを操作しつつ読みましょう。 > 素人には出来るわけもなく そんなことも全く無かったりします(笑)。 お望みの作業程度であれば、小一時間も学習すれば きっと作れるようになりますよ。

lapis0311
質問者

お礼

回答ありがとうございます! mougというサイトについてですが、とても良さそうなサイトだなと思いました^^ 是非参考にさせていただきます。 本も色々探してみようと思いますが、やはりパソコン系のものは触りながら読むのが一番なんですね(^o^) そして今やりたい作業がサクッと出来るくらいの能力が身につくように頑張ります!!

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.1

ひとまず何でもいいので初心者用の書籍を1冊買うなりして端から 端まで書かれていることを全部 試してみることをお勧めします。 本屋で自分に合いそうなものを探した方がいいんじゃないですかね。 人の勧めたものが自分に合うとは限りませんし。 やろうとしていることくらいなら どの本でもできるようになると思 います。大村あつしさんの書籍なんていいんじゃないでしょうか。 https://www.amazon.co.jp/dp/4774170038 https://www.amazon.co.jp/dp/4774170046 好みは分かれますけど。 個人的には自分の関わった書籍をお勧めします。 https://www.amazon.co.jp/dp/4797386800 タツさんの説明はとても分かり易いですし 関数も一緒に勉強できて お得かと思います。 > あるセルに文字を入力しその隣のボタンを押したら 多分ですけど UserFormを勉強なさった方が 結果的には近道になる ような気がします。

lapis0311
質問者

お礼

回答ありがとうございます! いろいろな書籍の種類をありがとうございますm(_ _)m でも、たしかに自分にあうものはわからないので、まずは勧めて頂いたものから探してみようと思います^^ そして、Userformですか?書籍などと一緒にいろいろ調べて勉強してみようとおもいます。

関連するQ&A

専門家に質問してみよう