ник: Vadim Sh
Другой вариант. Все работает как надо
Private Sub ComboBox2_Change()
bla ("$I$1")
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$1" Or Target.Address = "$I$1" Or Target.Address = "$K$1" Then
bla (Target.Address)
End If
End Sub
Private Sub ComboBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case 13
With Sheets("!!!Оглавление").Range("Имена")
If ComboBox2.ListIndex = -1 Then .Offset(.Rows.Count).Resize(1) = ComboBox2.Text
End With
End Select
End Sub
Sub bla(addr As String)
If Range("N1").Value <> "" Then
If Len(Range("N1").Value) < 30 Then
If Range(addr).Parent.Name = Range("N1").Value Then Exit Sub
[color=red] Range(addr).Parent.Name = Range("N1").Value[/color]
End If
End If
Dim i As Integer, j As Integer
For i = 1 To Sheets.Count - 1
For j = i + 1 To Sheets.Count
If UCase(Sheets(i).Name) > UCase(Sheets(j).Name) Then
Sheets(j).Move before:=Sheets(i)
End If
Next j
Next i
End Sub
Но выдает ошибку при копировании листа:
Run-time error '1004'.
Нельзя присвоить листу имя, совподающее с именем другого листа, библиотеки объектов или книги, на которую ссылается VisualBasic.