• ベストアンサー
  • 困ってます

エクセル:シートを1つずつ別ファイルで保存する際に

  • 質問No.2914731
  • 閲覧数995
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 83% (142/170)

WindowsXPでExcel2003を使っています。

1つのエクセルファイルの中にSheet1,Sheet2,Sheet3というシートが3個あり、
それらのシートを1枚ずつCSVファイルとして保存したいです(Sheet1.csv、Sheet2.csv、Sheet3.csv)。
現在のコードは以下です。

  Path = 保存場所
For Each SheetName In Array("Sheet1", "Sheet2", "Sheet3")
Worksheets(SheetName).Copy
ActiveSheet.SaveAs Filename:=Path & SheetName, FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next SheetName

このコードだと、新しいBookを開いてコピーし、それを閉じる、
という作業を繰り返しているらしく(自分で一から組んだわけではなく、コード完全に理解できてません)、
タスクバーがちらつきます。
ここに挙げたコードでは3シートですが、実際は20シート程あるので、
タスクバーの「開く・閉じる」の繰り返しはちょっと目立ちます。
これ以外の方法で(とりあえずタスクバーがちらつかなければOK)、
各シートを別ファイルとして保存することは不可能でしょうか?
自分だけが使いたいわけではないので、
タスクバーを隠しておくなどWindows側の設定以外で何か方法があれば、よろしくお願いします。

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

  • 回答No.2
  • ベストアンサー

ベストアンサー率 41% (42/101)

>新しいBookが表示されては消えていくという操作が高速で繰り返されることによってちらちらする、
>という状況の改善案についてだったのですが、

単純な方法ですが、メニューバーの「ツール」-[オプション」で、
表示タブの右上にある「ウインドウをタスクバーに表示」のチェックを
はずせば、お望みの結果が得られると思います。
お礼コメント
rem_1982

お礼率 83% (142/170)

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

完璧に望んだ結果になりました!
ありがとうございます。
色々設定があるものですね~、オフィス系ソフトには。
投稿日時:2007/04/18 09:01

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 33% (19/57)

Application.ScreenUpdatingを使うと画面更新しないのでちらちらはなくなりますよ。

Application.ScreenUpdating = False

CSV出力ロジック

Application.ScreenUpdating = TRUE

でどうですか?
補足コメント
rem_1982

お礼率 83% (142/170)

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

Application.ScreenUpdatingを組み込んみたところ、
エクセル画面のシートのちらつきはなくなりました。
何故かエクセル画面上のちらつきは気にしてませんでしたが、このApplication.ScreenUpdatingは使わせてもらおうと思います。

質問したのは画面下のタスクバー内で、
新しいBookが表示されては消えていくという操作が高速で繰り返されることによってちらちらする、
という状況の改善案についてだったのですが、
こちらは物理的(?)に不可能でしょうか?
同じエクセルの枠内に新規Bookを作成しても、
(Excelファイルを開くと「Microsoft Excel」という大きな枠の中にBookが表示されますよね)、
タスクバーには別アイコンとして表示されるから不可能なのかもしれないとも思うのですが。
投稿日時:2007/04/12 14:22
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