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

WindowsXPでExcel2003を使っています。 1つのエクセルファイルの中にSheet1,Sheet2,S...

Bickyon さんからの 回答

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

  • 2007/04/13 21:54
  • 回答No.2
  • ベストアンサー
Bickyon

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

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

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

お礼率 83% (142/170)

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

完璧に望んだ結果になりました!
ありがとうございます。
色々設定があるものですね~、オフィス系ソフトには。
投稿日時:2007/04/18 09:01
この回答にこう思った!同じようなことあった!感想や体験を書こう!
この回答にはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
  • 決められたセル範囲のみ別ファイルに保存するマクロ オフィス系ソフト

    Book内のシートSheet1,Sheet2,Sheet3を別個のCSVファイルSheet1.csv/Sheet2.csv/Sheet3.csvとして保存したいです。 過去ログを参考に以下のコードで正常に動作しました。 For Num = 1 To 3 SheetName = "Sheet" & Num Worksheets(SheetName).Copy ActiveSheet.SaveAs Filename:=myPath & SheetName, FileFormat:=xlCSV, CreateBackup:=False ActiveWorkbook.Close False Next ここで、 決められたセル範囲A1:D5に書かれたデータのみをCSVファイルとして保存する、 といったことをしたいのですが、記述の仕方を教えてください。 その範囲以外が削除されてしまっても構わないので、 その範囲以外をクリアしてから保存を実行、というコードも組んだのですが、 上書き保存されているシートに対して行うとクリアする前の状態のシートをコピーするようで、失敗しました。 Worksheets(SheetName).Copyの部分を、 Sheets(SheetName).Select Range("A1:D5").Copy と変えてみたのですが、マクロを実行したファイルが閉じてしまい、巧く動きません。 ※myPathには保存先フォルダのパスが入ります。 また、保存の際に「同名のファイルがあるが、上書きするか?」のメッセージを出さずに強制的に上書きにする方法はありますか?...

  • VBA Excel処理の追加を2点教えてください Visual Basic

    Office2003(SP3) 以下は、昔、教えてもらったExcel VBAスクリプトで、よく使わせて もらってます。「C:\mybooks\」にあるxlsファイル(a001.xls、a002.xls、 a003.xls・・・・)を片っ端から開き、 1つのBookに束ねる動作をします。 これだけでも大変便利なのですが、もう少し改善いたしたく。 (1) 束ねられたBookのSheet名が、Sheet1、Sheet1 (2)、Sheet1 (3)、 Sheet1 (4)・・・ になってしまいます。そこで、ファイル名から拡張子を落 とした文字列をSheet名にセットする記述をご教示下さい。 (2) a001.xls、a002.xls、a003.xls・・・は、それぞれSheet1、Sheet2、 Sheet3を含みます。Sheet1だけが抜き取られてSheet2、Sheet3が残された大量 の残骸Bookが開きっぱなしになります。これら、保存せずに閉じる記述を追加 したいのですが。 よろしくお願い致します。 Sub OpenFiles() Dim i As Integer Dim wb As Workbook Dim fname Dim dirname As String ' i = 1 dirname = "C:\mybooks\" fname = Dir(dirname + "*.htm") If fname <> "" Then Do While fname <> "" If fname <> "." And fname <> ".." Then If i = 1 Then ' 最初のファイルを開く Workbooks.OpenText FileName:=dirname + fname Set wb = ActiveWorkbook ' 最初のファイルを新規ブックに複製して閉じる。 ActiveSheet.Copy wb.Close Set wb = ActiveWorkbook Else ' 2番目以降のファイルは複製した最初のファイルに追加 Workbooks.OpenText FileName:=dirname + fname ActiveSheet.Move After:=wb.Worksheets(wb.Worksheets.Count) End If i = i + 1 End If fname = Dir Loop Else MsgBox "検索条件を満たすファイルはありません。" End If Set wb = Nothing End Sub...

  • エクセルのブック間ででデータをコピーするPG Visual Basic

    エクセル2000でブック間のデータのコピーをやっていての質問です。 あるディレクトリ内に「統合するファイル.xls」と「統合されるファイル.xls」があります。両方のファイルにはC列からG列、2行目以下に数字のデータが入っています。(C2~G2、C3~G3・・・・というように続きます) 「統合されるファイル」のC列からG列のデータをコピーして「統合するファイル」のデータの下に貼り付けるプログラムを作っています。プログラムは以下です。 Dim sBase As String Dim sMyPath As String Dim lLine As Long Dim lStartRow As Long Application.ScreenUpdating = False '統合するファイル名・ディレクトリ名取得 sBase = ActiveWorkbook.Name sMyPath = ActiveWorkbook.Path & "\" Workbooks.Open Filename:=sMyPath & "統合されるファイル.xls" lLine = Workbooks("統合されるファイル.xls").Worksheets("Sheet1").Cells(ActiveSheet.Rows.Count, 3).End(xlUp).Row '統合するファイルの最終行を抽出 lStartRow = 0 lStartRow = Workbooks(sBase).Worksheets("Sheet1").Cells(ActiveSheet.Rows.Count, 3).End(xlUp).Row '統合されるファイルからコピーして統合するファイルの最終行より下に貼り付け Workbooks("統合されるファイル.xls").Worksheets("Sheet1").Range(Cells(2, 3), Cells(lLine, 7)).Copy Destination:=Workbooks(sBase).Worksheets("Sheet1").Range(Cells(lStartRow + 1, 3)) Workbooks("統合されるファイル.xls").Close SaveChanges:=False Application.ScreenUpdating = True 現在、このプログラムを走らせると、コピーして貼り付けるところで「アプリケーション定義またはオブジェクト定義のエラーです」という警告が出てコピーされない状況です。 何が悪いのでしょうか?...

  • Excelマクロで、ファイルの閉じ方 オフィス系ソフト

    作成している実行ファイルabc.xlsのマクロについて質問です。 (過去作られたものを修正しているので、私にも説明できないコードはあります) 実行すると、別ファイルSheet1.csvを開き、 Sheet1.csvの4~1024行目を、abc.xlsにコピーし、 Sheet1.csvを閉じる。 といったことをやりたいです。 ※ここまでのソースに、Sheet1.csvを開く、という部分があります。  Sheet1.csvはアクティブになっています。 ※Sheet1.csvファイルには、Sheet1というシートが1つだけあるものとします。 rng1 = "4:1024" rng2 = "4:4" rng3 = "A4" CurName = "abc.xls" sheetname = "Sheet1" ActiveSheet.Rows(rng1).Copy Windows(CurName).Activate Sheets(sheetname).Select   Range(rng2).Select '特に意味は無いと思われる Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Range(rng3).Select '特に意味は無いと思われる Application.CutCopyMode = False Dim ACT As String ACT = sheetname & ".csv" 以上を実行すると、 Sheet1.csvを開き、コピーする所までは正常に実行できます。 抜粋したのでこれだけじゃ意味不明な部分があるかもしれませんが、コピー完了までは正常に動いております。 この後に、Sheet1.csvを閉じるコマンドを入れたいのですが、 検索等して調べたコードではエラーが発生し、閉じることができません。 例えば「新しいマクロを記録する」でExcelに作ってもらったコードだと、  Windows("Sheet1.csv").Activate  ActiveWindow.Close で閉じることができるのですが、 これを記述してもエラーが出ます。 どのように書けばよいのでしょうか。...

  • VBAでぺージ設定を継承するファイル分割の方法 オフィス系ソフト

    エクセルファイルの分割方法について教えてください。 使用OS等:Windows XP、Excel2003 具体的には1ブック、1シートのみに全データが入っています。 項目行は2行あり、分割のキーと項目がA列に入っています。 そのキー毎に新しいファイルを作りたいと考えています。 始めに新しいファイルにパスワードをつけるかどうか、つけるならつけたいパスワードを入力するようなフォームが立ち上がります。 そして、分割したい元ファイルはどれなのか選択式になっており、いろいろなファイルに適応できるような物にしています。 尚、元ファイルの入っているフォルダ内に分割された各々のファイルを作成します。 分割後のファイルには、”キー(XXX)+元ファイル名”にし、ページ設定や書式なども継承するようにしたいのですが、今使っているものですと、ページ設定が繁栄されません。 ほとんど初心者なもので、元々あったマクロを少し修正したりはしているのですが、上記の問題を解決する事ができず、困っております。 使用中のコードを載せますので、アドバイスまたは違う方法がありましたら、ご教示願います。 コメントなどつけていただけるとありがたいと思います。 どうぞよろしくお願い致します。 Sub 分割パスあり() Dim DPath As String Dim DName As String Dim fNAME As String Dim fiNAME As String Dim pass As String Dim oneNAME As String Dim oneFILE As String Dim opdia Dim n UserForm1.Hide pass = InputBox("パスワードを入力して下さい。", "パスワード入力") opdia = Application.Dialogs(xlDialogOpen).Show If opdia = Cancel Then Exit Sub End If DPath = ActiveWorkbook.Path & "\" DName = ActiveWorkbook.Name Range("A:A") = Range("A:A").Value Range("A3").Select Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess Selection.EntireRow.Insert shift:=xlShiftDown n = 4 For n = 4 To ActiveCell.CurrentRegion.Rows.Count * 2 On Error GoTo ErrorHandler If Cells(n, 1).Value = Cells(n - 1, 1).Value Then Else fNAME = Cells(n - 1, 1).Text fiNAME = fNAME & DName Rows("1:2").Copy Workbooks.Add ActiveSheet.Paste ActiveWorkbook.SaveAs Filename:=DPath & fiNAME, password:=pass Windows(DName).Activate Cells(n, 1).EntireRow.Insert shift:=xlShiftDown Cells(n - 1, 1).CurrentRegion.EntireRow.Select Selection.Copy Windows(fiNAME).Activate ActiveSheet.Paste Destination:=Range("A3") Cells.Columns.AutoFit ActiveWorkbook.Close savechanges:=True Windows(DName).Activate n = n + 1 End If Next oneNAME = Cells(n, 1).Text oneFILE = oneNAME & DName FileCopy Source:=fiNAME, Destination:=oneFILE Rows("1:2").Copy Workbooks.Add ActiveSheet.Paste ActiveWorkbook.SaveAs Filename:=DPath & oneFILE, password:=pass Windows(DName).Activate Cells(n, 1).CurrentRegion.EntireRow.Select Selection.Copy Windows(oneFILE).Activate ActiveSheet.Paste Destination:=Range("A3") Cells.Columns.AutoFit ActiveWorkbook.Close savechanges:=True Application.CutCopyMode = False Application.DisplayAlerts = False Windows(DName).Close savechanges:=False MsgBox "分割処理が終了しました" Exit Sub ErrorHandler: ActiveWorkbook.Close savechanges:=False Windows(DName).Close savechanges:=False MsgBox "分割処理が終了しました" Exit Sub End Sub...

ページ先頭へ