Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2010, 17:23   #1
804040
Пользователь
 
Регистрация: 31.03.2010
Сообщений: 29
По умолчанию Копирование из одной книги в другую

Ув. форумчане, помогите, плз.

Книга 1 - старая книга с данными
Книга 2 - новая книга куда переносим данные

Проблема следующая, при копирование данные из одной книги в другую, то формулы в новой книги продолжают ссылаться на листы, которые находятся в старой книге.

Формула которая стоит в старой книге =O29*'GA'!$B$4/365*O10
при копирование ее в новую она видо изменяется в =O29*'[001.xlsx]GA'!$B$4/365*O10

Причем лист GA присутствует и в той и в другой книге и имеет одинаковое название и содержание.

Как правильно копировать, чтобы не ссылалась на старую книгу. Копирование значениями не подходит.
804040 вне форума Ответить с цитированием
Старый 13.08.2010, 09:19   #2
804040
Пользователь
 
Регистрация: 31.03.2010
Сообщений: 29
По умолчанию

Сорри, но может я не смог объяснить, что хочу? Или просто нет решения? И единственный путь это "Найти-Заменить" ?
804040 вне форума Ответить с цитированием
Старый 13.08.2010, 11:08   #3
voam
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 40
По умолчанию

Я в таких случаях обычно использую метод "Найти-заменить" - и всегда срабатывает. Т.е. в Вашем случае выделяем содержимое всего листа и заменяем все "[001.xlsx]" на пустоту.

Если таких листов много, то можно воспользоваться макросом, который проводил бы подобную замену во всех листах новой книги автоматически. Например, таким образом:
Цитата:
Sub DeleteLinks()
Dim WS As Worksheet
Dim C As Range
Dim firstAddress As String
On Error Resume Next
For Each WS In ActiveWorkbook.Worksheets
With WS.Cells
Set C = .Find("[001.xlsx]", LookIn:=xlValues)
If Not C Is Nothing Then
firstAddress = C.Address
Do
C.Value = ""
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
End With
Next WS
On Error GoTo 0
End Sub
voam вне форума Ответить с цитированием
Старый 13.08.2010, 13:09   #4
804040
Пользователь
 
Регистрация: 31.03.2010
Сообщений: 29
По умолчанию

Цитата:
Сообщение от voam Посмотреть сообщение
Я в таких случаях обычно использую метод "Найти-заменить" - и всегда срабатывает. Т.е. в Вашем случае выделяем содержимое всего листа и заменяем все "[001.xlsx]" на пустоту.

Если таких листов много, то можно воспользоваться макросом, который проводил бы подобную замену во всех листах новой книги автоматически. Например, таким образом:
Спасибо, но немного не то( Так как это пример только, но в действительно
[001.xlsx] постоянно разный. Но есть нельзя как нибудь копировать, чтоб формулы оставались все как есть? А не видоизменялись.
804040 вне форума Ответить с цитированием
Старый 16.08.2010, 11:03   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Другой путь - сперва заменить по всему листу/книге "=" на "xyz" например, потом после копирования вернуть назад.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование данных из одной книги в другую в разные столбцы. kipish_lp Microsoft Office Excel 15 15.07.2015 07:27
Копирование и вставка формул из одной книги в другую KNatalia Microsoft Office Excel 5 10.06.2010 13:15
Копирование данных из одной рабочей книги в другую макросом. Andrey3055 Microsoft Office Excel 2 30.10.2009 22:00
Сложное копирование из одной книги в другую kzld Microsoft Office Excel 12 15.07.2009 11:56
Копировние листов из одной книги в другую Jenik Microsoft Office Excel 4 04.03.2009 12:22