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

Вход

Регистрация

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

 

= Мир MS Excel/Selection.PasteSpecial - выдает ошибку - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Selection.PasteSpecial - выдает ошибку (Макросы/Sub)
Selection.PasteSpecial - выдает ошибку
leskris Дата: Среда, 13.04.2016, 09:22 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
[vba]
Код
Sub List_files()

  '1 ver_m1______________________________________
  Dim i, j, k, number, address, sh, r1, c1, r2, c2 As Variant
  Dim wb2, wb3 As String
    Application.ScreenUpdating = 0
    With ThisWorkbook
    wb2 = ActiveWorkbook.Name
      MyPath = Range("E2").Value
      Mask = "stat*.xlsm"
      myname = Dir(MyPath & Mask, vbDirectory)
          
                Do While myname <> ""
                If myname <> "." And myname <> ".." And myname <> ThisWorkbook.Name Then
               
               Set wb = Workbooks.Open(Filename:=MyPath & myname)
               wb3 = myname
               
  wb.Sheets("Input area").Range("B3:B4").Select
  Selection.copy

  Windows(wb2).Activate
  Sheets("Input area").Activate
  Sheets("Input area").Range("B3:B4").Select
  ActiveSheet.Paste
  Windows(wb3).Activate
  wb.Sheets("Input area").Range("c11:f108").Select
  Selection.copy
  Windows(wb2).Activate
  Sheets("Input area").Range("c11:f108").Select
  ActiveSheet.Paste
  Windows(wb3).Activate
  Application.DisplayAlerts = False
                wb.Close
Application.DisplayAlerts = True
               
            End If
            myname = Dir
            Windows(wb2).Activate
            Call add
        Loop
       
    End With
    End Sub
[/vba]

Всем привет! подскажите пожалуйста почему [vba]
Код
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
[/vba] не работает а [vba]
Код
ActiveSheet.Paste
[/vba] работает в данном коде. Пересмотрел уже кучу информации так и не понял почему...


Сообщение отредактировал leskris - Среда, 13.04.2016, 09:24
 
Ответить
Сообщение[vba]
Код
Sub List_files()

  '1 ver_m1______________________________________
  Dim i, j, k, number, address, sh, r1, c1, r2, c2 As Variant
  Dim wb2, wb3 As String
    Application.ScreenUpdating = 0
    With ThisWorkbook
    wb2 = ActiveWorkbook.Name
      MyPath = Range("E2").Value
      Mask = "stat*.xlsm"
      myname = Dir(MyPath & Mask, vbDirectory)
          
                Do While myname <> ""
                If myname <> "." And myname <> ".." And myname <> ThisWorkbook.Name Then
               
               Set wb = Workbooks.Open(Filename:=MyPath & myname)
               wb3 = myname
               
  wb.Sheets("Input area").Range("B3:B4").Select
  Selection.copy

  Windows(wb2).Activate
  Sheets("Input area").Activate
  Sheets("Input area").Range("B3:B4").Select
  ActiveSheet.Paste
  Windows(wb3).Activate
  wb.Sheets("Input area").Range("c11:f108").Select
  Selection.copy
  Windows(wb2).Activate
  Sheets("Input area").Range("c11:f108").Select
  ActiveSheet.Paste
  Windows(wb3).Activate
  Application.DisplayAlerts = False
                wb.Close
Application.DisplayAlerts = True
               
            End If
            myname = Dir
            Windows(wb2).Activate
            Call add
        Loop
       
    End With
    End Sub
[/vba]

Всем привет! подскажите пожалуйста почему [vba]
Код
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
[/vba] не работает а [vba]
Код
ActiveSheet.Paste
[/vba] работает в данном коде. Пересмотрел уже кучу информации так и не понял почему...

Автор - leskris
Дата добавления - 13.04.2016 в 09:22
_Boroda_ Дата: Среда, 13.04.2016, 09:52 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Selection вообще по возможности желательно не использовать. Вот такой пример посмотрите
[vba]
Код
Лист2.Range("A1:C5").Copy
Лист1.Range("A1").PasteSpecial (xlPasteValues)
[/vba]
Для Вашего кода это примерно так
[vba]
Код
wb.Sheets("Input area").Range("B3:B4").Copy
wb2.Sheets("Input area").Range("B3").PasteSpecial (xlPasteValues)
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеSelection вообще по возможности желательно не использовать. Вот такой пример посмотрите
[vba]
Код
Лист2.Range("A1:C5").Copy
Лист1.Range("A1").PasteSpecial (xlPasteValues)
[/vba]
Для Вашего кода это примерно так
[vba]
Код
wb.Sheets("Input area").Range("B3:B4").Copy
wb2.Sheets("Input area").Range("B3").PasteSpecial (xlPasteValues)
[/vba]

Автор - _Boroda_
Дата добавления - 13.04.2016 в 09:52
SLAVICK Дата: Среда, 13.04.2016, 09:55 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 1962
Репутация: 669 ±
Замечаний: 0% ±

2007,2010,2013,2016
Вложите примеры книг из которой и в какую копируете.
Удалите значения.
На пустых книгах у меня работает.
ActiveSheet.Paste

Может у Вас объеденные ячейки есть - тогда xlPasteValues не сработает.
и вообще лучше не использовать Select а обращаться к диапазону напрямую.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеВложите примеры книг из которой и в какую копируете.
Удалите значения.
На пустых книгах у меня работает.
ActiveSheet.Paste

Может у Вас объеденные ячейки есть - тогда xlPasteValues не сработает.
и вообще лучше не использовать Select а обращаться к диапазону напрямую.

Автор - SLAVICK
Дата добавления - 13.04.2016 в 09:55
leskris Дата: Среда, 13.04.2016, 10:22 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Все работает, спасибо! я изначально пытался напрямую копировать но мне писало метод copy завершен не верно, наверное я что-то упустил тогда.
 
Ответить
СообщениеВсе работает, спасибо! я изначально пытался напрямую копировать но мне писало метод copy завершен не верно, наверное я что-то упустил тогда.

Автор - leskris
Дата добавления - 13.04.2016 в 10:22
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Selection.PasteSpecial - выдает ошибку (Макросы/Sub)
Страница 1 из 11
Поиск:

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