Помогите написать макрос
Модератор: Naeel Maqsudov
Помогите написать макрос: чтобы при его запуске происходило создание нового листа, название которого соответствовало бы названию определенной ячейки
Наверное, как-то так
Код: Выделить всё
Sub AddSheet()
Dim NewSht As Worksheet
Dim iShtName As String
iShtName = Sheets("Лист1").Range("A2") 'в этой ячейке должно быть название листа!
If iShtName = "" Then
MsgBox "Не указано имя листа!", vbExclamation, "Ошибка"
Exit Sub
End If
On Error Resume Next
Set NewSht = Sheets(iShtName)
If Err = 0 Then
MsgBox "Лист с таким назаванием уже существует!", vbExclamation, "Ошибка"
Exit Sub
End If
On Error GoTo 0
Set NewSht = Worksheets.Add
NewSht.Name = iShtName
End Sub
Спасибо большое!!
Один маленький вопрос:
для чего прописывается команды:
On Error Resume Next и
If Err <> 0 Then
Один маленький вопрос:
для чего прописывается команды:
On Error Resume Next и
If Err <> 0 Then
Я там обновил макрос (смотрите выше). Добавил некоторые проверки на ошибки. Протестируейте эту новую версию )
On Error Resume Next - Если возникла ошибка, то пропустить её и идти дальше по коду
If Err <> 0 Then - если возникла какая-нибудь (любая) ошибка, то ...
On Error Resume Next - Если возникла ошибка, то пропустить её и идти дальше по коду
If Err <> 0 Then - если возникла какая-нибудь (любая) ошибка, то ...
Все работает, спасибо еще раз.
Сегодня первый раз попробовал написать макрос.
Получилось, но не совсем так, как хотелось.
Спасибо еще раз
Сегодня первый раз попробовал написать макрос.
Получилось, но не совсем так, как хотелось.
Спасибо еще раз
Поверьте, в написании макроса нет ничего сложного) Включаете запись макроса, проделываете манипуляции на листе, выключаете запись макроса и анализируете код. Ну и по возможности удаляете слово Select в коде)
Как например из такого кода, записанного макросом
делаете такой
Как видите мы намного сократили код, убрав ненужные Select.
Вот и всё) а если где-то остановились и не знаете, как сделать дальше, обращайтесь к нам - на форум) Тут много умных ребят и все будут рады вам помочь )
Как например из такого кода, записанного макросом
Код: Выделить всё
Range("B3").Select
With Selection.Interior
.ColorIndex = 6 'цвет фона жёлтый
.Pattern = xlSolid
End With
Range("E3").Select
ActiveCell.FormulaR1C1 = "5" 'цифра 5
Range("F5").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C[-5]:R[-4]C[-4]) '=СУММ(A1:B1)
делаете такой
Код: Выделить всё
Range("B3").Interior.ColorIndex = 6
Range("E3") = "5"
Range("F5").FormulaLocal = "=СУММ(" & "A1:B1)"
Вот и всё) а если где-то остановились и не знаете, как сделать дальше, обращайтесь к нам - на форум) Тут много умных ребят и все будут рады вам помочь )