Здравствуйте, с vba имею дело впервые и появилось несколько вопросов ответы на которые я уже отчаялся найти самостоятельно...
Имеется книга с
Private Sub Workbook_Open()
Dim Sh As Worksheet, i As Integer
For i = 1 To Sheets.Count
With Sheets(i)
.Unprotect
.Protect Scenarios:=True, UserInterfaceOnly:=True, AllowFormattingRows:=True
End With
Next
End Sub
и
Private Sub ComboBox07_Change()
ComboVal = Worksheets(2).ComboBox07.Value
If Len(ComboVal) = 13 Then
For Each Code In Worksheets("ФККО").Range("A:A")
If Val(Code.Value) = Val(ComboVal) Then
Worksheets(2).Range(Cells(7, 3), Cells(7, 3)) = ComboVal
AcRow = Worksheets(2).Range(Cells(7, 3), Cells(7, 3)).Row
AcCol = Worksheets(2).Range(Cells(7, 3), Cells(7, 3)).Column
FKKOVal = Worksheets("ФККО").Range("B" & Code.Row).Value
Worksheets(2).Range(Cells(AcRow, AcCol - 1), Cells(AcRow, AcCol - 1)) = FKKOVal
Exit For
End If
Next Code
End If
End Sub
переодически на строке Worksheets(2).Range(Cells(7, 3), Cells(7, 3)) = ComboVal возникает ошибка "method range of object worksheet failed", опытным путем было выяснено что данная ошибка возникает в версии Excel 2007 12.0.4518.1014 mso, в версиях выше (например 12.0.6550.5004) ошибки нет. Написать в требованиях версию Excel не вариант, так как книгой будут пользоваться на разных компьютерах. Заранее спасибо за возможные варианты решения проблемы.
Имеется книга с
Private Sub Workbook_Open()
Dim Sh As Worksheet, i As Integer
For i = 1 To Sheets.Count
With Sheets(i)
.Unprotect
.Protect Scenarios:=True, UserInterfaceOnly:=True, AllowFormattingRows:=True
End With
Next
End Sub
и
Private Sub ComboBox07_Change()
ComboVal = Worksheets(2).ComboBox07.Value
If Len(ComboVal) = 13 Then
For Each Code In Worksheets("ФККО").Range("A:A")
If Val(Code.Value) = Val(ComboVal) Then
Worksheets(2).Range(Cells(7, 3), Cells(7, 3)) = ComboVal
AcRow = Worksheets(2).Range(Cells(7, 3), Cells(7, 3)).Row
AcCol = Worksheets(2).Range(Cells(7, 3), Cells(7, 3)).Column
FKKOVal = Worksheets("ФККО").Range("B" & Code.Row).Value
Worksheets(2).Range(Cells(AcRow, AcCol - 1), Cells(AcRow, AcCol - 1)) = FKKOVal
Exit For
End If
Next Code
End If
End Sub
переодически на строке Worksheets(2).Range(Cells(7, 3), Cells(7, 3)) = ComboVal возникает ошибка "method range of object worksheet failed", опытным путем было выяснено что данная ошибка возникает в версии Excel 2007 12.0.4518.1014 mso, в версиях выше (например 12.0.6550.5004) ошибки нет. Написать в требованиях версию Excel не вариант, так как книгой будут пользоваться на разных компьютерах. Заранее спасибо за возможные варианты решения проблемы.