2014-01-13 3 views
0

Мне нужно скопировать содержимое ячейки в один рабочий лист на другой рабочий лист. В настоящее время у меня есть этот код. Что с этим не так? Это дает мне ошибку, когда я запускаю ее. Количество рабочих листов не является постоянным. Мне нужно скопировать содержимое ячейки C4 на последний рабочий лист книги.Копирование содержимого ячейки на другой рабочий лист в той же книге.

Sub WorksheetLoop() 

     Dim Store As Integer 
     Dim WS_Count As Integer 
     WS_Count = ActiveWorkbook.Worksheets.Count 

      Store = ActiveWorkbooks.Sheets(5).Range("C4").Value 
      ActiveWorkbooks.Sheets(WS_Count).Range("C4").Value = Store 

End Sub 
+0

он даст ошибку, если ваш номер листа меньше 5. Также что такое WS_count? – L42

+0

Извините, забыли эту линию. Отредактированный код – user3163920

+0

Итак, сначала вы должны использовать 'ActiveWorkbook', а не' ActiveWorkbooks'. Тогда, как я сказал в своем посте, лучше, если вы укажете «Имя листа» источника. Если ваши листы меньше 5, 'Листы (5)' будут вызывать ошибку. – L42

ответ

0

попробовать это:

Sub WorksheetLoop() 

Dim Store As Integer 

Store = ActiveWorkbook.Sheets("Sheet_name").Range("C4").Value 'Better to specify the name of the sheet 
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Range("C4").Value = Store 
'This writes the value of Store in C4 of the last sheet 

Надеется, что это помогает.

+0

Могу ли я назвать листы в цифрах вместо имени? Например, Листы (1) - это первый лист, Листы (n) - n-й лист. Это возможно? – user3163920

+0

Да, это возможно, но убедитесь, что вы не будете назначать число, большее, чем общее количество листов. Как вы определяете исходные данные? я имею в виду количество строк? – L42

+0

У меня есть 20 рабочих листов в книге. Программа должна скопировать ячейку C4 во все рабочие листы и вставить ее в новый рабочий лист. Я уже это сделал. Спасибо за вашу помощь! :) – user3163920

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