図の通り日付順に入室時間、退室時間が記入された空の表があります。
そこにAデータから日付に合わせて入室時間、退室時間を貼り付けていきます
※Aデータは日付が飛び飛びです。
最終的に完成形のようにしたいです。
空のデータ、Aデータを両方開いている状態から完成形にもっていくマクロをお願い致します。
環境はオフィス2007 win7です。
シートをどのように指定するかの説明がないので、取りあえず対象シートでセルを選択することで代用しています(A1セルに特に意味はありません)。
Sub Sample() Dim 選択セル As Range On Error Resume Next Set 選択セル = Application.InputBox("転記元シートの A1セルを選択してください。", "シート選択", Type:=8) If 選択セル Is Nothing Then Exit Sub Dim srcWS As Worksheet Set srcWS = 選択セル.Parent Set 選択セル = Application.InputBox("転記先シートの A1セルを選択してください。", "シート選択", Type:=8) If 選択セル Is Nothing Then Exit Sub Dim dstWS As Worksheet Set dstWS = 選択セル.Parent On Error GoTo 0 Dim c As Long For c = 1 To srcWS.Cells(1, Columns.Count).End(xlToLeft).Column Step 2 If IsDate(srcWS.Cells(1, c).Value) = True Then Set 選択セル = dstWS.Rows(1).Find(what:=DateValue(srcWS.Cells(1, c).Value), LookIn:=xlFormulas) If Not 選択セル Is Nothing Then srcWS.Cells(3, c).Resize(srcWS.UsedRange.Rows.Count, 2).Copy _ dstWS.Cells(3, 選択セル.Column).Resize(srcWS.UsedRange.Rows.Count, 2) End If End If Next End Sub
ありがとうございます。
2014/08/24 21:55:25動作確認致しました。