Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: VBA Excel Добавлено: 06.09.07 14:51  

Автор вопроса:  sashok60
есть таблица, как сделать чтобы в эту таблицу записывались данные в определенную ячейку из определенной книги из определенной ячейке, а искала эту книгу по номеру введенному в ячейку?

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Nytrogen



Вопросов: 18
Ответов: 186
 Профиль | | #1 Добавлено: 08.09.07 20:47
А можно поконкретнее уточнить, что значит
искала эту книгу по номеру введенному в ячейку
?

Для ссылки на ячейку определённой книги можно использовать следующий синтаксис:
Range("A1";).Value = Range("[path/book.xls]Sheet1!B2";).Value

Ответить

Номер ответа: 2
Автор ответа:
 sashok60



Вопросов: 3
Ответов: 23
 Профиль | | #2 Добавлено: 10.09.07 08:52
в ячейку вводишь например номер 4567, он должен найти этот номер в заданной директории, взять из этого файла данные из определенной ячейки и записать например рядом в ячейку где вводили номер этого файла

Ответить

Номер ответа: 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 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам