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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2009, 10:12   #1
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию Переход от ссылок к значениям!

Суть проста! Очень хочется на всех листах книги автоматически заменить ссылки на значения. На голой логике попытался написать макрос
Код:
Sub Link_Value()
    For Each sheet in ???
    Sheets(???).Select
       Cells.Select
       Application.CutCopyMode = False
       Selection.Copy
       Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
          xlNone, SkipBlanks:=False, Transpose:=False
    Next Sheet
End Sub
Учитывая мои ничтожные знания, поясню, что хотел изобразить:
выбирать каждый лист книги, выделить все ячейки,копировать, вставить спец вставкой и перейти к следующему листу.

Как мне в строке
Код:
For Each sheet in ???
вместо "???" обозначить текущую книгу?
Как в строке
Код:
Sheets(???).Select
вместо "???" обозначить лист?
Напишите еще пожалуйста, я вообще правильно подошел к решению задачи.
mephist вне форума Ответить с цитированием
Старый 09.07.2009, 10:36   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Sub Link_Value()
For Each sheet in Sheets
Sheet.Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormat s, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Next Sheet
End Sub

А код, я надеюсь, с рекордера снят. Похоже, должен работать.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 09.07.2009, 10:52   #3
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию

Грандиозно! Спасибо большое! Очень помогли!
А можно еще один вопросик для этого макроса.
Я хочу чтобы выскакивало окошко MsgBox предупреждающее, что после перехода от ссылок к значениям восстановить ссылки невозмжно. И чтобы было две кнопки "Да"- выполняем макрос; "Нет"- выход из макроса.
mephist вне форума Ответить с цитированием
Старый 09.07.2009, 11:37   #4
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Попробуйте так:
Код:
Sub Замена_ссылок()
x = MsgBox("Ссылки будут заменены значениями без возможности восстановления. Продолжить?", vbOKCancel, "Замена ссылок")
If x = vbCancel Then GoTo 100

Здесь Ваш код замены ссылок

100
End Sub
pivas вне форума Ответить с цитированием
Старый 09.07.2009, 11:43   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Я бы сделал так:
Код:
Sub Main()
    Dim Sh As Worksheet
    x = MsgBox("Ссылки  и формулы будут заменены значениями без возможности восстановления. Продолжить?", vbOKCancel, "Замена ссылок")
    If x = vbCancel Then Exit Sub
    For Each Sh In Workbooks("Имя_Книги")
        Sh.UsedRange.Value = Sh.UsedRange.Value
    Next
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.07.2009, 16:01   #6
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию

SAS888 громадное СПАСИБО! Великолепно работает!
А можно для самообразования узнать???)))
Как сделать третью кнопку?
Просто есть мысль сделать третью кнопку "Save...", по нажатии которой будет выкидывать в стандартное окно сохранить как.
(Кстати это выкидывание можно осуществить через ActiveWorkbook.SaveAs???)
mephist вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
доступ к значениям предыдущей сессии в DLL Kat Hilario Общие вопросы C/C++ 4 12.03.2009 12:13
Создание диаграммы Excel по значениям переменной Shinoby Microsoft Office Excel 1 08.03.2009 14:23
Сортировка одной БД по значениям другой Кот из Лета БД в Delphi 4 28.12.2007 13:35
Нарисовать Ellipse по значениям из... Apollo_13 Общие вопросы Delphi 3 17.06.2007 02:53