2016-04-15 5 views
0

Я хочу вставить строку в таблицу данных. Когда я пытаюсь выполнить его вручную (выберите строку, вставьте новую строку), она работает нормально, но когда я пытаюсь добавить ее в свой макрос, который находится внутри кнопки ActiveX (!), Он говорит: «Ошибка выполнения 438: Object не поддерживает эту метод». Если я попробую mecro в обычном макросе, а не внутри кнопки, он отлично работает.Вставить новую строку в таблицу данных VBA Excel2010 ActiveX

Как я могу избавиться от этой проблемы?

Set wsd = Sheets("Data") 
wsd.Select      
With wsd 
.Rows("5:5").Select 
.Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 'Here appears the error 
End With 

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

ответ

1

Вам не нужно выбрать. Не для листа, а не для строки.

Sub test() 
Set wsd = Sheets("Data") 
With wsd 
    .Rows("5:5").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
End With 

End Sub 
+0

++ nice :) Кстати, вам также не нужно «5: 5». '.Rows (5)' также будет делать –

+0

Спасибо! У меня сразу была другая ошибка, но я забыл ответить, пока я ее решил :) – yfro

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