| すぐマク YNxv9902 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| オートフィルタで抽出したデータをコピー貼り付けするとエラーが出るが? |
|
|
|||
こんにちは、もてもてです。
動かしてみましたが、動きましたよ。
とりあえず不要そうな所と、止まってしまうPaste文を削除してみました。 下記のとおりで どうでしょう?
Sub 下位50()
Range("P4").AutoFilter Field:=15, Criteria1:="50", Operator:= _
xlBottom10Items
Range("B3:P900").Copy Sheets("並び替えの抜き出し").Range("B3")
Sheets("生産管理表(毎日電装)").Select
Range("A1").Select
Selection.AutoFilter
End Sub
|
|
|||||
| どうもお久しぶりです。 もてもてさん 早速コピーして使ったのですが、データ1.5Mもあるから なのか今度は'Copy'メソッドは失敗しました'Range'オブジェクト とでました。 いったい何が原因なのでしょう? |
|
|||
| ???何故でしょう。 そもそも、最初のコードも私が試したかぎりではちゃんと動きましたし・・・。 データ量は関係無いと思います。 どうにも、分かりかねます。 (それとも、私のコードがヘナチョコ??) どなたか、分かる方いらっしゃいませんか? |
|
|||
|
横からすみません。Copyメソッド失敗エラーは、4行目のコードの後半を削除すれば解決するかと。ところで、 ・ "並び替えの抜き出し"シートが保護されているようなことはありませんか? ・ どんなエラーメッセージが表示されましたか? それを示されると解決がより早いかと。 余計なことですが、抜き出したデータだけをコピーしたいのであれば Range("B3:P900").Select の代わりに、 Selection.CurrentRegion.Select(アクティブセル領域を選択) とされると良いかと。参考までにまとめておきます。
Sub 下位50項目_参考()
Sheets("生産管理表(毎日電装)").Select
Range("P4").Select
Selection.AutoFilter
Selection.AutoFilter Field:=15, Criteria1:="50", Operator:= _
xlBottom10Items
Selection.CurrentRegion.Select
Selection.Copy
Sheets("並び替えの抜き出し").Select
Range("B3").Select
ActiveSheet.Paste
Sheets("生産管理表(毎日電装)").Select
Range("A1").Select
Selection.AutoFilter
End Sub
|
|
|||||
|
longさん どうもはじめまして! ご教示いただいたマクロで試したのですが、 実行時エラー '_2147417848 (80010108)':'Paste'メソッドは失敗しました'_Worksheet'オブジェクト と出て ActiveSheet.Paste ←ここが黄色になる状態なんです。 データがどっか壊れているのでしょうかね? 誰かにデータチェックしてほしのですが、そんな事ってできますか。 |
|
|||
| このHPのWeb Masterです。 お困りのようですからチェックしてもいいですよ。ただし、1.5Mのままでは困ります。必ず圧縮したものをメールに添付して送信ください。 |
|
|||||
| はじめましてWeb Masterさん。 弊社にて生産管理を開始(時代遅れですが)しようと、エクセルで簡易的に作成している段階なのですが、前までうまくいっていたのに項目やリンクを増やしたりしてるうち、データがなんかよく分からない状態になって お手上げ状態なので、どうか宜しく御願い致します。 |
|
|||
|
再現テストをしてみました。ご使用中のExcelのバージョンは 2002(10.2614.2625)でしょうか? そうだとすれば確かに「Pasteメソッドは失敗」エラーが出ますね。 まったく貼り付けされないのではなくて、表頭部(B3:Y4セル)は貼り付けられていて、オートフィルタされたデータ部(B4:Y54セル)が貼り付いていません。 仕方ないのでエラーをリセットしてからブックを閉じ、Excelを終了すると砂時計マークになったままで終了しませんでした。Excel97と 2000では、まったく問題ないのに何か変です。 よって、もしかしたら Excel2002の不具合ではないかと考え、マイクロソフト社の「サポート技術情報(Knowledge Base)」のページ で検索してみましたが、Excel2001での類似例があるだけで、ズバリのものは見つけることができませんでした。
対処方法 コピー元のワークシートを拝見しましたが、他のブックにリンクしているセルがいっぱいあります。 断定できませんが、Excel2002がうまく貼り付けできない原因になっているかもしれません。 対処方法として、Pasteメソッド(貼り付け)の代わりに、PasteSpecialメソッド(形式を選択して貼り付け)に変えることにしましょう。 ついては下図のとおり、表頭部分に結合セルが2カ所ありますが、 ![]() PasteSpecialメソッドでは支障がありますから、[選択範囲内で中央]に変えておきます。 ![]() こうするための操作方法がわからない場合は、上図を参考にしてください。 そして、マクロを下記のとおり修正します。
'-----------------------------------------------------------------------------------------
Sub 下位50項目_対策済み()
Sheets("生産管理表(毎日電装)").Select
Range("P4").Select
Selection.AutoFilter
Selection.AutoFilter Field:=15, Criteria1:="50", Operator:= _
xlBottom10Items 'オートフィルタで下位50を抽出する
Selection.CurrentRegion.Select 'アクティブセル領域を選択する
Selection.Copy 'コピーする
Sheets("並び替えの抜き出し").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteFormats '書式を貼り付ける
Selection.PasteSpecial Paste:=xlPasteValues '値を貼り付ける
Sheets("生産管理表(毎日電装)").Select
Range("A1").Select
Selection.AutoFilter
End Sub
'-----------------------------------------------------------------------------------------
なお、「並び替えの抜き出し」シートをよく見ると S57、T57、U57セルの下縁にそれぞれ(オートシェイプの)直線が6または12本づつ、ぴったりと重なって描かれています。本題とは無関係と思われますが、不要ならば消しておきましょう。
|
| http://www.geocities.jp/happy_ngi/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |