[[20200521120806]] 『シフト表から明日の出勤者を割り出したい』(さかまる) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シフト表から明日の出勤者を割り出したい』(さかまる)

検索しこちらまでやってきました。

A列(A3~A44)に勤務しているものの名前、
2行目(H2:AP2)に日付が。
表内には埼玉、東京、神奈川が入力されています。
イメージとしては以下です。

   123456…
Aさん 埼東神埼東神…
Bさん 埼東神埼東神…
Cさん 埼東神埼東神…

ここから、別ワークシート内に

(イメージ)
2020/05/22(明日の日付を自動表示)

A列 B 列 C列 D列 E列 F列

	埼玉		東京		神奈川 ⬅3行目
*	A	*	E	*	I            ⬅4行目
*	B	*	F	*	J           ⬅…
*	C	*	G	*	K
*	D	*	H	*	L	
…
…

と抽出して表示することは出来るでしょうか?
それぞれのシフトが一人とは限らない場合もあります。

どなたかお力お貸しくださると幸いです
どうぞよろしくお願いします

< 使用 アプリ:スプレッドシート、使用 OS:Windows10 >


Sub main()
'sheet2のA1セルに日付を入力して実行
'表はSheet1
    Dim sh1 As Worksheet, sh2 As Worksheet, c As Range, r As Range, col As String
    Set sh1 = Sheets("Sheet1")
    Set sh2 = Sheets("Sheet2")
    sh2.Rows("2:" & Rows.Count).Clear
    sh2.Range("B3").Value = "埼玉"
    sh2.Range("D3").Value = "東京"
    sh2.Range("F3").Value = "神奈川"
    Set r = sh1.Rows(2).Find(sh2.Range("A1").Value, , , xlWhole)
    If r Is Nothing Then MsgBox "該当日付無し": Exit Sub
    For Each c In Range(sh1.Cells(3, r.Column), sh1.Cells(Rows.Count, r.Column)).SpecialCells(2)
        col = Switch(c.Value = "埼", "B", c.Value = "東", "D", c.Value = "神", "F")
        sh2.Range(col & Rows.Count).End(xlUp).Offset(1).Value = c.EntireRow.Cells(1).Value
    Next c
End Sub
(mm) 2020/05/21(木) 13:01

mm様
ありがとうございます!!!!
すぐに試してみます!!
(さかまる) 2020/05/21(木) 13:35

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.