[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別シート参照』(ぷんぷん)
教えてください
sheet BのA列とsheet FPのA列を参照して
FPに値が合った場合
sheet BのG列からM列までのデータを
sheet FPのF列から貼り付けたいです
宜しくお願いいたします
< 使用 Excel:Excel2010、使用 OS:Windows7 >
こんなことですか?
Sub Sample() Dim c As Range Dim r As Range Dim f As Range
With Sheets("B") Set r = .Range("A1", .Range("A" & Rows.Count).End(xlUp)) End With
With Sheets("FP") For Each c In .Range("A1", .Range("A" & Rows.Count).End(xlUp)) Set f = r.Find(What:=c.Value, lookat:=xlWhole) If f Is Nothing Then c.EntireRow.Range("F1:L1").ClearContents Else c.EntireRow.Range("F1:L1").Value = f.EntireRow.Range("G1:M1").Value End If Next End With
End Sub
(β) 2016/06/17(金) 17:02
アップずみのものより、ほんのちょっと効率がいいかも。
Sub Sample2() Dim c As Range Dim r As Range Dim f As Range Dim dic As Object Dim b(1 To 7, 1 To 1) As Variant
Set dic = CreateObject("Scripting.Dictionary")
With Sheets("B") For Each c In .Range("A1", .Range("A" & Rows.Count).End(xlUp)) dic(c.Value) = c.EntireRow.Range("G1:M1").Value Next End With
With Sheets("FP") For Each c In .Range("A1", .Range("A" & Rows.Count).End(xlUp)) If dic.exists(c.Value) Then c.EntireRow.Range("F1:L1").Value = dic(c.Value) Else c.EntireRow.Range("F1:L1").ClearContents End If Next End With
End Sub
(β) 2016/06/17(金) 17:12
有難う御座いました
助かりました
後のことを考えて教えてほしいのですが
例えば FPシート参照先をcの場合だと
A1をC1に変更すればいいのでしょうか
For Each c In .Range("A1", .Range("A" & Rows.Count).End(xlUp))
宜しくお願いいたします
(ぷんぷん) 2016/06/17(金) 19:22
はい。
"A1" を "C1" に、それと、 "A" を "C" に。
(β) 2016/06/17(金) 19:38
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.