• ベストアンサー

エクセルについて

エクセルについて フィルタオプションの設定にて、抽出したものを、他のシートに貼り付けるマクロなのですが、 下記のエラーとなってしまいます。 なぜでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.6

>Sheets("マップ").PasteSpecial (xlPasteAll) こちらでも同じエラーですか? 当方ではエラーなく通るのですが・・・ 標準モジュールですよね? 差し支えなければソースをあげて、どこで落ちたか教えてもらえますか?

a26vNvvub
質問者

お礼

あらゆる角度からご検討いただきありがとうございます。 別の問題も絡んでいる可能性があると思いますので、 再度、検討します。 感謝しております。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.5

うーんと・・・記述は標準モジュールですかね? ちょっと適宜変更はお願いします^^; >Me.Range("E5").PasteSpecial (xlPasteAll) を、 Range("E5").PasteSpecial (xlPasteAll) に変更して下さい。 もしくは Sheets("マップ").PasteSpecial (xlPasteAll) で。

a26vNvvub
質問者

補足

今度は、インデックスが有効範囲にありませんエラーが出ます。 でも、エラーメッセージが変わった分、進んだような気がします。 引き続きよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.4

ダメですか・・。 では、 >Selection.Copy >Sheets("マップ").Select >Range("E5").Select >ActiveSheet.Paste ← ここでエラーになります。 >Range("H4").Select >Sheets("data").Select 部分を Sheets("data").Select Columns("A:J").Copy Sheets("マップ").Select Me.Range("E5").PasteSpecial (xlPasteAll) Range("H4").Select Sheets("data").Select にしてみてはいかがです?

a26vNvvub
質問者

補足

Meキーワードの使用方法が不正です。 のエラーがでました。

全文を見る
すると、全ての回答が全文表示されます。
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.3

#2です。 >Sheets("output").Select >Range("A1").Select >ActiveSheet.Paste ここで一回ペーストして、なお >Selection.Copy >Sheets("マップ").Select >Range("E5").Select >ActiveSheet.Paste  で別シートにペーストですか? 二回目のSelection.Copyの対象がSheets("output").Range("A1")になっているようですが、これは正しいですか? 仮に正しいとした場合、Sheets("output").Range("A1")の値はSheets("data").Columns("A:J")と同値になりますから、 二回目のSelection.Copyの前に Sheets("data").Select Columns("A:J").Select Selection.Copy を入れてみてください。 (前略) Columns("A:J").Select Selection.Copy Sheets("output").Select Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False Sheets("data").Select  '追加 Columns("A:J").Select  '追加 Selection.Copy '追加 Selection.Copy Sheets("マップ").Select Range("E5").Select (後略)

a26vNvvub
質問者

補足

残念ながら やはり同じエラーが出てしまいます。

全文を見る
すると、全ての回答が全文表示されます。
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.2

コピー元もしくはコピー先のセルが結合されていませんか?(特にコピー元が怪しいです。) もしくは、両方ともセルが結合されている場合、結合セル数は同数ですか? 別面から、セルのコピー元・コピー先の指定を、Range("A1:A3")のように範囲指定してしまっていませんか? 例えばA1~A3セルが結合されている場合、指定はA1だけでいいです。

a26vNvvub
質問者

補足

失礼しました。 マクロは下記のとおりです。 Sheets("data").Select Columns("A:J").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _ Sheets("マップ").Range("E2:N3"), Unique:=False Columns("A:J").Select Selection.Copy Sheets("output").Select Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Copy Sheets("マップ").Select Range("E5").Select ActiveSheet.Paste ← ここでエラーになります。 Range("H4").Select Sheets("data").Select Application.CutCopyMode = False ActiveSheet.ShowAllData Sheets("マップ").Select Application.ScreenUpdating = True End Sub

全文を見る
すると、全ての回答が全文表示されます。
noname#111181
noname#111181
回答No.1

