2012-05-26 4 views
0

Я немного застреваю, пытаясь сохранить значение в ячейке в другой открытой книге. . Я получаю индекс из ошибки диапазона», так ясно, что я не указывает на эту ячейку правильно Вот что у меня есть:Изменение значения в ячейке в другой книге

Workbooks(wbSource).Activate 
    ActiveWorkbook.Sheet32.Range("currMth").Value = Me.cboCurrMth.Value 

wbSource является строка, которая содержит имя целевой книги (Например, «myfile.xls»). Я уверен, что это определено и установлено правильно.

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

Может ли кто-нибудь увидеть, что я делаю неправильно?

Спасибо.

+0

Вы уверены, что 'Sheet32' существует? Это было бы несколько листов в одной книге ... –

+0

Да. это очень большая книга. – Alex

+0

Sheet32 должен быть листом (32) ... При условии, что 32 является индексом листа. – Trace

ответ

1

1.) Что такое Sheet32? 2.) Я не уверен, что вы можете индексировать диапазоны по имени.

следующие работы:

Dim wb As Workbook 
Set wb = Workbooks ("t1.xlsx") 
wb.Names("MyRange").RefersToRange.Value2 = 5 
+0

Спасибо за этот ответ. Это работает для изменения ценности, о чем я просил. То, о чем я не упоминал, так как я пытался как можно более кратко описать постановку проблемы, заключается в том, что мне сначала нужно снять защиту с листа, прежде чем я смогу записать значение для него. Поэтому мне по-прежнему нужен способ установить фокус на sheet32, чтобы я мог делать «sheet32.unprotect» (или что-то в этом роде). Извините, что я не упоминал об этом раньше. – Alex

+0

Я должен уточнить, что если я использую имя листа (как изменено пользователем), мой код работает. Только когда я хочу использовать внутреннее имя, чтобы оно не сработало. Так, например, wb.worksheets («myname»). Unprotect будет работать, но wb.worksheets (Sheet32) .unprotect не работает. Weird. – Alex

+0

Является ли Sheet32 переменной? Если это так, я бы попробовал Sheet32.unprotect. – JohnB

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