Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Копировать, вставить на другой лист - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Копировать, вставить на другой лист
yuka Дата: Среда, 16.01.2013, 15:42 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Друзья! Помогите пожалуйста. Вопрос глупый... но почему-то справиться я с ним не могу.
Есть код:
[vba]
Код
Sub macros ()
    Dim LastRow As Double
    Const FIRST_COLUMN = 1
       Set ws = Sheets("Прайс")
       LastRow = WorksheetFunction.Match("Конец", ws.Columns(FIRST_COLUMN), 0)   
       Worksheets(3).Application.Range("A1:H" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
       Worksheets(13).Application.Range("A1" & ":H" & LastRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False
End Sub
[/vba]

Почему-то не вставляет. Копирует, но не вставляет, что не так? Заранее, огромное спасибо!


Сообщение отредактировал yuka - Среда, 16.01.2013, 15:51
 
Ответить
СообщениеДрузья! Помогите пожалуйста. Вопрос глупый... но почему-то справиться я с ним не могу.
Есть код:
[vba]
Код
Sub macros ()
    Dim LastRow As Double
    Const FIRST_COLUMN = 1
       Set ws = Sheets("Прайс")
       LastRow = WorksheetFunction.Match("Конец", ws.Columns(FIRST_COLUMN), 0)   
       Worksheets(3).Application.Range("A1:H" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
       Worksheets(13).Application.Range("A1" & ":H" & LastRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False
End Sub
[/vba]

Почему-то не вставляет. Копирует, но не вставляет, что не так? Заранее, огромное спасибо!

Автор - yuka
Дата добавления - 16.01.2013 в 15:42
Матраскин Дата: Среда, 16.01.2013, 16:05 | Сообщение № 2
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
yuka, когда копируешь надо выделять область, а когда вставляешь выделять - необходимо верхнюю левую ячейку)) думаю дело в этом


в интернете опять кто-то не прав

Сообщение отредактировал Матраскин - Среда, 16.01.2013, 16:06
 
Ответить
Сообщениеyuka, когда копируешь надо выделять область, а когда вставляешь выделять - необходимо верхнюю левую ячейку)) думаю дело в этом

Автор - Матраскин
Дата добавления - 16.01.2013 в 16:05
yuka Дата: Среда, 16.01.2013, 16:15 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
тоже не получается. В этом варианте кода он мне почему-то выделяет на Worksheets(13) диапазон (А1:Н1), т.е. выполняя предыдущую команду, которую он должен был выполнить для другого листа.
 
Ответить
Сообщениетоже не получается. В этом варианте кода он мне почему-то выделяет на Worksheets(13) диапазон (А1:Н1), т.е. выполняя предыдущую команду, которую он должен был выполнить для другого листа.

Автор - yuka
Дата добавления - 16.01.2013 в 16:15
Матраскин Дата: Среда, 16.01.2013, 16:23 | Сообщение № 4
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
yuka, ну что ещё видно по тому что написано, имена листов пишутся в " " ))) Worksheets("3")
p.s. без вложенного файла не поклацать, только то что в глаза бросается


в интернете опять кто-то не прав

Сообщение отредактировал Матраскин - Среда, 16.01.2013, 16:23
 
Ответить
Сообщениеyuka, ну что ещё видно по тому что написано, имена листов пишутся в " " ))) Worksheets("3")
p.s. без вложенного файла не поклацать, только то что в глаза бросается

Автор - Матраскин
Дата добавления - 16.01.2013 в 16:23
yuka Дата: Среда, 16.01.2013, 16:49 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
файл
К сообщению приложен файл: copy_paste.xls (41.0 Kb)
 
Ответить
Сообщениефайл

Автор - yuka
Дата добавления - 16.01.2013 в 16:49
yuka Дата: Среда, 16.01.2013, 16:57 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Макрос работает только для активных листов, т.е. если выбран Лист1, он копирует, далее надо перейти на лист вставки, только после этого вставить.

