コーディングとは

ExcelでVBA配列を使用して簡単なスタッフ名簿を作成する方法

ExcelでVBA配列を使用して簡単なスタッフ名簿を作成する方法

オフィスで最もイライラし時間がかかる仕事の1つは、スタッフ名簿を作成することです。休日、特別な機会、またはスタッフの不在のために絶えず変更を要求されているため、ほとんどの管理者は名簿の作成に忙しすぎて、より良いシステムの開発について考えることができません。

数行のVBAコードを使用して、週の各曜日とその日に勤務可能な従業員をリストするスタッフ名簿システムの基礎を作成します。

名簿を作成するための配列の一致

必要なのは、仕事に利用できる日を詳述したスタッフのリストです。次に、これらを各曜日と照合して、従業員のリストと従業員が勤務している曜日を生成します。

ジョー・エスポジト、月火水

マリアコステロ、木曜日金土
使用可能な従業員と曜日のリストは「Employees」というワークシートに保持され、コードは各曜日に記録された空き時間と毎週一致します。

‘名簿コレクションを作成して、各曜日と利用可能な人を記録します
新しいコレクションとして薄暗い名簿

‘シートを定義し、従業員の利用可能な日を選択します

Sheets( “employees”)。Activate

Range( “a2″)。CurrentRegion.Columns(2).Select

区切り文字を使用して配列を作成している場合、適切な選択は常に「|」ですまたはパイプ文字。実際のデータには配列を混乱させる可能性のあるコンマが含まれている可能性があるため、コンマは問題を引き起こす可能性があります。

‘曜日の配列を作成します

days = Split( “mon | tue | wed | thu | fri | sat | sun”、 “|”)
‘各曜日を各従業員が利用可能な日と比較します

for x = 0 To UBound(days)

労働者= “”

‘曜日が従業員の空き時間と一致する場合、その日の労働者のリストに追加します

選択範囲内の各c

If InStr(trim(c.Value)、days(x))> 0 Then

workers = workers&c.Offset(0、-1).Value& “、”

終了する

workers = days(x)& “:”&Mid(workers、1、Len(workers)-1)

現在、当日の利用可能な労働者のリストがあり、次の曜日に移動する前に、それらを名簿コレクションに追加します。

名簿。労働者を追加する


コード出力
残っているのは、各曜日に利用できる労働者のリストである名簿コレクションを印刷することだけです。次のステップは、リストをより使いやすい形式で配布することです。

mon:Joe Eposito、Peter Fargo、Lily Markham

tue:Joe Eposito、Lily Markham、Iain Malcolm

水:ジョー・エポジト、リリー・マーカム、イアン・マルコム

thu:マリア・コステロ、ピーター・ファーゴ、リリー・マーカム、イアン・マルコム

金:マリア・コステロ

土:マリア・コステロ

sun:ピーター・ファーゴ、リリー・マーカム
VBAコードの機能強化
スタッフ名簿の作成は複雑な作業になる可能性がありますが、どこかから始めることが重要です。基本システムが整ったら、主要な目的を見失うことなく追加できます。いくつかの提案が含まれます:

スタッフ数が少ない場合に、乱数を使用して名簿日を生成する
注意が必要な曜日を強調する
スタッフが仕事を依頼されるバックアップ日をランク付けできるようにする
概要
スタッフ名簿は、ほぼすべての組織で異なる構造になります。しかし、いくつかの計画とExcelとVBAの知識を持って、ほとんど常に現在の手順の改善であるプロセスを生成することが可能になります。

Comment here