Как скопировать ячейку вместе с форматированием

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kosm
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 17.02.2004 (Вт) 16:39

Как скопировать ячейку вместе с форматированием

Сообщение kosm » 17.02.2004 (Вт) 16:52

Как скопировать ячейку вместе с форматированием (высота, ширина и остальные аттрибуты)?

Sergey-13
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 119
Зарегистрирован: 23.01.2004 (Пт) 16:02
Откуда: Саранск

Сообщение Sergey-13 » 17.02.2004 (Вт) 19:26

не понял, зачем тебе это?

kosm
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 17.02.2004 (Вт) 16:39

Сообщение kosm » 18.02.2004 (Ср) 9:55

Задача - сделать копию листа за вычетом нескольких колонок и строк + должно остаться форматирование.

Dave
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 18.02.2004 (Ср) 11:02
Откуда: Москва

Сообщение Dave » 20.02.2004 (Пт) 11:30

Попробуй это, только он размер не копирует

Sheets(1).Range("A1").Copy _
Destination:=Sheets(2).Range("A1")

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.02.2004 (Пт) 12:23

Копируй весь лист worksheets("sdghsgdh").copy, а потом удаляй ненужное из копии.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

kosm
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 17.02.2004 (Вт) 16:39

Сообщение kosm » 20.02.2004 (Пт) 13:39

Да, с копией листа наверно решится проблема. Только вот копировать нужно в отдельный workbook (нужен отдельный файл). Каким образом в другой воркбук скопировать лист? Я так понимаю copy работает только в пределах текущего?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 20.02.2004 (Пт) 13:42

Я обычно комирую листы вот таким, изварщенным, способом:

Код: Выделить всё
Sheets("Sheet1").Range("A1:IV65535").Copy
Sheets("Sheet2").Range("A1:IV65535").Paste

kosm
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 17.02.2004 (Вт) 16:39

Сообщение kosm » 20.02.2004 (Пт) 14:36

RayShade
Форматирование сбивается таким образом :( Хотя на само деле, если простого метода нет, то придеться так + потом еще расформатировать. Но блин, глупость, при копировании не трогать формат, IMHO.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 21.02.2004 (Сб) 10:24

Команда copy без параметров как раз и скопирует в новую книгу.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 21.02.2004 (Сб) 13:11

Код: Выделить всё
Sheets("Имя листа источника").Select
    Sheets("Имя листа источника").Copy Before:=Workbooks("Имя книги приемника").Sheets(1)


А если книги для копирования нет то так:
Код: Выделить всё
Sub Создать файл(ИмяТекКниги, ИмяИндексЛистаТекКниги, ПолноеИмяФайла)
    Workbooks(ИмяТекКниги).Activate
    Sheets(ИмяИндексЛистаТекКниги).Select
    Sheets(ИмяИндексЛистаТекКниги).Copy
    ActiveWorkbook.SaveAs FileName:=ПолноеИмяФайла, _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    Workbooks.Open FileName:=ПолноеИмяФайла
End Sub


P.S.
Это вопрос по VBA!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList