Страница: 1 |
|
Вопрос: VBA Excel
|
Добавлено: 06.09.07 14:51
|
|
Автор вопроса: sashok60
|
есть таблица, как сделать чтобы в эту таблицу записывались данные в определенную ячейку из определенной книги из определенной ячейке, а искала эту книгу по номеру введенному в ячейку?
Ответить
|
Номер ответа: 1 Автор ответа: Nytrogen
Вопросов: 18 Ответов: 186
|
Профиль | | #1
|
Добавлено: 08.09.07 20:47
|
А можно поконкретнее уточнить, что значит искала эту книгу по номеру введенному в ячейку ?
Для ссылки на ячейку определённой книги можно использовать следующий синтаксис:
Range("A1" .Value = Range("[path/book.xls]Sheet1!B2" .Value
Ответить
|
Номер ответа: 3 Автор ответа: Deggasad
Вопросов: 0 Ответов: 6
|
Профиль | | #3
|
Добавлено: 12.09.07 09:38
|
Private Sub Worksheet_Change( ByVal Target As Range)
Dim iCel As Range
If Not Intersect(Target, Range("A5:A10" ) Is Nothing Then
For Each iCel In Intersect(Target, Range("A5:A10" )
Debug. Print " '" & Range("A1".Value & "[" & iCel.Value & ".xls]Ëèñò1'!A2"
iCel.Offset(, 1).Formula = "= '" & Range("A1".Value & "[" & iCel.Value & ".xls]Ëèñò1'!A2"
iCel.Offset(, 1).Value = iCel.Offset(, 1).Value
Next
End If
End Sub
Для ссылки на ячейку определённой книги можно использовать следующий синтаксис:
Range("A1" .Value = Range("[path/book.xls]Sheet1!B2" .Value
Чё-то это я не понял
Так можно (при открытой книге)
Evaluate("path\[book.xls]Sheet1!B2" .Value
Так можно (при открытой книге)
[path\[book.xls]Sheet1!B2].Value
Но с ранджем, чё-то никак
Ответить
|
Номер ответа: 4 Автор ответа: Deggasad
Вопросов: 0 Ответов: 6
|
Профиль | | #4
|
Добавлено: 12.09.07 09:43
|
Ещё одна попытка вставить код. Этот код в модуль рабочего листа, на котором ячейки собирёшся менять, меняешь ячейки в "A5:A10", данные вставляются рядом. Отлов ошибок не сделан.
Private Sub Worksheet_Change( ByVal Target As Range)
Dim iCel As Range
If Not Intersect(Target, Range("A5:A10" ) Is Nothing Then
For Each iCel In Intersect(Target, Range("A5:A10" )
Debug. Print " 'Y:\test\[" & iCel.Value & ".xls]Лист1'!A2"
iCel.Offset(, 1).Formula = "= 'Y:\test\[" & iCel.Value & ".xls]Лист1'!A2"
iCel.Offset(, 1).Value = iCel.Offset(, 1).Value
Next
End If
End Sub
Ответить
|
Страница: 1 |
Поиск по форуму