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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2010, 12:30   #1
Shkoda
Пользователь
 
Аватар для Shkoda
 
Регистрация: 26.02.2010
Сообщений: 44
Вопрос Копирование и вставка данных как значение.

Всем привет.

Нашел шаблон макроса который мне нужен, но столкнулся с такое проблемой.
Есть два фаила, 1 - создание отчета, 2 - хранение итогов. При копировании из одного в другой копирует вместе с формулами, а нужно чтоб копировало только значения. Возможно ли такое?
Пример во вложении.
Вложения
Тип файла: rar Base.rar (24.5 Кб, 15 просмотров)
Shkoda вне форума Ответить с цитированием
Старый 10.07.2010, 13:51   #2
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

это код формы (поменяешь две строки - они помечены, объявишь диапазон):
Код:
Private Sub cbInput_Click()
Dim LName As String, WSh As Object

Dim r As Range '<-----------------

'MsgBox "листов " & Sheets(1).ShCnt & "  путь " & Sheets(1).myPath
Application.ScreenUpdating = False
LName = ComboBox1.Value
Set WSh = ThisWorkbook.Worksheets(1)
'WSh.UsedRange.Value = WSh.UsedRange.Value
WSh.Shapes(1).Delete
'For Each iVBComponent In ActiveWorkbook.VBProject.VBComponents
    'With iVBComponent
        'Select Case .Type
            'Case 1 To 3: .Collection.Remove iVBComponent
            'Case 100: .CodeModule.DeleteLines 1, .CodeModule.CountOfLines
        'End Select
    'End With
'Next
Set wbCopy = GetObject(myPath & "\Хранить_отчет.xls", "Excel.Sheet")
MsgBox wbCopy.Name & "  ShCnt = " & ShCnt

Set r = WSh.UsedRange 'WSh.UsedRange.Copy <-----------------
With wbCopy
    .Activate
    .Sheets.Add after:=Worksheets(ShCnt)
    .Worksheets(ShCnt + 1).Cells(r.Row, r.Column).Resize(r.Rows.Count, r.Columns.Count) = r.Value '.Worksheets(ShCnt + 1).Paste  <-----------------
    .Worksheets(ShCnt + 1).Name = LName
    .Windows("Хранить_отчет.xls").Visible = True
    .Save
End With
Unload Me
ThisWorkbook.Close False
End Sub
аналитика вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование и вставка текста Lemo Общие вопросы Delphi 1 01.07.2010 21:13
Копирование и вставка формул из одной книги в другую KNatalia Microsoft Office Excel 5 10.06.2010 13:15
PHP. Как изменить значение записи в MySQL базе данных SeRhy PHP 4 18.06.2009 12:21
как в базе данных вернуть текстовое значение в DBGrid вместо числового anija05 Общие вопросы Delphi 0 30.05.2009 14:44
Копирование и вставка значений tae1980 Microsoft Office Excel 7 29.05.2009 09:15