ExcelVBAでアクティブシート以外のシートを削除する

ExcelのVBAでアクティブシート以外のシートを削除する方法。

残したいシート(アクティブシート)を先頭に移動しておき、先頭シートを残すように最終シートから先頭シートに向かってシートの削除を行う。

上記の例では、シートの削除を行うときに確認メッセージが表示されないように「Application.DisplayAlerts」にFalseを設定し、処理が終わったらTrueに戻している。

 

ExcelVBAでワークシートをコピーする

ExcelVBAでワークシートをコピーする場合、ワークシートオブジェクトのCopyメソッドを利用する。

引数に「Before:=ワークシート」(指定したワークシートの左側へコピー)、または「After:=ワークシート」(指定したワークシートの右側へコピー)を指定することでコピー先の位置を決定する。

尚、引数を省略した場合は新たにワークブックを開き、そこにワークシートがコピーされる。

 

 

ExcelVBAでセルの内容をクリアする

ExcelVBAでセルの内容をクリアする場合、Rangeオブジェクト、またはCellsオブジェクトに用意されている以下のメソッドを利用する。

メソッド名クリア対象
Clear全て(書式等を含む)
ClearCommentsコメント
ClearContents値と数式
ClearFormats書式(色や罫線、条件付き書式など)
ClearNotesコメント
ClearOutlineアウトライン
ClearHyperlinksハイパーリンク