2013年07月17日

VBAの参考書評価〜評価は徐々に!

エクセルVBAの購入した本をとりあえず並べてみます。評価は徐々に。

徐々に?
なぜ(@_@;)?

それは未だにVBAを覚えきっていないことと、それによって本の価値を見る目が出来ていないと自分が思っているからです。
ある段階では役に立つけど、それ以降、もしくはそれ以前のレベルでは何の意味もなさないことが書いてある場合、私自身のスキルがそこまでいっていないとその記述の本当の意味を読めないからです。

がんばります。

あと、たくさん本を買いましたが、ある程度自分自身のVBAに対する導入さえ済んでしまえば、みっちいさんのいう通り、その後のプログラミングにおいてはネットで拾って・・・というほうがVBAを覚える近道であると思います。
こんなに本を買う必要はないですね。

あ〜でもVBAを覚えてるんじゃなくて「つかえている」が正解になってしまいますかね〜(^^ゞ。

さ〜て購入した本の一部を以下に連ねます。
Excel VBA実践テクニックユーザー・ハンドブック―基本技&便利技 Excel2010/2007完全対応 Windows 7/Vista対応 (User Hand Book)
ExcelVBA実践テクユーザー・ハンドブック 仕事に使える基本技&応用技―Excel 2013/2010/2007完全対応


Excel VBAのプログラミングのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!Excel2007/2003対応
この本を読んで思ったことは、「あ〜、そうか。これはVBA初心者に向けて書かれている本ではなくて、プログラミングそのものにおいて初心者である人に向けて書かれている本だ。」
ということでした。
つまりは、プログラミングをしよう!と思ったときの初めての言語が「VBA」であるというのが今のスタンダードなのだと。
そういった人たちにとっては「IF」とか「変数」などが壁であるわけで、さらにはセルなどが付いてくるからますます分からないわけで、そこで壁に当たった人に向けて書かれているんだな、と感じました。

感想としては、これでもまだある程度のプログラミングの知識がある人向けで、エクセルに関してそれなりに知識がある人向けに書かれているように感じます。

私個人としては、そんなにおすすめではないですが、しばらくVBAと格闘した後に読み直すと「ああ、そうだよ〜」と頷くことの出来る本だと思います。

本の評価は70点くらいかな?なんか、引き込まれるようなものがないです。
学習しようと意欲のある人は大丈夫だと思います。

プログラミングの初心者には90点です。
最後までじっくりと取り組めば、この本を終わったのちは、ネットで検索&プログラミングで大抵のものは作れるようになると思います。

ただなあ、値段が2300円って・・・
ちと、高い気がしますけどねぇ(-_-;)
よって評価の点数を低めにしました。

対象はVBAレベル2〜3の人向けです。
一通り終わるとレベル5以上になります。

Excel VBA 逆引き辞典パーフェクト 2010/2007/2003対応
officeTANAKAというサイトを運営している方の著書です。
口コミを参考にすると、サイトよりもこの本の情報量が多いそうです。

同じことをするのにも、何通りかの方法が示されています。
どの方法が良いか?と判断するのは自分であるので、ある程度のVBAの知識がないと使いこなすまではいかないでしょう。

ただ、意味が分からなくても、これに書いてある通りにプログラミングをすると、目的通りに動くプログラムを作れるのは強みです。
逆引き辞典であるので、購入しておいて損はない本です。

プログラミングを学ぶ、という使い方にはそれほど適していません。

本の評価は初心者には100点です。
けれど、プログラミングを始めてから使う本ですので購入タイミングはオリジナルのプログラムを作り始めてからです。
それ以外の人には、90点かな?
ネットのない環境で使うときに重宝しました。

VBAレベル5以上の人向けです。

入門者のExcel VBA―初めての人にベストな学び方 (ブルーバックス)
全てのサイトにおいてNo.1で売れている本です。
どんなにすごいのか?と思って購入しましたが、届いた本は単行本サイズ。
当然、紙面的に余裕がなく、「おいおい、読みづらくないのか?」と思ってしまう一冊でした。

しかしながら、評価一位は伊達ではありませんでした。
その読み辛さを克服して読み進めてみると、初めてVBAに触れる人にも分かりやすいように、しかも順ををってプログラミングに馴染んでいけるように構成されています。

とにかくきれいで無駄のない良いプログラムを、と人間思ってしまいますが、これはとにかく動くものを作ることからはじめて、そののち、こうすればもっときれいなプログラムになります。という進め方をとっているので、プログラムを組む力があっという間につく本だと思いました。

なにより、値段が安い!
騙されたと思って買ってみて「騙された!」としても他の本ほどダメージを受けずに済みます(^O^)

まずはこの本から始めてみてはいかがでしょうか?

本の評価は初心者には110点です。
値段の安さも考慮してこの点数です。

レベル1.5以上の人向けです。

できるExcel マクロ&VBA編 2010/2007/2003/2002対応
フルカラーで見やすいので「VBAとプログラミングの初心者です!」という方の導入に良い本です。
何か目的のあるものを作ろう!と必要に迫られている方には遠回りになりますが、じっくり一からプログラミングというものを学ぼうと思っている人にはとても好いでしょう。
この本に書かれている通りに順を追っていけば、VBAの導入は済みます。

この本を終わった後に何か作れるか?というと難しいものがあるでしょう。
でも土台は大切です。
これを終わった後に、苦労を重ねてプログラミングを学ぶのもアリだと思います。
ところどころにあるポイントの説明は後に役に立ってきます。

VBAレベル1の本です。
始まりの町からスタートの本ですね(^O^)

本の評価は初心者には100点。
経験者には80点です。
というか、買ってください(^O^)
この本から得た知識は、その後のプログラミングにおいて、手助けになりました。

正直に言うと、あまり読む気にはならない本ですが、
これをじっくり読んでその通りに進めていくと、かなりの実力がつきます。
また、ここに書いてある知識は、始めは何のことを言っているか分からないことが多いですが、
知識を身につけてからは、「あ、なるほど」と、納得して進めていくことが出きます。

3冊そろえるとかなりの値段がかかります。
昔のものと比べても内容はそれほど変わりがありませんので、
お金に余裕がない方は、中古本でも良いと思います。

本の評価は初心者には70点。
中級者には100点です。
急いである程度のものを作りたい方には、コントロール、関数編と応用編をおすすめします。


仕事に役立つ ExcelVBA実用サンプル 第3版 (Excel徹底活用)

できる大事典Excel VBA 2007/2003/2002対応

【組み合わせ式】 Excel マクロ&ユーザーフォーム部品集 (かんたん「通勤快読」)

よくわかる Microsoft Excel 2010 VBAプログラミング実践

やさしくわかるExcel VBAプログラミング 第4版 (Excel徹底活用シリーズ)

仕事に役立つExcelVBA業務活用編 (Excel徹底活用シリーズ)



エクセルマクロ事典 (日経BPパソコンベストムック)
Excel VBA実践テクニックユーザー・ハンドブック―基本技&便利技 Excel2010/2007完全対応 Windows 7/Vista対応 (User Hand Book)
ExcelVBA実践テクユーザー・ハンドブック 仕事に使える基本技&応用技―Excel 2013/2010/2007完全対応


とりあえず、ここまで。
もっと買っていると思うのですけど、記憶にある分だけと手元にある分だけです。

それと、VBAの本に合わせてEXCELだけの本も購入してます。
EXCELのこと知らないとプログラミングできないみたいなので。

それはまたのちほど(^O^)
ごめんねぇ
posted by あはっ\(^O^)/ at 05:12 | Comment(0) | TrackBack(0) | エクセルVBA

2013年03月24日

そろそろVBAのお勧め本?をまとめようと思います。

今使っているVBAの学習本は12冊くらい。ちゃんと数えていないけど、それくらい(^O^)

この他にも買おうとは思っています。
「これだ!」と言える本に出会うために。

アマゾンで評判が高いからと買ってみたものばかりですが、イマイチだと思っています。
基本的に「プロシージャ」??
モジュール?
というところからスタートするはずだし、
あの開発画面?自体にしり込みするのがふつう。

そこから説明しているものってあまりない。

とりあえず、買ったもののVBAの本をまとめよう。
少し時間をくださいませ(^O^)

posted by あはっ\(^O^)/ at 06:55 | Comment(2) | TrackBack(0) | エクセルVBA

2013年03月18日

印刷ダイアログの有効範囲

印刷ダイアログで「手差し」を指定したんだけど、その後の印刷にも同じように適用されるのかと思いきや、なんと一枚目にしか適用されなかった。

別々なシートを一括で印刷、もしくはエクセルの差し込み印刷をした場合でも、印刷ダイアログで「プリンタのプロパティ」で設定したものは最初の一枚目にしか適用されない。

うちのプリンタだけに起こる現象なのか?それとも皆さんのところでも同じような現象が起こるのだろうか?

プリンタのプロパティは「ドライバー」によるものらしいので、VBAでは限界のようです。

印刷に関することは、みんな通る道なんですね(^O^)
今回調べてみてよ〜くわかりました♪
posted by あはっ\(^O^)/ at 06:35 | Comment(0) | TrackBack(0) | エクセルVBA

2013年03月17日

印刷ダイアログを表示したらなぜか2枚印刷される…プリントプレビューでも2枚だ…

VBAで印刷ダイアログを表示するようにして、印刷をしたら、何故か2枚同じものが印刷されちゃう・・・?
う〜ん、なんでだろう?

プリントプレビューにしてみても同じように2枚印刷される。

いろいろ調べても少しずれていて明確な答えが書いていない。
ということで、自分で頑張ってみました。

その結果、ある結論を導き出しました。

それはプリントプレビューや、印刷ダイアログを表示すると、そのまま印刷実行まで行うということ。

印刷ダイアログやプレビューは、ただ、印刷設定や確認を行うだけのものという認識していたのですが、
それが大きな間違いで、
単に印刷する前に、印刷ダイアログやプレビューを表示するだけであって、OKが出たら印刷するという命令のようです。

結論
プリントプレビュー、印刷ダイアログは
Application.Dialogs(xlDialogPrint).Show
と命令を書いた時点でのアクティブシートを印刷する。
そして、その後に
Worksheets("アクティブシート")printout
と命令を書いていたために、
同じものが2枚印刷されていたようです。

Worksheets("アクティブシート")printout
を削除したらうまくいきました。

なんていうか、ここらへんをうまく説明している参考書がないのはどういうことなんでしょうね。
初心者向けじゃないよね、ほんと。

posted by あはっ\(^O^)/ at 05:50 | Comment(0) | TrackBack(0) | エクセルVBA

2013年03月13日

VBAでは「印刷中・・・」消せないのか、これ?

エクセルで差し込み印刷をすると一枚印刷するたびに「印刷中・・・」が出ては消える。

はっきり言って、うっとうしい。

何とか消せないか?と思ってネットで検索すると、
APIを使ってどうのこうのがあった。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1114718426

で、試してみたわけだけど、これまずいよ。
途中でとめちゃうと、windowsの表示自体がおかしくなっちゃう。

最後まで順調にかつ、誰も操作を止めないのが条件みたい。

他にもよさげなのがあったけど、自分のPCに適合させていないし、なんか上手くいかない。

もう少し検証してみるか。

ぜったい消してやる!

・・・とはいっても
きになる点としては、VBAの有名サイトではこれに関する記述が全くないこと。
おそらく「無い」か他の方法を使って(エクセルを使わずに)実現しているに違いない。

今のレベルでそこまで行けるかどうか。
もう逃げ出しちゃいたいと思っちゃってます(^^ゞ

ワ━ヽ(*´Д`*)ノ━ィ!!!! ワ━ヽ(*´Д`*)ノ━ィ!!!! ワ━ヽ(*´Д`*)ノ━ィ!!!! 
posted by あはっ\(^O^)/ at 07:48 | Comment(0) | TrackBack(0) | エクセルVBA

2013年02月28日

テキストボックスのフォーカスを移動させたくない場合はどう戻して取得?

VBAでテキストボックスに数字入力待ち。このテキストボックスにエラーとなる文字入力(数字以外)したとき、
フォーカスを戻して選択状態にしたい。
.SetFocus
        .SelStart = 0
        .SelLength = Len(テキストボックス名)
しかしながら、Exitイベントで入力判定をすると
フォーカスは移動してしまうし、
このときフォームをキャンセルボタンで閉じてExitすると
フォームが閉じた後に判定が行われて当然エラーになる。

何がいけないんだか?

ネット検索の末でも、なかなかこれだという答えが乗っていない。

cancel = TRUE

としても、確かにフォーカスは移動しないが、
フォーカスされている状態にはならない。

バックスペースで文字は消せるんだけど、
カーソルは出ないし、その後にいろいろしようと思った場合は、
やっぱりマウスでクリックしてやらないとダメ。

ちなみにコマンドボタンを他に用意して、「入力」としてクリックした場合に判定とすると
上記のコードで選択状態になるしフォーカスも戻ります。

解決するぞ〜!!

あっ、もしかしてラベルに飛ばす方法を使うのか?!
やってみよう(^O^)


posted by あはっ\(^O^)/ at 13:34 | Comment(0) | TrackBack(0) | エクセルVBA

2013年02月04日

ユーザーフォームのテキストボックスのフォント等(プロパティ)をまとめて変更

ユーザーフォームでテキストボックスとかのフォントや全角入力等、いわゆるプロパティを変更するときに、一個ずつ、文字は11にして、右寄せにして・・・とやっていたんですよね。

今、作っているのは入力欄が20こ以上あるやつ。

一つずつ選択して変更して、また選択して変更して・・・う〜ん面倒。

「これって全部まとめて一気に変更できないのかな?」
と思い、VBAのコードで何かないかな?なんて検索していたんですが、これといったものは無し。

おそらく何かがあるのだろうが、それが分からないので仕方ない。
10個くらい、ちまちまと変更をしているうちに、はたと気づきました。

「あれ、これってまとめて選択すれば一気にできるんじゃない?」

どーれ。
物は試しとばかりにCTRL+マウス選択で、テキストボックスのみ全部選んでみると、
「!!、やっぱり出来た!」

しかもSHIFTでテキストボックスやラベルをまるごと選択すると、
それ全体で場所の移動なんて事もできちゃって・・・

ああ、そういえばどれかの書物に書いてあったような気がするなあ・・・

でも、それを書いていない本のなんて多いことか。

ひと仕事終わったら、自分でVBAの本でも書いちゃおうかな?と思った次第でした(^O^)

めも:それらしきことが書いてある本
かんたんプログラミング 大村あつし コントロール関数編 「コントロールの配置」←気付かない人は気付かない。



posted by あはっ\(^O^)/ at 03:55 | Comment(0) | TrackBack(0) | エクセルVBA
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。