EXCEL 時刻起動で複数ブックを1つにまとめる 削除


Message#4 2015年2月5日(木)11時49分
From: BP者
東京支店集計.xlsに標準モジュールを作成し、以下のVBAコードを貼り付けて上書き保存してください。
No1のタスクスケジューラへの登録で該当ブックを指定時間に開くように設定してください。
(Excelのセキュリティ設定は「すべてのマクロを有効にする」にしてください)
           ↓
▼「すべてのマクロを有効にする」を使用したくない場合▼▼▼
Excelのセキュリティレベルは以下選択してください。
・「デジタル署名されたマクロを除き、すべてのマクロを無効にする」
そのあと、以下のサイトの各項目(2箇所)を参照して設定頂き、
ttp://office.microsoft.com/ja-jp/excel-help/HA001231781.aspx
・「独自のデジタル証明書を作成して、自己署名する」
・「マクロ プロジェクトにデジタル署名を追加する」>「Excel の場合」
一度「東京支店集計.xls」を開いて添付画像のようにデジタル署名に対し許可を行ってください。
次回起動時から自動的にAuto_Openイベントが実行されます。
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲


コードの内容は以下のようにしています。
・ブックが開かれたら対象フォルダ以下の「*.xls」ファイルを順次開きながら
 1つ目のシートを集計ブックへシートコピーして閉じます。
・各ブックをコピーし終われば、上書き保存してエクセルを終了させます。


補足:
・シート名が重複する場合はエクセルが勝手に(1)、(2)など添え字を付けてくれると思います。
・フィルタは削除しています。すべて表示させているわけではありません。
・東京支店集計.xlsをマクロを実行しないで開くにはエクセル起動したのち、
 「開く」より東京支店集計.xlsを選択後、Shftキーを押しながら「開く」を押してください。


■VBAコード
Sub Auto_Open()
  '型宣言
  Dim MyPath As String
  Dim MyFile As String
  Dim Wb As Workbook
  Dim Tb As Workbook
  Dim myRange As AutoFilter
  'パスの設定
  MyPath = "C:\デスクトップのフォルダパス\テスト\個人用\"
  '準備
  MyFile = Dir(MyPath & "*.xls")
  Set Tb = ThisWorkbook
  'ファイル別に処理
  Do While MyFile <> ""
    'ファイルを開く
    Set Wb = Workbooks.Open(MyPath & MyFile)
    'シートのコピー
    Wb.Sheets(1).Copy After:=Tb.Worksheets(Tb.Worksheets.Count)
    'フィルタの解除
    Set myRange = Tb.Worksheets(Tb.Worksheets.Count).AutoFilter
    If Not myRange Is Nothing Then
      Tb.Worksheets(Tb.Worksheets.Count).Range("A1").AutoFilter
      Set myRange = Nothing
    End If
    'ファイルを閉じる
    Application.DisplayAlerts = False
    Wb.Close (False)
    Application.DisplayAlerts = True
    MyFile = Dir()
  Loop
  '上書き保存してエクセル終了
  Tb.Save
  Application.Quit
End Sub

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com