★ExcelVBA ~ 【配列の練習】指定したシート「以外」のシートの名前を、配列で返す自作関数のテスト作成(不完全だけど使えないことも無い)。ワークシートの一括削除などに一応使えます。
  
※まだ書きかけです。すみません。
※間違ってたらすみません。
※メモ書きなので、自分でも意味不明な箇所も多いです。ごめんなさい。
  
  

'Array()関数で指定したワークシート名「以外」のシート名を、
'「配列で」返してもらう関数。
'「s_AryWSNames」をArray()関数で指定する。
'v_AryAnotherWSNmGet01(Array("sheet1", "原本1", "原本2")) のような形。
'この関数では、英語のシート名の場合、大文字小文字は区別されません。
'
'テストは、
'? Join(v_AryAnotherWSNmGet01(Array("sheet1", "原本1", "原本2")),",")
'のように呼び出します。
'
'ワークシートの一括削除やその他に使えます。
'たとえばワークシートの削除なら以下のようにします。
'On Error Resume Next
'Worksheets(v_AryAnotherWSNmGet01(Array("sheet1", "原本1", "原本2"))).Delete
'しかしまだ完成しておらず、不完全で、使用には制約があります。(後述)
'ただ、そこだけ注意すれば使えることは使えます。
'配列の練習に作っただけなので、配列の練習課題にもなると思います・・・。
'
'Array()関数で指定するシートの数は自由です。
'が、しかし、指定するワークシートの名前は、
'「絶対に存在するシート名」じゃないといけないです。
'また、指定したシート以外に必ず何らかのワークシートがないとそれもだめです。
'でないと、配列をRedimしたときに数が狂ってエラーになってしまうので。
'そこだけ注意。
'なので、場合によっては、この関数を呼び出す際(前)に、
'そもそも「s_AryWSNamesに指定したシート」があるかどうかや
'それ以外のシートがちゃんとあるかどうか、のチェックをするか、
'なければダミーで作ってしまってから、この関数を呼び出す必要があります。
'場合によっては「On Error Resume Next」や「On Error GoTo 0」などと
'セットで使います。
'早い話、この関数は不完全です。