2014-11-26 4 views
1

Я пытаюсь использовать VBA, чтобы обновить значение числа в ячейке на другую книгу первенствовать на 1.vba excel количество приращений в ячейке на другой книге?

так, если у меня есть значение 466 в книге 2, затем, когда я запускаю мой код формы книги 1 это обновление 466 до 467, и каждый раз, когда код запускается, он увеличивается на 1.

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

Я пытаюсь использовать следующий код, но его ничего не обновляет, и я не получаю никаких ошибок.

Пожалуйста, кто-нибудь может показать мне, что я делаю неправильно. Благодаря

Dim ws1112 As Worksheet, ws2221 As Worksheet 
    Set ws1112 = Sheets("Statistics") 
    Set ws2221 = Workbooks("\\UKSH000-File06\Purchasing\New_Supplier_Set_Ups_&_Audits\Workbook 2.xls").Sheets("Dashboard") 
    ws2221.Range("C7").Value = ws2221.Range("C7").Value + 1 
+0

Что такое проблема с вашим кодом? Разве это не работает, если да, то какая ошибка? –

+0

Будет сложно сохранить изменения, если вы изменили закрытый журнал, если вы его не сохраните;) –

+0

Я не могу попробовать код сейчас, но просто попробуйте добавить 'ws2221.Save' сразу после увеличения переменной. –

ответ

0

Теперь я собираюсь выйти на конечности и сказать, что ваша ошибка «Error„9“, индекс вне диапазона», но что эта ошибка как-то подавляется или молча обрабатываются остальные вашего кода (например, заявление On Error GoTo).

Это происходит потому, что вы не можете открыть книгу, просто включив полный путь к файлу в свой оператор Workbooks("<name>"). Для этого вам нужно использовать Workbooks.Open("<FilePath>").

Например:

Dim wb As Workbook 
Dim ws1112 As Worksheet 
Dim ws2221 As Worksheet 

Set ws1112 = Sheets("Statistics") 

Set wb = Workbooks.Open("\\UKSH000-File06\Purchasing\New_Supplier_Set_Ups_&_Audits\Workbook 2.xls") 
Set ws2221 = wb.Sheets("Dashboard") 

ws2221.Range("C7").Value = ws2221.Range("C7").Value + 1 

'Optional if you want to close the workbook afterwards 
wb.Close SaveChanges:=True 
+0

спасибо за ваш help, я скопировал код точно, и он по-прежнему не увеличивает значение ячейки в моей книге 2. Я тоже не получаю никаких ошибок. –

+0

@kyleridge Возможно, вы захотите проверить, что данный код фактически выполняется. Я тестировал вышеуказанный код с некоторыми фиктивными файлами в своей собственной системе, и он работал нормально. Тот факт, что ошибки не были отображены в вашей первоначальной попытке, свидетельствует о том, что код фактически не выполняется или что происходит некоторая подозрительная обработка ошибок, не видя остальной части вашего кода, я не могу сказать точно. – Aiken

+0

спасибо, что мне удалось заставить это работать, это просто случай, когда идентификатор помещался в код, однако, хотя теперь он делает то, что мне нужно, чтобы открыть его, когда он обновляет ячейку, есть ли способ чтобы рабочая книга не была видимой, чтобы она делала все это в фоновом режиме? –

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