Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Вставить только значения из закрытой книги

Автор Sergey112233, 24.07.2012, 17:06

« назад - далее »

Sergey112233

Уважаемые форумчане!
Есть такой вариант копирования данных из закрытой книги:
Sub Кнопка21_Щелкнуть()
Dim TempWb As Workbook
Dim BazaSht As Worksheet
Dim iPath As String
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
Set BazaSht = ActiveSheet
iPath = ActiveWorkbook.Path & "\"
Set TempWb = Workbooks.Open(Filename:="V:\" & "1.xls", UpdateLinks:=False, ReadOnly:=True)
TempWb.Sheets("Лист1").Range("A13:B6000").Copy Destination:=BazaSht.Range("J7")

TempWb.Close saveChanges:=False
.Calculation = xlAutomatic
.ScreenUpdating = True
End With
End Sub

Но при этом копируются и форматы тоже.
Подскажите, пожалуйста - как сделать так, чтобы копировались только значения?
Вынужден вернуться к теме "вставки только значений" в связи с установкой Excel 2007.
На выражение
TempWb.Sheets("Лист1").Range ("A13:B6000").Copy
BazaSht.Range("J7").PasteSpecial xlValues

Компилятор подчеркивает всю строку красным цветом, а xlValues выделяет синим фоном.
После заключение xlValues в скобки при запуске программы - пишет "Невозможно получить свойство PasteSpecial класса Range".
С проставленными аргумнтами PasteSpecial тоже появляется ошибка.
Подскажите, пожалуйста, что здесь не так?
Как вставить только значения? :-\



_Boroda_

Вообще-то, на самом деле, утверждение
ЦитироватьЕсть такой вариант копирования данных из закрытой книги
не совсем верно. Вы открываете книгу, копируете и обратно закрываете.
Есть еще вариант. Вот тут действительно мы забираем данные из ЗАКРЫТОЙ книги. Посмотрите, я написал для моего файла со своим путем. В общем-то, разницы никакой, думаю, разберетесь.
Sub Макрос2()
    Range("A1:A10").FormulaR1C1 = "='D:\Мои_\Стереть\[Книга3.xlsm]Лист1'!R[4]C[1]"
    Range("A1:A10") = Range("A1:A10").Value
End Sub
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Sergey112233

Все гениальное просто и кратко :)
Спасибо.
А мой пример поправить как?

kuklp

Сергей, будете так поступать - я Вам помогать больше не буду. Почему не отписываетесь, что проблема решена? Вам до лампочки, что люди тратят время на Вас впустую?
http://www.planetaexcel.ru/forum.php?thread_id=43540
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

Sergey112233

KuklP.
Здравствуйте.
За Ваш ответ спасибо :)
И помощь Ваша мне очень помогла разобраться в вопросе, который мне был не понятен.