Страницы: 1
RSS
Как прописать ссылку на ячейку в другом файле, если дериктория может меняться?
 
Здравствуйте уважаемые специалисты.  
Вопрос обстоит так:  
существует некая папка в которой находится xcel файл, где как раз необходимо в одной из ячеек получить связь с ячекой в другом файле, который имеет определенное имя и находится в этой же папке. Загвоздка в том, что папка где будут храниться эти два или более файлов может копироваться в другие директории (на жостком диске или на флешку), а связ при этом нарушаться не должна.  
Нашол похожую тему, но не смог разобраться (http://www.planetaexcel.ru/forum.php?thread_id=4629).  
Спасибо.
 
=ГИПЕРССЫЛКА(ЯЧЕЙКА("имяфайла");)
 
ДВССЫЛ с указанием имени файла и листа  
если файл источник открыт, то соверш не важно, где он сохранен  
если источник закрыт, то в ячейке будет #ССЫЛКА!
 
{quote}{login=}{date=30.10.2009 05:42}{thema=}{post}ДВССЫЛ с указанием имени файла и листа  
если файл источник открыт, то соверш не важно, где он сохранен  
если источник закрыт, то в ячейке будет #ССЫЛКА!{/post}{/quote}Мало того, что файл источник будет закрыт, плюс ко всему он еще и не всегда будет присутствовать в этой папке. Источник будет сохраняться в результате работы для дальнейшего анализа данных.
 
{quote}{login=}{date=30.10.2009 05:32}{thema=}{post}не всегда будет присутствовать в этой папке.{/post}{/quote}  
ну с этим мы вряд ли сможем помочь
 
Жаль.  
Всеравно спасибо.
 
{quote}{login=Анатолий}{date=30.10.2009 06:02}{thema=}{post}Жаль.  
Всеравно спасибо.{/post}{/quote}  
а алгоритм работы не изменяем?  
в источнике значения для ссылки меняются? - Если нет, то Макрос копирования  
да - Макрос с заданием в какой-либо ячейке книги пути, открытие книг, ввод нужных данных, закрытие
 
Слушай, Толян. А при копировании папки с файлами, в ячейке с формулой меняется путь источника!!! Создай источники пустые, а при работе вставляй туда данные...
 
Файл источник будет сохраняться из программы 1С в Excel файл, затем будет открываться готовый файл-шаблон для анализа данных, в котором автоматически появятся данные из этих источников сохраненных в этой же паке.
 
{quote}{login=Taylashev}{date=30.10.2009 06:22}{thema=}{post}Слушай, Толян. А при копировании папки с файлами, в ячейке с формулой меняется путь источника!!! Создай источники пустые, а при работе вставляй туда данные...{/post}{/quote}А смысл? Я могу тогда создать доп листы прямо в шаблоне и вставлять данные сразу туда. Без всяких проблем.
 
А Вам обязательно нужна СВЯЗЬ?  
Может просто копировать данные из фалов в папке в 1 для последующего анализа и обработки?  
Кстати такая проблемка поднималась не раз, и макрос обработки кучи файлов из 1 папки или с возможностью выбора заданной в различных вариациях на просторах лежит...
 
{quote}{login=}{date=30.10.2009 06:33}{thema=}{post}А Вам обязательно нужна СВЯЗЬ?  
Может просто копировать данные из фалов в папке в 1 для последующего анализа и обработки?  
Кстати такая проблемка поднималась не раз, и макрос обработки кучи файлов из 1 папки или с возможностью выбора заданной в различных вариациях на просторах лежит...{/post}{/quote}По большому счету меня устроит и копирование, лишь бы это было с минимальной потерей времени. Я сейчас сохраняю файлы из 1С потом копирую листы в шаблон, каждый в отдельности. Муторно и долго. А при учете, что этим приходится заниматься чуть ни каждый день. Вопщем порядком надоело. :)
 
Толян, все работает как ты хочешь, даже при отсутствии источника и последующем его появлении, только ссылка атоматически обновляется почему то при открытом источнике
 
{quote}{login=Taylashev}{date=30.10.2009 06:55}{thema=}{post}Толян, все работает как ты хочешь, даже при отсутствии источника и последующем его появлении, только ссылка атоматически обновляется почему то при открытом источнике{/post}{/quote}Можешь сбросить два файла? первый как шаблон, второй как источник и текст с объяснением.  
 
И вопрос: что значит при открытом источнике? Это мне потом каждый файл-источник надо по очереди открыть?
Я соображаю, но не всегда. :-)
 
Толян, сбрасывать нечего, взял два файла, в одном сделал ссылку просто равно ячейке другого файла (источника) закрыл оба... удалил источник, создал новый источник с таким же именем, но с другим значением, открылл  основной файл  - все данные обновились
 
Ну понятно. А источник должен быть открыт? Это я к вопросу о том, что открывать-то не хочется.
Я соображаю, но не всегда. :-)
 
Держите пример макроса от Павел55. В папке 1 общий для обработки с макросом. После запуска макроса информация собирается в общий файл со всех файлов, находящихся в данной папке.
 
{quote}{login=Igor67}{date=30.10.2009 09:22}{thema=}{post}Держите пример макроса от Павел55. В папке 1 общий для обработки с макросом. После запуска макроса информация собирается в общий файл со всех файлов, находящихся в данной папке.{/post}{/quote}Спасибо большое! А можно этот макрос немного подредактировать? Чтобы каждый файл-источник собирался в новый лист, которому будет присваеваться такое же имя как у файла-источника.
Я соображаю, но не всегда. :-)
 
Посмотрите в приемах  
http://www.planetaexcel.ru/tip.php?aid=111
 
{quote}{login=Igor67}{date=31.10.2009 05:33}{thema=}{post}Посмотрите в приемах  
http://www.planetaexcel.ru/tip.php?aid=111{/post}{/quote}Большое спасибо!!!
Я соображаю, но не всегда. :-)
 
{quote}{login=Igor67}{date=31.10.2009 05:33}{thema=}{post}Посмотрите в приемах  
http://www.planetaexcel.ru/tip.php?aid=111{/post}{/quote}Вы знаете, меня этот макрос в принципе устраевает, но если говорить о полном удобстве, то можно было бы сделать его так, чтобы он при выборе файла источника открывал сразу папку в которой находится файл в котором этот макрос прописан и новый вставленный лист называл по имени файла из которого он скопирован.  
 
     
Sub CombineWorkbooks()  
   Dim FilesToOpen  
   Dim x As Integer  
   On Error GoTo ErrHandler  
   Application.ScreenUpdating = False  
   FilesToOpen = Application.GetOpenFilename _  
                 (FileFilter:="Microsoft Excel Files (*.xls), *.xls", _  
                  MultiSelect:=True, Title:="Files to Merge")  
   If TypeName(FilesToOpen) = "Boolean" Then  
       MsgBox "Не выбрано ни одного файла!"  
       GoTo ExitHandler  
   End If  
   x = 1  
   While x <= UBound(FilesToOpen)  
       Workbooks.Open Filename:=FilesToOpen(x)  
       Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)  
       x = x + 1  
   Wend  
ExitHandler:  
   Application.ScreenUpdating = True  
   Exit Sub  
ErrHandler:  
   MsgBox Err.Description  
   Resume ExitHandler  
End Sub
Я соображаю, но не всегда. :-)
Страницы: 1
Читают тему
Наверх