こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2003VBA

お世話になっております。

手作業マクロの記録で下記作業を行い、一部修正をして一度はうまく動作していたのですが
1点 問題が御座いまして独自に色々試していたのですが、どうにもうまくいかないので
どなたかご教授いただけませんでしょうか。

Sub ●●用()
'
' ●●用 Macro
' 12月1月の店舗を抽出し新しいブックに移動する。
'
Selection.AutoFilter Field:=3, Criteria1:="=12月", Operator:=xlOr, _
Criteria2:="=1月"
Selection.AutoFilter Field:=8, Criteria1:="(店名)"
Range("A4:W2076").Select
Selection.Copy
Sheets.Add
ActiveSheet.Paste
Application.CutCopyMode = False
Worksheets("Sheet1").Select
Worksheets("Sheet1").Move
Workbooks("営業部まとめ.xls").Sheets("全件表示").Activate
Selection.AutoFilter Field:=3
Selection.AutoFilter Field:=8
Range("A5").Select
ActiveWorkbook.Save
End Sub

まず、
>Worksheets("Sheet1").Move
ここだけあれば
>Worksheets("Sheet1").Select
こっちは必要ないでしょうか?

あと、上記の中で
> Worksheets("Sheet1").Select
この部分なのですが、毎回「Sheet1」とは限らないので「アクティブシート」にしたいと思い色々試してみましたが
全てエラーとなり、結局元にもどしてしまいました。

> Worksheets("Sheet1").Move
あと出来ればこれも移動させた後でデスクトップに名前を付けて保存までしたいのですが
どのようなコードを追加すればよろしいでしょうか。

宜しくお願い致します。

投稿日時 - 2009-01-26 16:24:24

QNo.4662771

困ってます

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

#1です。

>>Worksheets("Sheet1").Move
>もし よろしければ こちらを「アクティブシート」にする方法も
>ご教示いただけませんでしょうか。
アクティブなシートを移動なら、
ActiveSheet.Move
ですが、その時に”目的のシート”がアクティブであるかどうかは検証できません。

>Sheets.Add
>ActiveSheet.Paste
このシートと
>Worksheets("Sheet1").Select
>Worksheets("Sheet1").Move
このシートが違うのならば「.Moveしたいシートはどれなのか」を明確にされる必要があるかと。

投稿日時 - 2009-01-27 10:55:04

お礼

再回答ありがとう御座います。

>ActiveSheet.Move
これで うまいこといきました。
ドット入れたりアンダーバーを入れたりブランクを入れたりと
色々やりましたが結論何も入れないのが正解だったんですね。

ありがとう御座いました。

投稿日時 - 2009-01-28 21:50:06

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ブック・シート・データの構成などがわからないので、何に対して「マクロの自動記録」を
取ったのか手順を明記された方がいいようにも感じました。

>あと出来ればこれも移動させた後でデスクトップに名前を付けて保存までしたいのですが

デスクトップのパスを表示する
http://www.moug.net/tech/exvba/0060052.htm

「ファイル名を付けて保存」の保存先フォルダを変更する
http://moug.net/tech/exvba/0060048.htm

デスクトップパスを取得し、保存先フォルダとする。
の参考として。

投稿日時 - 2009-01-26 17:53:45

お礼

ご回答ありがとう御座います。

>Worksheets("Sheet1").Move
もし よろしければ こちらを「アクティブシート」にする方法も
ご教示いただけませんでしょうか。

宜しくお願いします。

投稿日時 - 2009-01-27 09:58:00

あなたにオススメの質問