• 締切済み

Excelマクロの削除

Excelにて別のExcelのデータをコピーし、名前を付けて保存するマクロを作成しております。 その際、新しく作成したファイルにマクロが残ってしまいます。そのファイルにマクロを残さない方法はありますか? またそのマクロをツール→マクロ→削除をしても次回、ファイルを開いたときに、マクロの有効無効を聞かれます。 他にマクロを削除する場所があるのでしょうか? よろしくお願いします。

みんなの回答

回答No.3

ブックを更新し名前をつけて保存すれば、マクロも自動的に保存されてしまいます。 保存されたマクロを削除するマクロは残念ながら知りません。(多分無理なのではないでしょうか?) でしたら、更新したブックを保存するのではなく、そのマクロ以外のデータを新しいブックに保存したらいかがでしょうか? ためしにこんなのを考えてみました。 Sub ブックコピー保存() Dim i As Long Dim s As Long Dim mySName() As String Dim myPath As String myPath = ThisWorkbook.Path s = Worksheets.Count ReDim mySName(1 To s) As String For i = 1 To s mySName(i) = Worksheets(i).Name Next Worksheets(mySName).Copy ActiveWorkbook.SaveAs myPath & "\COPYTESTDATA.xls" End Sub

  • Woyadi
  • ベストアンサー率53% (68/126)
回答No.2

#1です。 微妙に、いや、かなり大幅にご質問とは異なる回答をしてしまいました。 失礼しました。

  • Woyadi
  • ベストアンサー率53% (68/126)
回答No.1

「ツール」→「マクロ」→「Visual Basic Editor」でVisual Basic Editorを開きます。 プロジェクトウィンドのModuel1を右クリックします。 Moduel1の解放をクリックします。削除する前にModuel1をエクスポートしますか?と聞いてきますが、「いいえ」をクリックします。これでModuel1が削除されました。 他のModuelについても同じように削除します。Ufrm**もあったら削除してください。 プロジェクトウィンドにModuel**とUfrm**が表示されなければOKです。 次にプロジェクトウィンドのSheet*,This workbookの全てをダブルクリックしてマクロが記述されていないか確認します。記述されてあれば削除します。 シートの上にマクロに関係するフレーム、枠、ボックス等があればそれも削除してください。

関連するQ&A