- 締切済み
EXCEL・VBAで、範囲名を参照したい。
またまたお世話になります。 タイトルの通りなのですが、EXCELで作成している出勤表(sheet毎に月別にし、縦軸に社員名、横軸に日付を入れてあります。社員名は同一のブックの別シートにまとめてあり、参照で各月に表示してあります。)で、出勤した日に”1”を入れるのですが、今は手で月ごと、社員名毎に範囲名を作成し、一ヶ月分をまとめて入力しています。 今はまだ40名程なので、月が変わった時に範囲名を手で付け替えているのですが、人数が増えてきたり、入力担当者が変わったりした時に、この方法は大変になってくると思います。 そこで、現在の範囲名登録状況を確認し、(配列で良いと思います。)社員名と照合し、選択シートに自動的に割り振るように出来たら良いと思い、挑戦しているのですが、『現在の範囲名登録状況を確認』するところが、検索しても中々出てこなくて困っております。 予め、何という『範囲名』が登録されているか分からない、それを取得したい、といった場合、そういうことは可能なのか、範囲名を付け替えるには、DIMにREDIMがあるように一つのコマンドで可能なのか、それとも、削除→シート変更→作成を繰り返さなければ不可能なのか、また、方法は在るのか等知りたいです。よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
補足
ありがとうございます。遅くなってしまい申し訳ございません。 上記を試したところ、 『 名前:_xlfn.COUNTIFS :範囲: =#NAME? 名前:_xlfn.DAYS :範囲: =#NAME? 』 と出た後、 『 名前:社員名1 :範囲: ='10月'!$F$4:$AJ$4 名前:社員名2 :範囲: ='10月'!$F$5:$AJ$5 』(社員名1、社員名2は実名です。) が人数分出ます。 この社員名の部分を”作業用”シートにある≪社員名≫と比較し、存在していれば、”!$F$4:$AJ$4”の部分は変えずにシート名だけを変更し、”作業用”シート上の≪社員名≫が範囲名に存在しなければ、その不足分を追加し、適切に範囲設定をしたいと思います。 この際、月を指定しシートを選択するのではなく、シートを選択した時点で何月が選択されたのかを判断し、自動的に範囲設定が出来ればと思います。 よろしくお願い致します。