2016-04-13 2 views
0

Я пытаюсь скопировать и вставить значения, что на самом деле не сложно.Вставить Особую ошибку в VBA Excel 2010

Чтобы копировать значения значений ячеек, я использую Paste.Special x1PasteValues.

Здесь приходит забавная часть:

Set wsd = Sheets("Data") 
wsd.Select 
With wsd 
.Range("L5:X5").Select 

.PasteSpecial x1=PasteValues  <~~ Runtime error: 1004   
'.PasteSpecial Paste:=xlPasteValues <~~ equivalent to the above 
'.PasteSpecial      <~~ This works, but only pastes the formula 
'.Paste        <~~ This pastes the formula 

End With 

Если я выполняю код я получаю сообщение об ошибке выполнения: 1004 и я не могу найти решение для него. То же самое происходит, если я хочу вставить формат.

Возможно, проблема в том, что макрос написан на кнопке ActiveX, поэтому я должен использовать его с wsd.

Помощь очень ценится. Заранее спасибо!

Редактировать: Я просто нашел аналогичную тему, в которой возникла проблема при переключении книги и ручном активировании макроса (вместо, например, кнопки макроса). Может ли такая же проблема возникать в моем коде, поскольку я переключаюсь между листами?

Excel VBA runtime error 1004

ответ

0

Похоже, вы ссылаетесь на лист, выбирая клетки, а затем ссылки на объект листа снова вставить в не давая диапазон, чтобы сделать это. Это работает в Excel 2013, вам может потребоваться играть с синтаксисом в других версиях

Set wsd = Sheets("Data") 
With wsd 
    .Range("L5:X5").PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, False, False 
End With 
+1

Спасибо, сэр или мама! :) – yfro

+0

Ха-ха сэр, и ты рад – AranDG

Смежные вопросы