2013-11-19 2 views
-2

Я использую Excel 2013, и я поставил следующий код в поле Sheet5 код и я пытаюсь скомпилировать его и получить ошибку компиляции: Invalid Ошибка ПроцедураCompile Error: Invalid Ошибка Процедура

Worksheets("Sheet5").Range("C3").Value = Worksheets("Sheets1").Range("G3") 

ответ

1

Вы уверены, ваш листы написаны правильно? Один из них называется «Sheet5», а другой «Sheets1». Обратите внимание, что у вас есть дополнительные «s». Также я бы сказал, что вы должны быть последовательными. Если вы используете явный вызов свойства Value, сделайте это с обеих сторон. Обратите внимание, что вы можете опустить его с обеих сторон.

+0

Я изменил его на «Листы (« Лист5 »). Диапазон (« C3 ») = Рабочие листы (« Лист1 »). Диапазон (« G3 »)', но та же ошибка компиляции. Я переименовал листы из исходного листа1 в информационный лист и лист5 на лист Talley, поэтому я играл с кодом таким образом, но та же ошибка все еще имеет место – ChevyCowboy15

+1

. Тогда я предположил, что вы не поместили код в функцию или в суб. Можете ли вы опубликовать весь код? – ApplePie

+0

Я думаю, что ты прав. Фактически я давал этот ответ, когда вы отправляли комментарий. Сообщение об ошибке в заголовке близко к тому, что было бы для этой ошибки. –

1

Я предполагаю, что вы вставили строку кода в модуль листа самостоятельно и что ошибка компиляции, которую вы получаете, на самом деле является «Invalid Outside Procedure». Если да, то вам нужно поставить код в функции или подпрограммы, что-то вроде:

Sub Test 

Worksheets("Sheet5").Range("C3").Value = Worksheets("Sheets1").Range("G3") 

End Sub 

Тогда вы получите «выхода за пределы» ошибка, потому что вы не имеете листы с теми именами, которые будет прогресс :).