[[20151127133426]] 『ボタンクリックでコピー貼り付けを自動で』(AI) ページの最後に飛ぶ

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

 

『ボタンクリックでコピー貼り付けを自動で』(AI)

 またお世話になります。
sheet1に曜日毎のデータがあります。このsheet1のdataをsheet2に貼り付けたいのですが、手順としてはsheet2のB3に日〜土曜日の簡易リストを作っておき、この曜日と同じ
曜日のdataをsheet1からコピーしsheet2に貼り付ける。と言った事がしたいのです。

 sheet2のdata内容は数字と時間です、このdataは違うsheetからイコールで持ってきてます。下記がそれぞれのレイアウトです。

sheet1

A3に[日]と記載 A5〜D129にDATAがあり、これをコピー
F3に[月]と記載 F5〜I129にDATAがあり、これをコピー
K3に[火]と記載 K5〜N129にDATAがあり、これをコピー
P3に[水]と記載 P5〜S129にDATAがあり、これをコピー   
U3に[木]と記載 U5〜X129にDATAがあり、これをコピー
Z3に[金]と記載 Z5〜AC129にDATAがあり、これをコピー
AE3に[土]と記載 AE5〜AH129にDATAがあり、これをコピー

上記セルには空欄もあります。

Sheet2

B3に曜日を選択するリスト作成

C5〜F129にSheet1のDATAを値として貼り付ける。

よろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 一例です。以下をボタンにマクロ登録してください。

 Sub Test()
    Dim wd As String
    Dim z As Variant
    Dim sh1 As Worksheet
    Dim sh2 As Worksheet

    Set sh1 = Sheets("Sheet1")
    Set sh2 = Sheets("Sheet2")
    wd = sh2.Range("B3").Value

    If wd = "" Then
        MsgBox "曜日を入力してから実行してください"
    Else
        z = Application.Match(wd, sh1.Range("A3:AE3"), 0)
        If IsError(z) Then
            MsgBox wd & " が見つかりません"
        Else
            sh1.Range("A5:D129").Offset(, z - 1).Copy sh2.Range("C5")
            sh2.Select
        End If
    End If

 End Sub

(β) 2015/11/27(金) 14:44



βさま

お世話になっています。

ボタンに登録して実行してみましたが、Sheet1の入力データが
別Sheetから="Sheet4"!D68とかでDATAが入っているので、Sheet2には
そのまま、="Sheet4"!D68が入ってしまいます。
貼り付ける形式を値に変える事は可能でしょうか?
(AI) 2015/11/27(金) 18:28


 値での転記なら

 sh1.Range("A5:D129").Offset(, z - 1).Copy sh2.Range("C5")

 これを

 With sh1.Range("A5:D129")
    sh2.Range("C5").Resize(.Rows.Count, .Columns.Count).Value = .Offset(, z - 1).Value
 End With

 で試してみてください。

(β) 2015/11/27(金) 18:39



βさま

ご教示有難うございました。
問題無く、貼り付けできました。
(AI) 2015/11/27(金) 19:31


コメント返信:

[ 一覧(最新更新順) ]


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