Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Перенос остатков на начало следующего периода, ошибка "метод select range завершен неверно"
 
Доброе время суток, уважаемые форумчане. Помогите с кодом, пожалуйста. При запуске кода на месте кода ( Case "МГПЗ") выдается ошибка "метод select range завершен неверно"
Код
Sub перенос_остатков()
 If MsgBox("Вы уверены, что хотите перенести остатки на конец года на начало следующего периода ?", vbYesNo, "Подтверждение") = vbYes Then
Dim Sht1 As Worksheet
  With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
    .Calculation = xlCalculationManual
  End With
       'цикл по всем листам

For Each Sht1 In Worksheets
     With Sht1
        Select Case Sht1.Name
            Case "Муборек"
                .Range("v10:x20").Select
                 Selection.Copy
                .Range("C10:e20").Select
                Selection.PasteSpecial Paste:=xlPasteValues
                Range("v22:x30").Select
                 Selection.Copy
                .Range("C22:e30").Select
                Selection.PasteSpecial Paste:=xlPasteValues
                Range("v32:x33").Select
                 Selection.Copy
                .Range("C32:e33").Select
                Selection.PasteSpecial Paste:=xlPasteValues
                Range("v35:x42").Select
                 Selection.Copy
                .Range("C35:e42").Select
                Selection.PasteSpecial Paste:=xlPasteValues
            Case "МГПЗ"
                 .Range("V10:X20").Select
                 Selection.Copy
                .Range("C10:e20").Select
                Selection.PasteSpecial Paste:=xlPasteValues
                Range("v22:x30").Select
                 Selection.Copy
                .Range("C22:e30").Select
                Selection.PasteSpecial Paste:=xlPasteValues
                Range("v32:x33").Select
                 Selection.Copy
                .Range("C32:e33").Select
                Selection.PasteSpecial Paste:=xlPasteValues
                Range("v35:x42").Select
                 Selection.Copy
                .Range("C35:e42").Select
                Selection.PasteSpecial Paste:=xlPasteValues
          Case "Шуртан"
                .Range("v10:x20").Select
                 Selection.Copy
                .Range("C10:e20").Select
                Selection.PasteSpecial Paste:=xlPasteValues
           Range("v22:x30").Select
                 Selection.Copy
                .Range("C22:e30").Select
                Selection.PasteSpecial Paste:=xlPasteValues
                Range("v32:x33").Select
                 Selection.Copy
                .Range("C32:e33").Select
                Selection.PasteSpecial Paste:=xlPasteValues
                Range("v35:x42").Select
                 Selection.Copy
                .Range("C35:e42").Select
                Selection.PasteSpecial Paste:=xlPasteValues
        End Select
             End With
     
Next
  With Application
    .ScreenUpdating = True
    .DisplayAlerts = True
    .Calculation = xlCalculationAutomatic
  End With
Else
    MsgBox ("Остатки не пересены")   ' действие, если человек отменил выполнение.
End If
End Sub
Изменено: eska - 8 Апр 2015 10:31:56
 
Перед селектом нужно активате.
Зачем вообще это? Учитесь обходиться без селектов/активаций, обычно они не нужны.
 
Hugo,Покажите пожалуйста, как без селектов/активаций в данном случае.
 
так не пробовали?
Код
...
Range("v10:x20").Copy
Range("C10:e20").PasteSpecial Paste:=xlPasteValues
...
Неизлечимых болезней нет, есть неизлечимые люди.
 
TheBestOfTheBest, Спасибо Вам, все исправил, работает!!!
Страницы: 1
Читают тему (гостей: 1)