ご質問の状況だけではよく分かりませんが、次のことが考えられます。 1.コピー元ないしはコピー先のシートに連結セルがある。 2.そもそもコピー元とコピー先の領域のサイズ指定が異なる。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのマクロ・・・。

    エクセルのマクロのところを勉強しています。そもそもマクロってどんな時使ったら効果的なのでしょう?私のやってるテキストの問題は、【新しいマクロの記録】をクリックし、フィルタオプションを設定するマクロ、フィルタオプションを解除するマクロ。社員名をク順に並べたりするマクロ。それを元に戻すマクロを作りました。マクロというのはエクセルがあまりできない人にデータを見せるときに簡単にデータの抽出、解除ができるようにする設定だと思えばいいのでしょうか?よきアドバイスお願いします。

  • エクセルのシートの保護について

    win2000、エクセル2000を使用しています。 新しいマクロの記録でフィルタオプションの設定とフィルタの全て表示の設定をしました。フィルタオプションの設定は以下の通りです。   リスト範囲→A10~P500   検索条件範囲→A1~P2 そしてボタンをそれぞれ作成してマクロの登録をしました。 この状態では、なんの問題もなく動くのですが、検索条件範囲だけロックのチェックをはずしてシートの保護をかけると、検索は出来るんですが、解除の時にエラーがでます。   実行時エラー'1004':   WorksheetクラスのShowAllDataメソッドが失敗しました。 というエラーです。 エラーが出ず、マクロが動くにはどうしたらよいのでしょうか? おわかりになる方がいましたら、よろしくお願いいたします。

  • エクセル2000を使っています。

    エクセル2000を使っています。 データベースで複数シートに分かれているのですが(年度別)いっぺんにオートフィルタをして抽出ってできますか? シートごとにオートフィルタをしているのですが、全部のシートいっぺんに出来れば便利なのに。と思いまして。 マクロなどを使わずに簡単に出来ますか?

  • フィルタオプションとシートの保護

    Excel2003を使用して、あるシートに以下の設定を行なっています。 (1) 「入力規則」のドロップダウンリストからデータを選択入力する設定 (2) (1)で選択入力されたデータを抽出条件にしたフィルタオプションを設定(抽出先は指定した範囲) (3) 「マクロの記録」で(2)の作業を記録し、作成したマクロにボタンを作りボタンを押すと抽出を実行するよう設定 ※シート1に元データがあり、シート2が問題のシートになります。 このシートを保護し、他者に変更されないようにしたいのですが、保護をしていると抽出ができなくなってしまいます。 オートフィルタなら有効にする設定があるようですが、フィルタオプションは有効に出来ないのでしょうか? 他のシートを抽出先にせず、これらを実行したいのですが…。 何か良い方法があればご伝授願います。 尚、今回マクロを設定してはおりますが、実際に自分で記述して書くほどの知識はありません。 もしもマクロを使用しなければならない場合はお手数ですが、その詳細も教えて頂ければ幸いです。 宜しくお願い致します。

  •  エクセルマクロでこれを簡単に出来ますか?

     部材関係の仕事に携わっている者ですが、日々変る納品リストの整理が長引き、もっと簡単にしたいと思いますが、次のことをエクセルマクロで瞬時にできるのでしょうか?私はエクセル初心者な者で詳しいことが分かりません。  1.エクセルワークシートが15部の構成のブック  2.その内、自分が必要とするのが5部のシート  3.その各シートには2005.6.○○と日付が付与され   ている  4.その5部のワークシートに記載されている部材うち、自分に関係する物だけをフィルタオプションを使って抽出、抜き出している。  5.フィルタオプションの抽出条件は別ファイルを開き、コピー、貼付けして検索している。  6.各シート検索後、抽出データーを1枚のシートにまとめるために統合機能を使い、1つのリストにしている。  7.日付により、項目が増減、変動するので多くなると1ページに印刷すると、文字が小さくなるので、目一杯縦横の余白を最小にして印刷している。  以上のような流れなのですが、元になるワークシートのシート名に日付が付与されているせいか、マクロを記録してもエラーが出ます。やはり単純なマクロの記録では1~7の操作実行は無理なのでしょうか?  手順はいつもと同じなのですが、シート日付名をそのまま記録してしまうからでしょうか?  現状1~5までの操作を各シート毎に繰り返しているので非常に時間が係ります。VBAじゃないと無理なのでしょうか?個人用マクロに保存しています。アドバイスお願いします。

  • エクセルのマクロのことです。

    いつも、お世話になっております。 エクセルでシート1にデータがあります。 シート2のA1に入力した文字を含む行をオートフィルタで抽出する。 これをマクロを使ってできるでしょうか? 宜しくお願いいたします。

  • フィルタオプションの設定を使って、他のシートの情報を抽出しております。

    フィルタオプションの設定を使って、他のシートの情報を抽出しております。 しかし、他のシートでハイパーリンク設定しているセルを抽出すると、 ハイパーリンクが解除されてしまっており、困っております。 フィルタオプションを使ってハイパーリンクを生かす方法があればご教示いただけると幸いです。

  • Excel2003でシート保護(オートフィルタ使用にはチェック)するとマクロのオートフィルタでエラーになる

    QNo.3901563で回答いただき、Excelの試用で保護後のオートフィルタは使えないのはわかりました。 そこで予めオートフィルタを設定し、シートに保護をかけました。 Excelの画面上ではオートフィルタは使用できます。 マクロよりオートフィルタの抽出条件を変更するコマンドを実行すると「保護されたシートに対して、このコマンドは実行できません」と表示されます。コマンドは新しいマクロの記録で操作を記録したものです。記録したときは特にエラーはでませんでした。 Selection.AutoFilter Field:=2, Criteria1:="AAA" マクロのコマンドでは保護のかかったシートのオートフィルタの抽出条件を変更することは出来ないのでしょうか。 マクロの前後にシート保護を解除するコマンドを入れようかとも思ったのですが、保護にパスワードがかかっており、本末転倒となるもので。

  • エクセル3つ以上のシートから共通項目を抽出

    至急でお願いします! エクセルの3つ以上のシートにまたがる膨大な量のデータから、 共通しているものを抽出したいです。 ネットで検索したところ、2つのシートから抽出する方法は見つけたのですが、 3つ以上だとやり方がわかりません! フィルタオプションの詳細設定で指定するかと思うのですが、 「検索条件範囲」で一つのシートしか指定できません。 ここで二つ以上のシートを指定するにはどうやればいいのでしょうか? ちなみにWindows7です。 エクセルあまり詳しくないので丁寧に教えて頂けるとありがたいです! よろしくお願いいたします。

  • エクセルのデータ検索&抽出作成について

    Excelの別シートでの検索と抽出について ExcelファイルでSheet1~5まで部署別の発注データで項目は下記の通りA列~G列まですべて同じになっているものがあります。 A列 B列 C列 D列 E列 F列 G列 注文番号 商品名 納品日 納品先 発注額 消費税 合計額 別シート(Sheet6)に「商品名」や「納品先」で検索する項目を作成し、その結果を表示できるようにしたいのですが何か良い方法はないでしょうか? マクロ・VBAでの作成方法もあればお願いします。 Excelのバージョンは2010です。 並べ替えとフィルター → 詳細設定 → フィルタオプションの設定 で試してみましたが、検索する商品名(納品場所)を変更してしまうと抽出されませんでした。 宜しくお願いします。

このQ&Aのポイント
  • Thunderbirdでemlファイルが開かれる理由とは?Windowsではどのように開く?
  • Outlookのアカウント削除のため、eml形式で保存したメールをThunderbirdで開いているが、なぜ自動的に特定のソフトから開くようになっているのか疑問。
  • 昔Windowsのライブメールを使用していた際は、emlファイルはWindowsのファイルとして開けたが、なぜThunderbirdで開くようになったのか不明。Windowsでの開き方を教えてほしい。
回答を見る

専門家に質問してみよう