人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルVBA マクロの作成をお願い致します。

図の通り日付順に入室時間、退室時間が記入された空の表があります。
そこにAデータから日付に合わせて入室時間、退室時間を貼り付けていきます
※Aデータは日付が飛び飛びです。
最終的に完成形のようにしたいです。
空のデータ、Aデータを両方開いている状態から完成形にもっていくマクロをお願い致します。
環境はオフィス2007 win7です。

1408675958
●拡大する

●質問者: tyyyu2005
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●300ポイント ベストアンサー

シートをどのように指定するかの説明がないので、取りあえず対象シートでセルを選択することで代用しています(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

tyyyu2005さんのコメント
ありがとうございます。 動作確認致しました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