|
>コードをUpしていただけませんか?
はい。下の通りです。
'名簿と印刷フォームをシート追加する
Private Sub Workbook_Open()
Application.ScreenUpdating = False
'名簿台帳シート
SheetAddandCopy ("Meibo.xls")
'印刷フォームシート
SheetAddandCopy ("PrintForm.xls")
End Sub
Sub SheetAddandCopy(sFileName As String)
Dim new_ws As Variant
Dim copy_ws As Variant
Dim sPath As String
sPath = ThisWorkbook.Path
'同一フォルダ内の指定ファイルを開く&コピー
Workbooks.Open Filename:=sPath & "\" & sFileName, ReadOnly:=True
Set copy_ws = Workbooks(sFileName).Worksheets(1).Cells
Set new_ws = ThisWorkbook.Worksheets.Add
copy_ws.Copy (new_ws.Cells(1, 1))
Workbooks(sFileName).Close
Set new_ws = Nothing
Set copy_ws = Nothing
End Sub
以上ですが、どうでしょうか?
動作が速くなる方法がありますでしょうか?
>比較するしかないのかな?
>データ量にもよりますが。
そうですか。面倒なので強制的に保存しましょうかね。。。
また別の問題なんですが、
BookのBeforeCloseイベントで、名簿シートを本体ブックにコピーして
削除するコードを入れると、×ボタンを押して、閉じるときの
「変更を保存しますか?」をキャンセルすると、名簿シートが削除され
てしまい、そのままプログラムを動作できる状態ではなくなってしまうの
ですが、よい方法はありますでしょうか。
|
|