
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
08.09.2005, 18:09:48
|
|||
|---|---|---|---|
|
|||
ссылка на другую книгу |
|||
|
#18+
Доброго времени суток! Есть книга excel из двух листов, один из них рабочий, а во втором сохраняется служебная информация. На втором листее, назвем его "Options", в 2-х ячейках А1, В1 сохраняются полные пути имена файлов. А на первом листе имеется ряд ячеек, которые должны ссылаться на ячейки из файлов, имена которых хранятся в Options!$A$1 и Options!$B$1 Подскажите, как синтаксически грамотно и возможно это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.09.2005, 10:11:28
|
|||
|---|---|---|---|
ссылка на другую книгу |
|||
|
#18+
с помощью формул это сделать невозможно ДВССЫЛ См. также Возвращает ссылку, заданную текстовой строкой. Ссылки немедленно вычисляются для вывода их содержимого. Функция ДВССЫЛ используется, если требуется изменить ссылку на ячейку в формуле, не изменяя саму формулу. Синтаксис ДВССЫЛ(ссылка_на_ячейку;a1) Ссылка_на_ячейку - это ссылка на ячейку, которая содержит либо ссылку в стиле А1, либо ссылку в стиле С1К1, либо имя, определенное как ссылка, либо ссылку на ячейку в виде текстовой строки. Если ссылка_на_ячейку не является допустимой ссылкой, то функция ДВССЫЛ возвращает значение ошибки #ССЫЛ!. A1 - это логическое значение, указывающее, какого типа ссылка содержится в ячейке ссылка_на_текст. Если a1 имеет значение ИСТИНА или опущена, то ссылка_на_ячейку интерпретируется как ссылка в стиле A1. Если a1 имеет значение ЛОЖЬ, то ссылка_на_ячейку интерпретируется как ссылка в стиле С1К1. Замечания Если ссылка_на_ячейку является ссылкой на другую рабочую книгу (внешней ссылкой), другая рабочая книга должна быть открытой. Если это не так, функция ДВССЫЛ возвратит значение ошибки #ССЫЛКА!. Примеры а вот с помощью макросов можно так Public Function Getvalue(path, File, sheet, ref) Dim Arg As String Arg = "'" & path & "[" & File & "]" & sheet & "'!" & Range(ref).Range("A1").Address(, , xlR1C1) Getvalue = ExecuteExcel4Macro(Arg) End Function Sub p() Dim path As String, File As String, sheet As String, ref path = Worksheets("Options").Range("A1").Value File = Worksheets("Options").Range("B1").Value sheet = "Íóæíûé ëèñò" For z = 1 To 100 For y = 1 To 100 ref = Cells(z, y).Address(False, False) Cells(z, y).Value = Getvalue(path, File, sheet, ref) Next y Next z End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.09.2005, 10:49:50
|
|||
|---|---|---|---|
|
|||
ссылка на другую книгу |
|||
|
#18+
Спасибо за подсказку! По ходу дела возник еще один вопрос: а как по отдельности получить имя файла и путь к нему (пользователь сам выбирет файл в стандартном диалоге открытия) или получив полное имя файла (filename=GetOpenFileName) и сохранив результат в одной из ячеек Range("A1").value= "C:\Documents and Settings\xom\My Documents\Work\бюджет нов.xls" каким способом возможно "расчленение" этого значения на путь и собственно файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.09.2005, 11:06:08
|
|||
|---|---|---|---|
|
|||
ссылка на другую книгу |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.09.2005, 11:17:31
|
|||
|---|---|---|---|
ссылка на другую книгу |
|||
|
#18+
Filename = Application.GetOpenFilename("*.*,*.*") Imy = Dir(Filename) Puti = Left(Filename, Len(Filename) - Len(a)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.09.2005, 17:31:30
|
|||
|---|---|---|---|
|
|||
ссылка на другую книгу |
|||
|
#18+
Arg = "'" & path & "[" & File & "]" & sheet & "'!" & Range(ref).Range("A1").Address(, , xlR1C1) А можно пояснить Range(ref).Range("A1").Address(, , xlR1C1) - это ссылка на какую ячейку? и как на них выборочно ссылаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.09.2005, 17:55:33
|
|||
|---|---|---|---|
ссылка на другую книгу |
|||
|
#18+
xomArg = "'" & path & "[" & File & "]" & sheet & "'!" & Range(ref).Range("A1").Address(, , xlR1C1) А можно пояснить Range(ref).Range("A1").Address(, , xlR1C1) - это ссылка на какую ячейку? и как на них выборочно ссылаться? Range(ref) - это объект range Range(ref).Range("A1") - это первая ячейка объекта Range(ref) а Address потому что фунлция ExecuteExcel4Macro принимает инфо только в стили R1C1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.09.2005, 18:00:42
|
|||
|---|---|---|---|
ссылка на другую книгу |
|||
|
#18+
наверно непонятно проще так что в ref загонишь то и получишь Ref = "C8" Ref = "D10" Ref = "адрес любой тебе нужной ячейки " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=61&mobile=1&tid=2185762]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 184ms |
| total: | 275ms |

| 0 / 0 |
