• 締切済み

[VBA] おすすめの参考書

業務上VBAでExcelのマクロを作成する事が多いのですが、 知識に乏しく煩雑なプログラムしか組めないため、参考書を探しています。 しかし、本屋等を見てみると、如何せん種類が多すぎてどれがいいのか判別がつきません。 よければ皆様のお勧めを教えてください。 現在の自分のスキルは、 ・Cの基礎を1年ほど学習 ・VBAは「マクロの記録」で使用される程度の関数の知識しか持っておらず といった具合で、 現在は「マクロの記録」で作業を記録した後、変数等の処理を編集してマクロを作成しています。 やりたい事は、 ・効率的なプログラムを組みたい ・無駄な行を添削したい ・VBAの関数や仕組みをきちんと理解したい の三つがメインです。 業務作業ではフィルタやピボットを頻繁に使用しています。

  • Lambo
  • お礼率48% (12/25)

みんなの回答

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

書籍に関しては、書店で実際に手にとって自分が一番解りやすいと思う物を探す方がよいでしょう。 そしてヘルプもきちんと読む事をお勧めします。 ネットが使えるなら、「VBA 関数名」「VBA 機能」などをキーにして検索すると、結構便利に使えると思います。 検索に慣れてくれば、解りやすい表記のサイトも決まって来ると思うので、サイトの内容をしっかりと読むと色々なヒントが書かれていると思います。 解らないコードは探すよりも記録マクロを参考すると一番簡単に探せるかも知れません。 下記サイトの内容が理解できるようになれば、ずいぶんと違って来るかと思います。 VBA高速化テクニック(目次) http://officetanaka.net/excel/vba/speed/index.htm

関連するQ&A

  • VBAでマクロを中止させる関数ってありますか?

    VBAで簡単なマクロを作成しています。 ボタンを押すとマクロを中止してプログラムを終了させてたいのですがマクロを中止させる関数ってあるのでしょうか?

  • 事務作業でのVBA

    こんにちは。 とある製造業の会社で管理職補佐をしている者です。 今、私の職場でエクセルの機能を活用して事務作業を 簡略化出来ないかということが話題になっています。 特にマクロを活用できないか、ということが主題となっています。 私自身は関数とVBAはひと通り扱えるレベルにあります。 (他の人達はピボットテーブルを知っているか知っていないかぐらい) そこでズバリ質問なのですが、私はただ単に数字の集計をするなら関数を活用をすれば良いと思うのですが、皆さんはマクロを使うべきだ!というような作業何か思い付かれますか? 完全にマスターしてないからかもしれませんが、いまいちマクロの使いどころが分かりません。皆さんの経験談等を教えて頂けたらありがたいです。漠然とした質問で申し訳ございません。回答、宜しくお願い致します・

  • VBAに入る前のExcelのレベルについて

    はじめまして。 現在、事務仕事をしていてExcelを 毎日使っています。 以前から、VBAが使えるようになりたいと 思いながら、忙しさを言い訳に勉強時間を持たず レベルアップせずに来ましたが やっとExcelVBAの入門書を購入し 今、自動記録を繰り返しやっています。 これまでExcelは好きになれなかったのですが 少しずつ面白さを感じています。 で、ここでチョット疑問が。 私のExcelのレベルは 30個ぐらいの関数を組み合わせや ピボット、フィルターなどを使用して データを集計や管理したり 簡単なグラフや図形を作成するレベルなのですが...。 もしかすると VBAを使いこなしている人は、 Excelの機能(VBA)以外の機能を 全て網羅されてからVBAに着手されているのでしょうか。 気になったので よろしければお聞きしたいです。

  • VBAで任意の文字の右隣のセルの結合を解除したい

    エクセルの初心者です。VBAで困っています よろしくお願いします。 VBAで任意の文字を探し 右隣のセルの結合を解除したいのです。 その文字は必ずC列の中に2つあります。行はランダムで毎回違います。 作業の途中までのマクロは記録コマンドで作成し、ボタンも作成してあります。 できましたらなにぶん初心者ですので、分かりやすいシンプルなものを… これができれば後はまた記録したマクロにて作業ができます。 アドバイス よろしくお願いします!

  • VBAで任意の文字のその上の行を全て行削除したい

    エクセルのVBAで困っています よろしくお願いします。 VBAで任意の文字を探し その上の行を全て行削除したいのです その文字は必ず2~30行の中にあります。列はJからですが、行はランダムで毎回違います。 作業の途中までのマクロは記録コマンドで作成し、ボタンも作成してあります。 これができれば後はまた記録したマクロにて作業ができます。 アドバイス よろしくお願いします!

  • ACCESSのマクロからVBAプログラムの実行方法

    Access初心者です。 マクロを使って製品販売システムを作っています。 マクロだけで作成してきましたが、マクロではできない事がありVBAプログラムで作ろうとしていますが、マクロからVBAプログラムを実行する方法がわかりません。 どなたか教えてください。

  • VBAでのUSERFORMの表示に関して

    現在VBAでUSERFORMを使うプログラムを作成中です。 ボタンやボックスなどを設置してコードを書いてという作業は良いのですが、 このプログラムを実践で使用する時に毎回以下の手順を踏んでいます。 1.該当のエクセルファイルを開く 2,AltとF11を押す 3.左側のVBAプロジェクトからフォームの中の使用したいフォームをクリック 4.F5をクリック ここまでしてやっと作成したプログラムを走らせる事ができますが、 毎回毎回上記の1から4の作業が必要な訳ではないですよね? エクセルファイルを開いた瞬間に希望するフォームが出て、 すぐに作業を実行するにはどうしたらよいのでしょうか?

  • VBAに関する質問です。

    VBAに関する質問です。 エクセルのマクロでDBのダンプツールを作成しようと試みています。 このダンプツールでは、データベース上のテーブルデータと完全に一致するデータをエクセルシート上に出力することを目的としています。 しかし普通に出力を行うと、エクセルが勝手にデータ型を変換してしまい、一致するデータを出力できません。 そこで、データ型の判別を行い、それぞれのデータ型に対して処理を行うことでこの問題を解決しようと考えたのですが、データ型の判別方法がわからず、つまづいています。 通貨型やバイナリ型のデータはどうすれば判別できるのでしょうか? また、現在他のデータ型に対して、一つ一つISNULLやISDATEなどの関数を用いて判別を行っているのですが、もっと効率のよい方法があれば教えてください。 よろしくお願い致します。 作成環境:WindowsXP 作成ツール:MicrosoftExcel2003 サーバー:SQL Server

  • エクセルVBAに関して

    VBAの知識があまりないので教えて頂きたいのですが、セルの内容が変更されたら マクロが実行される Private Sub Worksheet_Change(ByVal Target As Range) というのがあるかと思います。 セルに書かれた関数によって、セルの内容が変化したときにマクロが実行されるVBA関数はあるのでしょうか?

  • VBA:業務改善ツール

    Excelマクロ/VBA機能を使用して、業務改善に繋がるようなツールを作成しなければいけないのですが、何か良いアイデアありますか? Accessでも構いません。