[vba]
Код
Sub macros ()
     Dim LastRow As Double
     Const FIRST_COLUMN = 1
     Set ws = Sheets("Прайс")
     Sheets("Прайс").Select
     LastRow = WorksheetFunction.Match("Конец", ws.Columns(FIRST_COLUMN), 0)    
     Worksheets("Прайс").Application.Range("A1:H" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
     Sheets("Лист2").Select
     Worksheets("Лист2").Application.Range("A1" & ":H" & LastRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
End Sub
[/vba]
Можно ли сделать без активации этих листов?
 
Ответить
СообщениеМакрос работает только для активных листов, т.е. если выбран Лист1, он копирует, далее надо перейти на лист вставки, только после этого вставить.

[vba]
Код
Sub macros ()
     Dim LastRow As Double
     Const FIRST_COLUMN = 1
     Set ws = Sheets("Прайс")
     Sheets("Прайс").Select
     LastRow = WorksheetFunction.Match("Конец", ws.Columns(FIRST_COLUMN), 0)    
     Worksheets("Прайс").Application.Range("A1:H" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
     Sheets("Лист2").Select
     Worksheets("Лист2").Application.Range("A1" & ":H" & LastRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
End Sub
[/vba]
Можно ли сделать без активации этих листов?

Автор - yuka
Дата добавления - 16.01.2013 в 16:57
RAN Дата: Среда, 16.01.2013, 17:00 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
1. Исправьте
[vba]
Код
Dim LastRow As Long
[/vba]
иначе возможны глюки.
2.Исправьте
[vba]
Код
Worksheets(3).Range("A1:H" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
     Worksheets(13).Range("A1" & ":H" & LastRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение1. Исправьте
[vba]
Код
Dim LastRow As Long
[/vba]
иначе возможны глюки.
2.Исправьте
[vba]
Код
Worksheets(3).Range("A1:H" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
     Worksheets(13).Range("A1" & ":H" & LastRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
[/vba]

Автор - RAN
Дата добавления - 16.01.2013 в 17:00
yuka Дата: Среда, 16.01.2013, 17:15 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Цитата (RAN)
2.Исправьте

Исправила и то, и другое. Все равно что-то не так...
 
Ответить
Сообщение
Цитата (RAN)
2.Исправьте

Исправила и то, и другое. Все равно что-то не так...

Автор - yuka
Дата добавления - 16.01.2013 в 17:15
RAN Дата: Среда, 16.01.2013, 17:20 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Что не так? Вы приложили пустой файл. С него и копировать пытаетесь?
Заполните, и поясните, что копировать, куда, и по каким условиям.

Иначе - только к гадалке.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЧто не так? Вы приложили пустой файл. С него и копировать пытаетесь?
Заполните, и поясните, что копировать, куда, и по каким условиям.

Иначе - только к гадалке.

Автор - RAN
Дата добавления - 16.01.2013 в 17:20
yuka Дата: Среда, 16.01.2013, 17:33 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Цитата (RAN)
Что не так? Вы приложили пустой файл.

Вроде не пустой...

Цитата (RAN)
Заполните, и поясните, что копировать, куда, и по каким условиям.

Копировать надо с листа "прайс" на "лист2". Макрос исправленный работает только в том случае, если сначала активен лист "Прайс", а потом "Лист2". А в моем оригинале вовсе почему-то сначала вставляет, а потом удаляет... Разбираюсь в чем дело.

-------->
Я прошу прощения за свою навязчивость и несообразительность.... Разобралась. Все работает! Огромное спасибо за помощь!


Сообщение отредактировал yuka - Среда, 16.01.2013, 17:48
 
Ответить
Сообщение
Цитата (RAN)
Что не так? Вы приложили пустой файл.

Вроде не пустой...

Цитата (RAN)
Заполните, и поясните, что копировать, куда, и по каким условиям.

Копировать надо с листа "прайс" на "лист2". Макрос исправленный работает только в том случае, если сначала активен лист "Прайс", а потом "Лист2". А в моем оригинале вовсе почему-то сначала вставляет, а потом удаляет... Разбираюсь в чем дело.

-------->
Я прошу прощения за свою навязчивость и несообразительность.... Разобралась. Все работает! Огромное спасибо за помощь!

Автор - yuka
Дата добавления - 16.01.2013 в 17:33
Формуляр Дата: Среда, 16.01.2013, 17:52 | Сообщение № 11
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
yuka,
вместо листа "Прайс" вы копируете из Worksheets(3)
Application. перед Range не нужен
Пастить лучше в начальную ячейку Range("A1") - меньше ошибок наделаете


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Среда, 16.01.2013, 17:53
 
Ответить
Сообщениеyuka,
вместо листа "Прайс" вы копируете из Worksheets(3)
Application. перед Range не нужен
Пастить лучше в начальную ячейку Range("A1") - меньше ошибок наделаете

Автор - Формуляр
Дата добавления - 16.01.2013 в 17:52
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!