2015-09-29 3 views
-4

Я пробовал «вероятное решение», которое я нашел здесь на этом сайте, но я получаю сообщение об ошибке «Ошибка компиляции: для уже используемой переменной управления» макрос использует которая должна быть нажата для ее запуска.Мне нужна помощь при вводе данных в защищенный лист

Мой код выглядит следующим образом ....

Sub Coa() 
Coa.Unprotect Password:=Password 
' 
' Coa Macro 
' create coa 
' 
' Keyboard Shortcut: Ctrl+Shift+C 
' 
    Sheets("GeneralFormat").Select 
    ActiveSheet.Range("$B:$B").AutoFilter Field:=1, Criteria1:=Array("1", "10", _ 
     "15", "20", "25", "5", "30", "35", "40", "45", "50", "55", "60", "65", "70", _ 
     "75", "80", "85", "90", "95", "100"), Operator:=xlFilterValues 
    Range("D6:O105").Select 
    Selection.Copy 
    Sheets("CoA").Select 
    ActiveSheet.Range("E25:E25").Select 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
     :=False, Transpose:=True 
    Sheets("GeneralFormat").Select 
    Selection.AutoFilter 
    Sheets("CoA").Select 
Coa.Protect Password:=Password 
End Sub 

Sub Button2_Click() 

Dim sh As Worksheet 

Dim yourPassword As String 

    yourPassword = "Password" 

    For Each sh In ActiveWorkbook.Worksheets 
     sh.Unprotect Password:=Password 
' --------------------------------------------------------------------------------------------------------------------------------------- 
    Sheets("GeneralFormat").Select 
    ActiveSheet.Range("$B:$B").AutoFilter Field:=1, Criteria1:=Array("1", "10", _ 
     "15", "20", "25", "5", "30", "35", "40", "45", "50", "55", "60", "65", "70", _ 
     "75", "80", "85", "90", "95", "100"), Operator:=xlFilterValues 
    Range("D6:O105").Select 
    Selection.Copy 
    Sheets("CoA").Select 
    ActiveSheet.Range("E25:E25").Select 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
     :=False, Transpose:=True 
    Sheets("GeneralFormat").Select 
    Selection.AutoFilter 
    Sheets("CoA").Select 
' -------------------------------------------------------------------------------------------------------------------------------------- 

For Each sh In ActiveWorkbook.Worksheets 
     sh.Protect Password:=Password 
    Next sh 

End Sub 
+0

Вы должны удалить свой пароль из кода. – cronos2546

+0

В каком субрегионе происходит эта ошибка? – cronos2546

+0

спасибо ... ошибка возникает в Button2_Click() подпрограмме –

ответ

0
**'Delete this following line 
    For Each sh In ActiveWorkbook.Worksheets** 
     sh.Protect Password:=Password 
    Next sh 

End Sub 

Вы создаете вторую петлю с той же переменной, прежде чем выйти из первого.

+0

Теперь он говорит мне, что мой пароль неверен и что я должен проверить, закрыты ли заглушки ... Блокировка кепок отключена, и у меня определенно есть правильный пароль в коде и в excel –

+0

У меня есть 3 листа в моем файле только 1 защищена ли я, чтобы защитить все 3 листа для работы кода VB? –

Смежные вопросы