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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2009, 21:14   #1
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию Копирование и вставка значений

Задача: на листе большое количество формул, необходимо убрать формулы, оставив их "значение".
Пока решаю задачу через копирование так:
Код:
        Cells.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
Есть иной способ?
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 28.05.2009, 23:29   #2
Евгений ГВС
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 43
По умолчанию

А почему этот не подхолдит?
Евгений ГВС вне форума Ответить с цитированием
Старый 28.05.2009, 23:46   #3
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от Евгений ГВС Посмотреть сообщение
А почему этот не подхолдит?
Кажется громоздким. Уже после написания вопроса проявились несколько слабых мест и код стал больше
Код:
        'Превращаем все формулы в текст. Копируем содержание всего листа и вставляем значение.
        Cells.Copy
        Application.DisplayAlerts = False          'Отключем запрос на подтверждение удаления.
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Application.DisplayAlerts = True
        Application.CutCopyMode = False            'Сбросили выделение.
       
        Range("A1").Select                         'Для удобства.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 29.05.2009, 04:42   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Тогда может так:
Код:
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 29.05.2009, 04:47   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Чтобы заменить формулы значениями только для определённых ячеек, используйте код:
Код:
    Set Диапазон = [a3:g34]
    Диапазон.Value = Диапазон.Value
EducatedFool вне форума Ответить с цитированием
Старый 29.05.2009, 08:41   #6
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Тогда может так:
Код:
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
Спасибо, именно то что нужно!
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 29.05.2009, 08:47   #7
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Чтобы заменить формулы значениями только для определённых ячеек, используйте код:
Код:
    Set Диапазон = [a3:g34]
    Диапазон.Value = Диапазон.Value
А применительно к теме: http://programmersforum.ru/showthread.php?t=52074, можно присвоить пустые значения? У меня VBA злостно матюкается.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 29.05.2009, 09:15   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Удалить только данные (оставив форматирование) из столбца "A", начиная со строки 2 до конца, можно так:
Код:
Range([A2], Cells(Rows.Count, "A").End(xlUp)).ClearContents
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка/импорт массива значений из текстового файла в столбец таблицы bungler Microsoft Office Excel 4 08.01.2009 19:09
вставка значений Iskin Microsoft Office Excel 0 27.10.2008 13:21
Вставка текста Pedro Общие вопросы Delphi 4 27.01.2008 10:27
Вставка значений из разных листов AntiZero Microsoft Office Excel 2 16.11.2007 18:27