2013-07-05 3 views
0

Я хочу синтаксис VBA для ссылки ячейки вместо значения.Синтаксис VBA для ссылки ячейки вместо значения ячейки

Я знаю, что

Workbook().Worksheet().Cell().Value возвращает значение ячейки.

Я хочу знать, ссылку на ячейку, что-то вроде этого ='[Vba Source Test.xlsx]Source'!$B$8

Я попытался с помощью:

workbook().worksheet().cell().address 

но это только возвращает $B$8 часть.

Я буду использовать его в таком коде.

Workbook(Master).Worksheet(Summary).range(a1).value = 
workbook(Source).Worksheet(Data).cell(2,8).address 

Еще раз спасибо за каждого, кто может помочь.

ответ

1

Вы должны объединить имена объектов & диапазон адресов, с соответствующими разделителями:

"='["Workbook(Source).Name & "]" & Worksheet(Data).Name & "'" & Cells(2,8).Address

Потому что вы делаете, назначая String значение ячейки Formula, я думаю, что это должно работать (но я не проверял, так что может быть опечатка):

Dim myFormula as String 
myFormula = "='["Workbook(Source).Name & "]" & Worksheet(Data).Name & "'!" & Cells(2,8).Address 

Workbook(Master).Worksheet(Summary).range(a1).Formula = myFormula 

Вы можете быть в состоянии опустить Workbook Name из это, я уверен, что имя рабочей книги является автоматическим, если вы укажете рабочий лист, принадлежащий открытой книге. Если файл не открыт, когда вы вставляете формулу, вам нужно будет включить название книги.

+1

Спасибо за кучу, я собираюсь поиграть с формулой. Смутно, потому что я поставил свои книги на определенные имена. Вы бы подумали, что в этой ситуации у excel есть встроенная собственность. – Reccax

+1

Получил его на работу. недостающая часть была «!» WSMaster.Cells (master2, master1) .Value = "= '[" & sourcetext & "]" & sourcetext1 & "'" & "!" & адрес 1 – Reccax

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