別シートの検索した日付の列に貼り付けるには?

Question 104.5 Excel VBA Borad (掲示板)より Previous Next
同一ブック内のシートです。 入力シート1枚と保存シート4枚あります。
入力シートのC5~M5を保存シート1のD3~AI3に入力した日付(11~10)に対応する日付に縦に変換(行列の入れ替え)して貼り付けていきたいです。
入力シートは1行だけではありません。 C5~M5、C6~M6と続き9行×4組あります。 それぞれ10行目に合計が入るので2組目は13行目から始まります。 入力シートは1枚なのですが、各組毎に保存シートが分かれています。
保存シートはD列から日付が始まりますが、〆日の関係で11日から始まります。 保存シートにも各行毎に合計があります。 例えばC5~M5をD3~D11に貼り付け、次のC6~M6はD13~D23に貼り付け…という感じです。 1行を実験的に試してみました。
    Range("C5:M5").Select
    Selection.Copy
    Sheets("保存シート1").Serect
    Range("D3").Select
    Selection.Pastepecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=True
とふつうにマクロに記録すればでてくるものに Matchを組み合わせればなんとかなるのでは? と思い、こちらのサイトや本を見ながら
Dim 検査値 As Double
    Sheets("入力シート").Select
    Range("C5:M5").Select
    Selection.Copy
    検査値 = Range("O1").Value
    Sheets("保存シート1").Select
    Set 検索範囲 = Range("D1:AI1")
    列 = Application.WorksheetFunction.Match(検査値, 検査範囲, 0)
    Range(列 & "3").Select
    Selection.Pastepecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=True
のように組んでみたのですがうまく作動しませんでした。
検査値のO1は入力シートにあり、記録する日付を入力するセルです。N1に12月、P1に日と記入してあり数字入力するだけのセルです。 毎日の作業で困っています。解決方法教えてください。
Answer   Copyright (C) 2011.11.21 永井善王
ご質問文を解析すると右図のようになると思います。 (クリックで拡大可能)
解析結果はABC順です。不可解な点が数々ありますが、マクロを下記のように修正すればいいかと思います。
上手くいったらご報告ください。
Sub 回答マクロ()
    Sheets("入力シート").Select
    Range("C5:M5").Select
    Selection.Copy
    検査値 = Range("O1").Value
    Sheets("保存シート1").Select
    Set 検索範囲 = Range("D3:AI3")
    列 = Application.WorksheetFunction.Match(検査値, 検索範囲, 0)
    Cells(3, 3 + 列).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=True
End Sub
ありがとうございました
きちんと動きました。
あとは繰り返し行うように設定がんばります。 ほんとうに、ありがとうございました。

 

Excel VBA Macro