Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Копирование области данных, в Excel 
:(
    Опции темы
Cashey
  Дата 2.3.2004, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 1
Всего: 60



Как скопировать (другими словами - размножить) данные на листе в Excel? Т.е. выделить уже готовую область, вместе с размером ячеек, линиями, формулами, и пр. и скопировать ее на эту же страницу вниз под первую область.

Если приведете пример - буду благодарен, причем не важно на каком языке он будет, думаю разберусь.


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
remax
Дата 3.3.2004, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент
**


Профиль
Группа: Участник Клуба
Сообщений: 686
Регистрация: 7.4.2002
Где: Украина, Харьков

Репутация: нет
Всего: 5



А в чем проблема с обычным выделить->copy->paste? Или весь прикол в том, чтобы сделать это не руками а программой?


--------------------
Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку
PM MAIL ICQ Skype   Вверх
Darksquall
  Дата 4.3.2004, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



угу Копировать> Вставить
или

public data as variant
sub a()

data=range("A1:E10")
range("A51:E60")=data

end sub

во как :-)


--------------------
PM WWW ICQ   Вверх
Cashey
Дата 4.3.2004, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 1
Всего: 60



Цитата(remax @ 3.3.2004, 21:26)
Или весь прикол в том, чтобы сделать это не руками а программой?

А ты догадливый smile.gif

Цитата
public data as variant
sub a()

data=range("A1:E10")
range("A51:E60")=data

end sub

что-то я сомневаюсь.... но проверю




--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Darksquall
Дата 4.3.2004, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



а че тут сомневаться variant excel сам обработает. :-)


--------------------
PM WWW ICQ   Вверх
mr.DUDA
Дата 5.3.2004, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: нет
Всего: 232



Всё работает.
А если хочется именно через Copy/Paste, то:
Цитата
Range("A1:C3").Select
Selection.Copy
Range("A4:C6").Select
ActiveSheet.Paste

(только после этого остаётся рамка и выделение)


--------------------
user posted image
PM MAIL WWW   Вверх
Darksquall
Дата 9.3.2004, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



Цитата(mr @ 5.3.2004, 16:35)
Всё работает.
А если хочется именно через Copy/Paste, то:
Цитата
Range("A1:C3").Select
Selection.Copy
Range("A4:C6").Select
ActiveSheet.Paste

(только после этого остаётся рамка и выделение)

а для того что бы убрать рамку.Просто выделяем какую нибудь ячейку.

Sub a()
Range("A1:E10").Select
Cells(1, 10).Select
End Sub



--------------------
PM WWW ICQ   Вверх
Cashey
Дата 29.3.2004, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 1
Всего: 60



Цитата
Range("A1:C3").Select
Selection.Copy
Range("A4:C6").Select
ActiveSheet.Paste


Выдает ошибку: Невозможно получить свойство Select класса Range

А делаю я так:
Код

tmpsheet = "declen.xls",'excel.sheet')
XLApp = tmpsheet.application
XLApp.Workbooks.Open("declen.xls")
WITH XLApp.Sheets[1]
.Range("A1:C5").Select
.Selection.Copy
.Range("A4:C6").Select
.ActiveSheet.Paste


Вероятно наследую не правильно, но вот как правильно, вот в чем вопрос smile.gif (почти по Гамлетуsmile.gif)


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Darksquall
Дата 29.3.2004, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



Ну правильно.


Set sheet1 = ActiveSheet
sheet1.Range("A1:B2").Select


Range входит в Activesheet и в другие классы не помня какие.
А просто range не бывает!

Это сообщение отредактировал(а) Darksquall - 29.3.2004, 15:13


--------------------
PM WWW ICQ   Вверх
Cashey
Дата 29.3.2004, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 1
Всего: 60



Так у меня он не просто сам по себе, а как подкласс Sheet[1]. Правда когда я заменил на ActiveSheet ошибка перестала генерится, но область не скопировалась.


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Darksquall
Дата 30.3.2004, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



а почему не хочешь просто через переменную
data=range("A1:E10")?

какой у тебя офис?


--------------------
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.