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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.05.2008, 15:22   #1
Dorvir
Пользователь
 
Аватар для Dorvir
 
Регистрация: 06.02.2008
Сообщений: 42
По умолчанию Как написать в коде чтобы диапазон А копировался как значение в диапазон В.

Народ please help!

никак не могу понять как написать в коде чтобы диапазон А копировался как значение в диапазон В.

Если просто записать:

A.Copy B то копируется формула и получается циклическая ссылка...

И второй вопрос: как написать чтобы диапазон А копировался со связями в диапазон В.

Спасибо!
Dorvir вне форума
Старый 19.05.2008, 15:34   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

1. в общем случае, копирование
Код:
Worksheets("Лист1").Range("A1").Copy Destination:=Worksheets("Лист3").Range("B2")
если только значения, то
Код:
Worksheets("Лист1").Range("A1").Copy 
Worksheets("Лист3").Range("B2").PasteSpecial Paste:=xlValues
ну а уж что копировать, прописывайте своё
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 19.05.2008 в 15:36.
VictorM вне форума
Старый 19.05.2008, 16:47   #3
Dorvir
Пользователь
 
Аватар для Dorvir
 
Регистрация: 06.02.2008
Сообщений: 42
По умолчанию

Так просто!!!

Спасибо!
Dorvir вне форума
Старый 19.05.2008, 16:49   #4
Dorvir
Пользователь
 
Аватар для Dorvir
 
Регистрация: 06.02.2008
Сообщений: 42
По умолчанию

Копировать как значение получается, а копировать связи (links) не получается
PasteSpecial Paste:=xlLink - такого не знает

A.Paste Link:=True - ругается...

Что делать?
Dorvir вне форума
Старый 19.05.2008, 17:44   #5
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
По умолчанию

Для вставки связи применять метод не к диапазону, а к листу (Worksheet object).
дмидми вне форума
Старый 19.05.2008, 20:17   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Чтобы скопировать ссылку links, можно написать так:
Код:
Worksheets("Лист1").Range("A1").Copy
Worksheets("Лист3").Range("B2").PasteSpecial Paste:=xlExcelLinks
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 19.05.2008, 20:28   #7
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
Восклицание Это что, диверсия?

Уважаемый VictorM, Вы предлагаемый Вами код выполнить пытались? Если да, то какой результат получили?
дмидми вне форума
Старый 19.05.2008, 20:39   #8
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Уважаемый ДМИДМИ. Все, что я выкладываю, я проверяю.
В результате выполнения предложенного кода была скопирована гиперссылка (вместе со значением), находящаяся в ячейке А1, листа 1 в ячейку B2 листа 3.
Вложения
Тип файла: zip Ссылка.zip (7.2 Кб, 18 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 19.05.2008 в 20:55.
VictorM вне форума
Старый 19.05.2008, 21:04   #9
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
Восклицание

Тот же результат (копирование гиперссылки) Вы получите, применяя с методом PasteSpecial обычное xlPasteAll или xlPasteAllExceptBorders
Как, впрочем, и при использовании "неспециального" копирования, метода .Copy(Destination) объекта Range.

Предлагаемая Вами возможность не документирована.

К тому же Dorvir не говорил о гиперссылках, он говорил о связи.
В контексте команды "Специальная вставка" нажатие кнопки "Вставить связь" приводит (в разбираемом примере) к занесению в ячейку B2 листа Лист3 формулы =Лист1!$A$1
дмидми вне форума
Старый 19.05.2008, 21:12   #10
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

То, что возможность недокументирована, не означает что она отсутствует.
А вот по поводу гиперссылки и связи, да недосмотрел.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диапазон оператора switch Иллидан Общие вопросы C/C++ 4 18.05.2008 00:10
диапазон времени chekanoff БД в Delphi 34 02.03.2008 01:28
Изменяемый диапазон массива в функциях slba Microsoft Office Excel 4 29.06.2007 19:10
Как указать диапазон чисел? Inbox Общие вопросы Delphi 2 29.06.2007 01:21
неразрывный диапазон zetrix Microsoft Office Excel 0 31.10.2006 07:26