通報するこの回答へのお礼ご回答ありがとうございます。私の語彙力が足りず申し訳ありませんでした。現在、セルの中に「さん」を見つけたら、隣の列に「さん」を書き出すというプログラムを作成しています。「さん」を含むセルを特定できたあとは、人の目で判断することを想定しています。人の目で判断する際に、あきらかに人名ではないワードを設定して除外し、判断の手間を減らせないかと考えていたのです。「さん」を見つけたときに、「たくさん」だったら、隣の列に「さん」を書き出さない処理ができるかということを質問させていただきました。>プログラムのチェックルーチンを書き重ねることで、見かけ上一度にやれる手はありそう。ご助言、ありがとうございました。見かけ上一度にできるよう検討してみます。人名」に関するQ&A:竣工と落成の違いを教えてください。自営業やフリーランスといった個人事業主の方、副業をされている方はこの時期になると確定申告のお悩みや疑問があるものです。今回は教えて!gooに寄せられた確定申告について質問の多かった代表的なQAをテーマごとにまとめてみました。rangeメソッドは失敗しました。globalオブジェクトのエラーExcel(エクセル)ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。Basic(VBA)5VBAで条件が一致する行のデータを別シートに抽出Excel(エクセル)6VBAで文字列を数値に変換したいExcel(エクセル)7Range(A1")⇔cells(1,1)の変換。数式ではなく計算結果をセルに入れたいExcel(エクセル)12EXCELファイルのカレントフォルダを取得するには?Excel(エクセル)13VBAです。自営業やフリーランスといった個人事業主の方、副業をされている方はこの時期になると確定申告のお悩みや疑問があるものです。今回は教えて!gooに寄せられた確定申告について質問の多かった代表的なQAをテーマごとにまとめてみました。rangeメソッドは失敗しました。globalオブジェクトのエラーExcel(エクセル)ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。Basic(VBA)5VBAで条件が一致する行のデータを別シートに抽出Excel(エクセル)6VBAで文字列を数値に変換したいExcel(エクセル)7Range(A1")⇔cells(1,1)の変換。数式ではなく計算結果をセルに入れたいExcel(エクセル)12EXCELファイルのカレントフォルダを取得するには?Excel(エクセル)13VBAです。エクセルVBA初心者です。回答数ランキングです。別ブックから該当データを検索し、必要なデータを取得する方法について部品表というブックがあります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」は閉じて置いてください。VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。常にファイル名を取得出来るVBAをどなたか、教えて下さい。操作対象になっているブックの名前はActiveWorkbook.Nameですね。>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになりというような文脈からすると、ThisWorkbook.Nameの方ですかね。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な...続きを読む他の回答も見るQ別のシートから値を取得するときWorksheets("シート名").Activate上記のを行ってから別シートの値を取得するのですが、この処理を行うと指定したシートへ強制的にとんでしまいます。~Worksheets("シートA").ActivateシートAの値取得:Worksheets("シートB").ActivateシートBの値取得Nextこのイメージ処理を行うとものすごい勢いで画面がチカチカします。シートを変えずに他のシートから値を取得する方法はないのでしょうか。教えてください!AベストアンサーWorksheets("シートA").Range("A1")みたいな感じでできませんか?他の回答も見るQ[初心者です]VBAで指定列からAを検索し、発見したら隣のセルに値0を入れるマクロ。VBAで指定列からAを検索し、発見したら隣のセルに0を入れるマクロを組みたいのですが、組み方がVBA初心者の為わかりません。文字Aを検索し、発見したら隣のI列に値0を入れるというマクロです。Subと過去の質問で考えてみたのですが、Aがあった時、、、、とコードが書けないです。困っているので、ご教授頂けないでしょうか?出来れば、そのままマクロに出来るコードを教えて頂けないでしょうか?宜しくお願い致します。Aベストアンサーこんばんは。#3さんのおっしゃっていることも、もっともなのですが、気になる点がありましたので、自分のことを踏まえて、書かせていただきます。同じようなケースが出会うと思います。こんな原則を考えてみたらどうでしょうか?それは、私も自身も同じなのですが、ワークシートのコマンドで行われるものは、記録マクロから作ってみるということです。他にも、「統合」とか、「置換」とか「オートフィルタ」「フィルタオプション」とかは、みんなパターンが決まっています。メソッドは、あるレベル以下の人は、省略する傾向があるようです。何が大事で、何が大事でないかというのは、やってみなければ分かりませんが、検索語だけを入れる書き方は、実務では、あまりしないほうがよいと思います。省略は、とどめたほうがよいです。自分が思っているデフォルトとは違うことがあるので、「明示的(意図的に)」にオプションは入れたほうがよいです。メソッドは、5年経っても、たぶん完全に覚えられません。面倒なコードのひとつです。これはパターンが決まっているので、ひとつパターンが決まったら、それに当てはめればよいだけです。#3さんで示されているMougのサンプルコードと似てはいるのですが、Mougのサンプルコードでは、Verionによって、失敗することがあります。#3さんのおっしゃっていることも、もっともなのですが、気になる点がありましたので、自分のことを踏まえて、書かせていただきます。同じようなケースが出会うと思います。こんな原則を考えてみたらどうでしょうか?それは、私も自身も同じなのですが、ワークシートのコマンドで行われるものは、記録マクロから作ってみるということです。他にも、「統合」とか、「置換」とか「オートフィルタ」「フィルタオプション」とかは、みんなパターンが決まっています。複数の条件を含む対象を抜き出す。エクセルVBAについて質問です。エクセルのバージョンは2003と2007を主に使用しています。下記の様なデータがあるときに、部活が「野球」でかつクラブは「囲碁」に入っている生徒の学籍番号を別のシート(Sheet2)のB3から下に順にリスト化するマクロがどうしても出来なくて困っています。next等を使うのでは無いかと色々してみましたが上手く出来ない現状です。囲碁Aベストアンサーこんばんは!Sheet1のA列(学籍番号)のみをSheet2のB3セル以降に表示すれば良いわけですね?一例です。VBE画面に↓のコードをコピー&ペーストしてマクロを実行してみてください。_)m他の回答も見るQ異なるブック間でのセル範囲のコピー/VBA異なるブック間でクリップボードを経由せず直接コピーしたいため下記のマクロを記述していますが、実行エラーが発生します。3)).Value(補足)(1)VBA実行中のThisWorkbook、excel.xlsは別のブックですが、同じフォルダにあります。(2)aは数値が入る変数です。1)や他のCellsが参照エラーになるためです。ブックとワークシートを特定できないためエラーになってしまいます。検索して該当行を抽出はじめまして、下記のように、Excelでマクロを組みたいのですが組み方がわかりません。ご教授願えませんでしょうか。生徒数500名ほどシート1には生徒の生徒番号、氏名などがあります。ソートされていません。80お手数ですが、ご教授願えますでしょうか。はじめまして、下記のように、Excelでマクロを組みたいのですが組み方がわかりません。ご教授願えませんでしょうか。生徒数500名ほどシート1には生徒の生徒番号、氏名などがあります。ソートされていません。してもVBAでやりたい場合は、一例です。VBE画面に↓のコードをコピー&ペーストしてマクロを実行してみてください。してもVBAでやりたい場合は、一例です。VBE画面に↓のコードをコピー&ペーストしてマクロを実行してみてください。VBAを使い出して、初日からつまずいてます・・・。指定したセル範囲のいずれかに入力があるか調べたいんですけど、それができるプロパティとかってあるんでしょうか?地道にセル毎にチェックするしかないいんでしょうか??たとえば、範囲をA1:H1として、その範囲内のセルに何か入力があったらTrueが返ってくるとか・・・。知ってる方がいらっしゃたら教えてください!!よろしくお願いします!!!!!Aベストアンサー>これは、まず範囲を選択して、入力チェック()を呼ぶことなのでしょうか書いたモジュールは範囲が指定してあります。("A1:H11"は間違いです。質問からすると"A1:H1"です)何もしないで入力チェックを実行します。変えれば任意の選択範囲がチェックの対象になります。任意の範囲を選択して実行します。入力有無が判定できます。>ワークシート関数CountAってどうやったら出てくるんですか??ついApplicationと書いてしまうんですが、『WorksheetFunction.』と打てば、候補の関数名が表示されると思います。入力有無を返すユーザー定義関数です。分かりやすくなった?この例は引数に"A1:H1"をセットしています。Function>これは、まず範囲を選択して、入力チェック()を呼ぶことなのでしょうか書いたモジュールは範囲が指定してあります。("A1:H11"は間違いです。質問からすると"A1:H1"です)何もしないで入力チェックを実行します。変えれば任意の選択範囲がチェックの対象になります。任意の範囲を選択して実行します。入力有無が判定できます。)]などと出てくるのでそのまま使っています。Sub]ではなくて[Sub]を使っています。違いは何なんでしょうか?どなたか説明頂けませんか?よろしくお願いします。「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。「指定項目」のところに「Public」と「Private」の説明がありますよ。hogehoge()」とした場合は「Public」とみなされます。Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。Test2()」を作成してみてください。Excelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。Test1はPublicで、Test2はPrivateだからです。Range(A1")⇔cells(1,1)の変換。Range(A1")⇔cells(1,1)の変換。2つの条件が一致したら...18高校二年生です。Inc.Q質問する(無料)Q&A検索goo検索gooIDで新規登録・ログイン新規登録する(無料)会員の方はこちら外部サービスのアカウントで新規登録・ログインYahoo!で新規登録・ログインGoogleで新規登録・ログインTwitterで新規登録・ログインFacebookで新規登録・ログインdアカウントで新規登録・ログイン※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。会員でない方、会員になるとあなたも質問や回答ができるようになります!!親切・丁寧な回答が集まる場30分以内に回答がもらえ回答数は平均3件!匿名(ニックネーム)での投稿なので。