| 
    
     |  | ▼かかこ さん: 
 こんにちは
 
 この種の処理自体はあまり感心しない(?)ので、コードそのものは読んでいません。
 お困りのポイントについてのみ。
 
 その前に、前提なんですが、ブックをコピーする際に、要は、元ブックにある
 全てのシートをコピーするんですよね。
 
 であれば、
 
 WBK1.Worksheets.Copy
 
 でOKです。smonth も tblSH も不要です。
 
 以下は所感です。
 
 データブックとマクロブックを同じものにすると、この種の問題がでますね。
 (つまり、マクロを削除しておきたいという要件)
 これは、今回のように、保存のみならず、たとえば、このブックを第三者に
 配布したい、その際に、やはりマクロを削除して渡したいということも多いと思います。
 
 これら「配布の問題」に対しては、いろんなサイトで方法がのべられており、そのどれかを
 参照されて、このコードを作成されたんでしょうが、私自身は
 
 ・データブックにはマクロを持たせない。
 ・マクロブックでデータブックを開いて処理して、保存する。
 
 開く方法はコード内で固定でファイル名を与える以外に、アップされたコードで既にお使いの
 ファイル指定のダイアログで選ばせるという方法もありますね。
 
 こうしておけば、いつでも、データブックを名前を付けて保存することが可能になりますし
 コピーをそのまま第三者に渡すこともできるわけです。
 
 |  |