|
はじめまして。初心者です。
わけもわからず手探り状態で書いてます。
とりあえず途中までは意図通り動いてくれたのですが、
行き詰まりました。
きっと難しいことではないのだと思うのですが、
いろいろ調べても見つけられませんでした。。。
どなたか教えていただけませんか?
やりたい事は、
FILEのD列にKAIRO1があって、かつその隣E列にはSUMI1があるところを見つけて、
その行のPQ列に、データ入力macro.xlsの値と貼り付け、
貼り付けが終わったら終了。
Sub ためし()
FILE = Workbooks("データ入力macro.xls").Sheets("実施").Range("C11")
KAIRO1 = Workbooks("データ入力macro.xls").Sheets("実施").Range("B21")
SUMI1 = Workbooks("データ入力macro.xls").Sheets("実施").Range("C21")
Dim BUHIN As Range
Windows(FILE & ".xls").Activate
For Each BUHIN In Range("D5:D37")
If BUHIN = KAIRO1 Then
BUHIN.Activate
Arow = ActiveCell.Row
With Worksheets(1).Range("E" & Arow)
Set SUMI = .Find(SUMI1, LookIn:=xlValues)
If Not SUMI Is Nothing Then
Workbooks("データ入力macro.xls").Sheets("実施").Range("D21:E21").Copy
Windows(FILE & ".xls").Activate
Worksheets(1).Select
Range("P" & Arow).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
End If
End With
Else
BUHIN.Activate
End If
Next BUHIN
End Sub
FILEには、KAIRO1が0〜3個あり、
その中でSUMI1も一致するところのみ処理を行いたく、
どうにかそれは出来たのですが、
ずっと終わらなくなってしまいました。
これが無限ループというものでしょうか?
D5:D37すべて見てから終了でもいいのですが、
KAIRO1もSUMI1も一致するものは、0個か1個なので、
条件に一致するものを見つけて貼り付けが終わったら終了させたいです。
拙い説明ですみません。
宜しくお願いします。
|
|