2017-03-02 15 views
0

"部品カタログ"シートの "テスト"シートで強調したのと同じ部品名を見つけるためにマクロを構築しようとしています。別のシートに文字列を見つけて、現在のシートにデータをコピー/ペーストする方法

ここから、「部品カタログ」シートから部品が製造された日付(部品名の右側の1列)をコピーして、セルの1列目に貼り付けます「テスト」シートの部品名の右側に表示されます。

「オブジェクトがこのプロパティまたはメソッドをサポートしていません」というエラーが表示されます。

以下のコードは、このリンクから少し変更されています(http://www.ozgrid.com/forum/showthread.php?t=158840&p=578982#post578982)。これまでの試みではforループを使用していましたが、大部分の人は.find関数がこのようなものに最適であることに同意しているようです。

助けていただけたら幸いです!ありがとうございました!

質問に、あなたのフォローについては
Sub Get_Date() 

    Dim Partname As String 
    Dim sh As Worksheet 
    Dim ws As Worksheet 

    Set sh = Sheets("Tests") 
    Set ws = Sheets("Part Catalog") 
    Partname = ActiveCell.Value 

    ws.Cells.Find(Partname).Offset(0, 1).Copy 
    sh.Cells.Find(Partname).Offset(0, 1).Paste 
End Sub 

答えて

1

に:

は、あなたが最初に選択した部品名のリスト全体を持っている前提としています

Dim sh As Worksheet 
Dim ws As Worksheet 
Dim c, rng As Range 

Set sh = Sheets("Tests") 
Set ws = Sheets("Part Catalog") 
Set rng = Selection 


For Each c In rng 
    ws.Cells.Find(c.Value).Offset(0, 1).Copy Destination:=c.Offset(0, 1) 
Next c 

これはあなたの中に各部分(セル)を通過するループを使用しています選択。

関連する問題