プロが教える店舗&オフィスのセキュリティ対策術

VBAで別ブックのシートを指定して削除したい。

エクセルでVBAを使用して、別ブックのシートを削除するアプリを作成しています。
これらのマクロを記述するエクセルとは別ブックのシートを削除したいです。

以下の記述だと、削除がされないようなのですがどのように記載したら
別ブックのシートを削除することが可能でしょうか。
エラー等は出ません。また、別ブックの情報も取ってこれているようですが、
削除ができません。。

どなたか教えてください。

'Excelを起動し、ファイルを開く
Set xl = CreateObject("Excel.application")
xl.Workbooks.Open fileName:=fileFullPath, ReadOnly:=False, IgnoreReadOnlyRecommended:=True

'※fileFullPathがオープンするエクセルファイルです。

'"一覧"シートの1列目に「公開時削除」という文字が入っている行の2列目のテーブル名を取得

'シートの削除
Application.DisplayAlerts = False
xl.ActiveWorkbook.Worksheets(deleteTableName).Delete
  Application.DisplayAlerts = True

  '※deleteTableNameは削除したいシートの名前が入ります。

A 回答 (1件)

Option Explicit


Sub hoge()
'VBSとかから実行するのでなければ今実行しているExcelを利用して開くだけでよいだろう。
Dim workbook1 As Workbook
'Openメソッドの戻り値はWorkBook
'このように戻り値を受け取るとき、引数を括弧で括る必要があるようだ。
Set workbook1 = Workbooks.Open(Filename:="C:\Book1.xls", ReadOnly:=False, IgnoreReadOnlyRecommended:=True)

Application.DisplayAlerts = False
workbook1.Worksheets("Sheet1").Delete
'削除するだけじゃなく、ちゃんと保存しておく
workbook1.Save
'開いたので一応閉じる。
workbook1.Close

Application.DisplayAlerts = True

End Sub
    • good
    • 1
この回答へのお礼

himajin100000様

ご回答ありがとうございました。
無事シートを削除することができました。
VBA初心者だった為、行き詰っておりました。とても助かりました。

お礼日時:2010/05/10 16:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A