• 締切済み

おすすめのVBAの参考書籍ありますか?

はじめまして、vba初心者です。 ただVBやC言語を授業で習いました。 以下のことを行いたいのですが、 それらのことが網羅されてる、おすすめの参考書籍てありますでしょうか? 概要の解説も書かれてるとありがたいです。 1、2つ以上のブック間でコピペ処理したい。 2、参照元ブックのシート名を貼り付け先ブックのセルに貼り付けたい。 3、参照元ブックのシートにある文字列を貼り付け先ブックのシート名にしたい。 4、参照元ブックにある特定の文字列を検索して文字列のセルの行にあるデータを貼り付け先ブックのシートに貼り付けたい。 よろしくお願いします。

みんなの回答

  • mohenjo
  • ベストアンサー率37% (125/335)
回答No.1

書籍じゃないですが、このサイトは著名です! http://www.moug.net/tech/#no2

kalafina2
質問者

お礼

ご教授ありがとうございます。 さっそくサイト見てみます。

関連するQ&A

  • 【Excel-VBA】アクティブセルが参照しているブックを開くには?

    いろいろ検索したのですが、見つからないので質問させていただきます。 対象のセルが他ブックのセルを参照しているとき、そのブックが開かれていない場合、正しい値にはなりません。 (例:A1に =[Book2.xls]Sheet1!$A$3 が入力されている) そこで、そのセルが参照しているブックをVBAで自動的に開く方法を考えています。 つまり、例で言えば、Book2.xlsを開きたいのです。 文字列関数を使ってひとつひとつの文字を取得し、ファイル名を得て開く方法しかないのでしょうか? 何かいい方法があれば教えてください。 よろしくお願いします。

  • エクセルVBAの質問です。

    エクセルVBAの質問です。 一つ一つコードを試しては動きを確認するという作業を始めたばかりの初心者です。 VBAで他のブックからデータを取得するにあたっては、その参照先のブックの行列は絶対いじってはならないものだと理解しています。でも、行列が変わってしまう可能性があるため、参照先のブックの値を、行列ではなく、たとえば「“4月”かつ“売上”の交わるセルから数値を取得せよ」のように、参照先のブック内の文字列を読みにいって、そこから取得するような考え方は成り立つでしょうか。もし成り立つ場合は、どのように組めるものなのか、考え方を教えていただけませんでしょうか。 何卒よろしくおねがいいたします。

  • 文字列検索の参照文字列の指定について

    Excelでセルに任意の文字列をペーストします。そのセルは別のブックにリンクしているのでペーストする度にリンク先のセルでは文字列が更新されます。リンク先のブックにはワークシートが10あっていづれかのシートのA列にその文字列がある事になっています。更新された文字列を検索する作業を繰り返すのでマクロで組み込もうと思ったのですがFIND関数にしても、VBでCell.Find(What:=....と書くにも参照する文字列を直接指定してやらないと動きません。参照する文字列が相対的に変化するので「特定のセルの中に入力された文字列」を参照してブック内を検索したいということなのですが、実現するにはどうしたらようでしょうか?

  • エクセル(VBA)のブック間でのコピーペーストについて

    こんにちは。VBA入門レベルのものですが、質問させてください。 ブックAとブックBを開いた状態にし、 ・ブックA⇒VBAを組む&データ貼付け先 ・ブックB⇒データコピー元 ブックBの特定セル(例:D10)からブックAの特定セル(例:E12)にコピー⇒貼付 する方法を探しています。 なお、ブックBは、ブック名とシート名が都度変わるので、「ブックAではない方の開いているエクセルファイルからデータをコピーし、ブックAに貼付ける」の構文にしたいです。 また、コピペの他に数式(イコール)で飛ぶ方式でもかまいません。 この内容でのVBAの記述方法が分かる方、どなたか教えて頂けますでしょうか。 すみませんがよろしくお願いいたします。 ※エクセル2003です。

  • VBA コピー&ペースト

    次の作業をVBAでマクロを組みたいのですが、どのような構文にすればよいでしょうか。VBA初心者のため、お知恵を拝借させてください。 [目的] 1.ブックA(コピー先)に設定したハイパーリンク先のブックB(コピー元)へジャンプ 2.ブックBへジャンプ後、特定のセルの値をコピー 3.コピーした値をブックAの特定セルへペースト 4. 1.~3.の作業をリピート 対象は、上の作業が未完(ブックAのペースト先のセルがブランク)のもの [詳細] ・ブックB(リンク先)の保存先はサーバー ・リンク先はブックBの特定のシート ・ブックAで設定したハイパーリンクのセルの値がリンク先のシート名 ・ブックBは複数、リンク先のシートも複数(ハイパーリンクごとにリンク先が異なる) ・ブックBにはマクロが設定、開くたびにマクロ有効無効のメッセージ(Excel2003のため) ・コピペする項目は3つ ・ブックA,Bともに開いた状態で、2.~4.のリピートというマクロでも構いません。 以上ですが、他に情報が必要でしたらお申しつけください。 よろしくお願いいたします。

  • excel vba

    テーブル情報に基づきシートをコピーするVBAマクロを記述したい。 ExcelのBook111のSheet1に次のような データが入っています。 (1、2)セルにn=3という数字が入っているものとします。 その数値に合わせて、この場合は3なので Sub Sample01() Workbooks("Book3.xls").Worksheets("booksheet3").Copy After:=Workbooks("Book111.xls").Sheet(1) End Sub のようなつまり、booksheet3なるシートをBook111(固定なBOOK)にコピーしようとしています。 このようなことをVBAで書くにはどうすればいいのでしょうか。 ただしBook名とシート名はあくまでデータの値にもとづいたデータをもってくることになります。 要するに間接参照したデータに基づき処理するのをどのように記述するかという質問です。 A列 B列 1 回数 n=3 2     3     4 Book1.xls book1sheet ←n=1 5 Book2.xls book2sheet ←n=2 6 Book3.xls book3sheet ←n=3 7 Book4.xls book4sheet 8 Book5.xls book5sheet 9 Book6.xls book6sheet ←n=6 10 Abc,xls Defsheet ←n=7

  • エクセルVBAで他ブックのセルへジャンプするコード

    お世話になります。アクティブセルから他ブックを開き、元の内容と同じ文字列が含まれるセルにジャンプするVBAのコードを教えていただけないでしょうか。 ・ブック1「12345」のアクティブセルでマクロボタンを押す。 ・指定のブック2シート1を開き、「12345」が含まれるセルを検索しジャンプ(アクティブセル)する。 ・指定の文字列が無い場合は「検索条件に一致するデータは見つかりません。」 ネットなどでいろいろ調べたのですが見つかりませんでした。みなさんご教授お願いいたします。

  • 列挿入の時、セル参照を変化させたくないんです!!

    列挿入の時、セル参照を変化させたくないんです!! エクセル2003XP AというブックとBというブックが存在し、ブックBのあるセルを参照しブックAに出したり、ブックBのあるセルを使用しブックAで計算したりしています。 参照元のブックBに、たまに列を挿入することがあるのですが、参照先セルが自動で調整され、とりたいセルを変えてしまいます。   例えば・・・[B.xls]Sheet1!$C$7がB列に1列挿入されることで[B.xls]Sheet1!$D$7に変化 列を挿入しても参照先がC7のままにしたいのですが、どうしたらいいのでしょうか? お力をお貸しください。 宜しくお願いします<m(_ _)m>

  • 集計用のVBA

    いつもお世話になります。 今回は、VBAを使った、ブック間での集計について教えてください。 現在、担当者別にExcelブックが15人分あります。(ブック名の定義は"ブック2012(担当者名).xlsx") そのブックには、D3~AH49までデータ(空白セルもあります)が記入されてあり、また月別Sheetが12カ月分存在します。 そして、集計用ブックが存在し、上記のブックと全く同じ配置で構成されています(セル、シート共) やりたいこと ・集計用ブックに、担当者ブックの合計を行いたい。 ・集計用ブックに新たなシートを付加し、そこで年度や担当者名を定義したい。また、そのSheetにコマンドボタンを設置し、そのボタンを押すと自動集計が始まるようにもしたい。  *上記の担当者ブック名の年度が変更されたり、担当者が増減しても、A1セルに2013、B列セルに   担当者を記入していけば、そのブックのみの集計を行ってくれる。 以上が、私のやりたい事で、このVBAを教えていただきたいのです。 皆様、どうかよろしくお願いいたします。

  • ブック全体の文字列検索について

    Excelでセルに任意の文字列をペーストします。そのセルは別のブックにリンクしているのでペーストする度にリンク先のセルでは文字列が更新されます。リンク先のブックにはワークシートが10あっていづれかのシートのA列にその文字列がある事になっています。更新された文字列を検索する作業を繰り返すのでマクロで組み込もうと思ったのですがFIND関数にしても、VBでCell.Find(What:=....と書くにも参照する文字列を直接指定してやらないと動きません。参照する文字列が相対的に変化するので「特定のセルの中に入力された文字列」を参照してブック内を検索したいということなのですが、実現するにはどうしたらようでしょうか?と質問して moji = "B1" Set c = Range("A:A").Find(What:=moji, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then c.Select というコードをしめしていただきました。このままだと検索対象がRangeオブジェクトになっているのでActivesheet上でしか検索がかからないのでCellsにすればブック内のすべてのシートに検索がかけられるかな?と思っていたのですがエラーがでます。ブック内を検索範囲に入れるためにはどうしたらよいでしょうか?

専門家に質問してみよう