[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ボタンクリックでコピー貼り付けを自動で』(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.