2015-07-10 4 views
1

Объект не поддерживает это свойство или метод. Это происходит только в разделе .Paste этого кода. Пожалуйста, помогите, потому что я недоумеваю. Я попытался упростить код настолько, насколько это возможно, просто выберите ячейку, скопируйте ячейку, выберите цель и вставьте. Что-то здесь не хватает ...Зачем это делать? Использование переменных и смещения ссылок на ячейки

Sub AIM36DBOCompare() 
Dim n As Integer 
n = 2 
Dim PasteCount As Integer 
Dim Value1 As String 
Dim Date1 As String 
Dim c As Range 
PasteCount = 41 
    Range("AD2:AD1000").Copy Destination:=Range("S41" & Lastrow) 
    Do While n <= 1000 
     If Cells(26, n) <> 0 Then 
'-------------------------------------------- 
      With Worksheets(1).Range("b2:b10000") 
       Set c = .Find(Cells(n, 26), LookIn:=xlValues) 
       If Not c Is Nothing Then 
        Do 
         Date1 = c.Offset(0, -1).Address 
         Value1 = c.Offset(0, 3).Address 
         If Abs(Cells(n, 25) - Range(Date1).Value) <= 10 Then 
          Range(Value1).Select 
          Selection.Copy 
          Cells(PasteCount, 17).Select 
          Selection.Paste 
          PasteCount = PasteCount + 1 
          Exit Do 
         End If 
          Set c = .Find(Cells(n, 26).Value, LookIn:=xlValues) 
        Loop While Not c Is Nothing 
       End If 
      End With 
'-------------------------------------------- 
     End If 
     If Cells(11, n) = 0 Then 
      Exit Do 
     End If 
    n = n + 1 
    Loop 
End Sub 

ответ

1

Вы не можете сделать Selection.Paste (Как вы только что наблюдали). Если вы звоните Paste на листе, он будет вставить в ваш выбор, попробуйте это вместо

ActiveSheet.Paste

+0

Смотрит прямо на меня. Спасибо. –

3

Или если вы просто хотите, чтобы скопировать значение, пропустить весь выбора и вставки:

Cells(PasteCount, 17).Value = Range(Value1).Value 
Смежные вопросы