VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。常にファイル名を取得出来るVBAをどなたか、教えて下さい。操作対象になっているブックの名前はActiveWorkbook.Nameですね。>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになりというような文脈からすると、ThisWorkbook.Nameの方ですかね。別ブックから該当データを検索し、必要なデータを取得する方法について部品表というブックがありますA列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。R-134256また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。やりたいことは部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。xlAndと、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。部品表というブックがありますA列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。R-134256また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。やりたいことは部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。部品表は、何百種類もありますので、関数...続きを読むAベストアンサーこんにちは。実用性も踏まえました。メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。実用性も踏まえました。メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。Workbooks....続きを読む他の回答も見るQ別のシートから値を取得するときWorksheets("シート名").Activate上記のを行ってから別シートの値を取得するのですが、この処理を行うと指定したシートへ強制的にとんでしまいます。~Worksheets("シートA").ActivateシートAの値取得:Worksheets("シートB").ActivateシートBの値取得Nextこのイメージ処理を行うとものすごい勢いで画面がチカチカします。シートを変えずに他のシートから値を取得する方法はないのでしょうか。全てのセルの一部に特定の語句があれば置換したい。全てのセルの一部に特定の語句があれば置換したい。Excelの全てのセルに対して、特定の語句があれば別の特定語句で置換したいのですが、どうしたら良いかわかりません。全角と半角が混在していますので、これは無視したいですし、変換したい文字列の位置は不定です。Subカーソルのある所は置換されますが、それで終わりです。Nextで回しているということは何か他の条件があるからですね?ならば、一例です。Nextで順に見ていってますが、下記のは選択の有無にかかわらず、文字列が入力されたセルだけを順に見に行ってます。Rangeの変数宣言は、何か別の目的があってしているならともかく、そうでないならプロシージャの中で宣言します。Sub他の回答も見るQ[初心者です]VBAで指定列からAを検索し、発見したら隣のセルに値0を入れるマクロ。VBAで指定列からAを検索し、発見したら隣のセルに0を入れるマクロを組みたいのですが、組み方がVBA初心者の為わかりません。文字Aを検索し、発見したら隣のI列に値0を入れるというマクロです。Subと過去の質問で考えてみたのですが、Aがあった時、、、、とコードが書けないです。困っているので、ご教授頂けないでしょうか?出来れば、そのままマクロに出来るコードを教えて頂けないでしょうか?宜しくお願い致します。Aベストアンサーこんばんは。#3さんのおっしゃっていることも、もっともなのですが、気になる点がありましたので、自分のことを踏まえて、書かせていただきます。同じようなケースが出会うと思います。こんな原則を考えてみたらどうでしょうか?それは、私も自身も同じなのですが、ワークシートのコマンドで行われるものは、記録マクロから作ってみるということです。他にも、「統合」とか、「置換」とか「オートフィルタ」「フィルタオプション」とかは、みんなパターンが決まっています。メソッドは、あるレベル以下の人は、省略する傾向があるようです。何が大事で、何が大事でないかというのは、やってみなければ分かりませんが、検索語だけを入れる書き方は、実務では、あまりしないほうがよいと思います。省略は、とどめたほうがよいです。自分が思っているデフォルトとは違うことがあるので、「明示的(意図的に)」にオプションは入れたほうがよいです。メソッドは、5年経っても、たぶん完全に覚えられません。面倒なコードのひとつです。これはパターンが決まっているので、ひとつパターンが決まったら、それに当てはめればよいだけです。#3さんで示されているMougのサンプルコードと似てはいるのですが、Mougのサンプルコードでは、Verionによって、失敗することがあります。#3さんのおっしゃっていることも、もっともなのですが、気になる点がありましたので、自分のことを踏まえて、書かせていただきます。同じようなケースが出会うと思います。こんな原則を考えてみたらどうでしょうか?それは、私も自身も同じなのですが、ワークシートのコマンドで行われるものは、記録マクロから作ってみるということです。他にも、「統合」とか、「置換」とか「オートフィルタ」「フィルタオプション」とかは、みんなパターンが決まっています。rangeメソッドは失敗しました。始めまして、VBA初心者のものです。ただいまエクセルでグラフを作成しています。作業自体は単純作業の繰り返しなのでVBAを用いてやりたいのですが、マクロを実行したときに実行時エラー’1004’rangeメソッドは失敗しました。’_global’オブジェクトとメッセージが出て、実行できません。デバックをすると以下の5行目で黄色のバーが出ていました。自分なりに原因を考えたのですがrangeの関係するところに、Range("A8:A1587,e8:e1587")というような変数を用いないやり方でやると上手くいくので、変数に関する定義がまずいと思うのですが、それ以上の事は分かりません。どなたか、分かる方がおりましたら、よろしくお願いします。プログラムは以下のようになります。Sub始めまして、VBA初心者のものです。ただいまエクセルでグラフを作成しています。作業自体は単純作業の繰り返しなのでVBAを用いてやりたいのですが、マクロを実行したときに実行時エラー’1004’rangeメソッドは失敗しました。’_global’オブジェクトとメッセージが出て、実行できません。デバックをすると以下の5行目で黄色のバーが出ていました。自分なりに原因を考えたのですがrangeの関係するところに、Range("A8:A1587,e8:e1587")というような変数を用いないやり方でやると上手くいくので、変数に関する定義...続きを読むAベストアンサー>ご指摘を受けたところを書き換えて回してみた結果、書き換えた箇所>でエラーがでます。(実行時エラー’1004’’cells’メソッドは失敗>しました。’global’オブジェクト)>しかし、何が原因でエラーになるか自分では分かりません。2)).Select上記の例では、RangeとかCellsの上位オブジェクトであるシート名が省略されています。2)).Selectというわけです。マクロ実行時に、Activeな(Excelで表示されている)シートが上位オブジェクトとして、自動的に認識されます。2)).Select上記の例では、Rangeのみシート名が記述されています。2)).Selectというわけです。Activeなシートが、Sheet2の場合はエラーになりません。ActiveなシートがSheet2以外の場合、エラーが発生します。直前に、Sheets("Sheet1").Selectなどとしていれば、ActiveシートがSheet1になっていますから、エラーになります。2)).Selectと書いておけば安心です。Withステートメントを使えばスッキリ纏めることができます。Sheets("Sheet2")の上位オブジェクトが省略されていることにも気がついてください。>そこで自分で基礎を勉強したいのですが推薦できる参考書などがござ>いましたら、教えていただけませんか?私自身は、入門書程度の雑誌を1冊買っただけです。どれが良いとかはよく分かりません。「マクロの記録」を活用して、参考コードを取得し、汎用性のあるコードに編集しています。新しい単語があれば、文字カーソルを単語の上に置き、F1キーを押してVBAのヘルプを必ず見るようにしています。躓いた時は、Web検索して欲しい情報を得たり、あるいは、こうした掲示板で先輩方のお力をお借りしています。Excel(エクセル)VBA入門:目次http://oshiete1.goo.ne.jp/kotaeru_reply.php3?q=4651404エクセル入門・初級編http://www.kenzo30.com/excel_kiso.htm>ご指摘を受けたところを書き換えて回してみた結果、書き換えた箇所>でエラーがでます。(実行時エラー’1004’’cells’メソッドは失敗>しました。’global’オブジェクト)>しかし、何が原因でエラーになるか自分では分かりません。2)).Select上記の例では、RangeとかCellsの上位オブジェクトであるシート名が省略されています。2)).Selectというわけです。マクロ実行時に、Activeな...続きを読む他の回答も見るQEXCELファイルのカレントフォルダを取得するには?EXCELファイルのカレントフォルダを取得するには?C:\経理\予算.xlsD:\2005年度\予算.xlsEXCEL97ファイルがあります。VBAでカレントフォルダ名(C:\経理\,D:\2005年度\)を取得する事は可能でしょうか?CURDIRでは上手い方法が見つかりませんでした。Aベストアンサーこんばんは。以下で試してみてください。SubここでDMNの値を四捨五入したいです。これとは別に切上げ、切捨ても教えていただけるとありがたいです。引数で、対象桁を変更できます。マクロで指定フォルダを開くエクセルにて指定フォルダを開く、マクロがあれば教えて頂けないでしょうか。Aベストアンサーこんにちは。与えるパスを変更します。ExcelのVBAで連番を振る。ExcelのVBAで連番を振る。テキストボックス中の...6エクセルで文字化けしているセ...7エクセルでセル内の一部分だけ...8エクセルで、コンマをピリオド...9Excelの空文字セルの削除方法を...10Excelの置換がうまく出来ません。ある文字色の部分のみ別の...9エクセルで、コンマをピリオド...10Excelの置換がうまく出来ません。Inc.Q質問する(無料)Q&A検索goo検索gooIDで新規登録・ログイン新規登録する(無料)会員の方はこちら外部サービスのアカウントで新規登録・ログインYahoo!で新規登録・ログインGoogleで新規登録・ログインTwitterで新規登録・ログインFacebookで新規登録・ログインdアカウントで新規登録・ログイン※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。会員でない方、会員になるとあなたも質問や回答ができるようになります!!親切・丁寧な回答が集まる場30分以内に回答がもらえ回答数は平均3件!匿名(ニックネーム)での投稿なので。