役に立ちそうもないTips移転版

俺得なTipsを書き連ねるだけのブログ。

Excel: (複数)選択されたシートを取得

シートの複数選択自体は手動ならCtrl+クリックとかShift+クリックで一発なのだが、この選択状況をVBAから参照するにはどーするか。
→Window#SelectedSheetsプロパティから取ればよろしい。(Windowオブジェクトがこのプロパティ持ってるってのはUI寄りの話ってことだな)
なお問題のWindowオブジェクトだが、単一のブックであれば「新しいウインドウを開く」でもやってなきゃ1個切り(のはず)なので、Workbook.Windows(1)でおk。

VBAから複数選択する場合はWorksheets#Item()にインデックス(シート名なり序数なり)をArrayでラップして渡してやれば「スライス」になるのであとはそれにSelectでもMoveでもDeleteでも好きなメソッド呼べばよし。