Здравствуйте. Подскажите, если ли макрос, который отображает в ячейке, допустим Лист1 ячейка A1,надпись "Введите значение", до тех пор пока туда не станут что-то вводить?
Здравствуйте. Подскажите, если ли макрос, который отображает в ячейке, допустим Лист1 ячейка A1,надпись "Введите значение", до тех пор пока туда не станут что-то вводить?heaven33rus
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 If Range("A1") = "" Then Range("A1") = "Введите значение" Application.EnableEvents = 1 End Sub
[/vba]
В модуль листа можно так [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 If Range("A1") = "" Then Range("A1") = "Введите значение" Application.EnableEvents = 1 End Sub
То, что нужно. А можно еще сделать так, чтобы по двойному щелчку, который делается перед вводом текста, текст "Введите значения" удалялся сам?
То, что нужно. А можно еще сделать так, чтобы по двойному щелчку, который делается перед вводом текста, текст "Введите значения" удалялся сам?heaven33rus
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 If Range("A1") = "" Then Range("A1") = "Введите значение" Application.EnableEvents = 1 End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then Application.EnableEvents = 0 If Range("A1") = "Введите значение" Then Range("A1").ClearContents Application.EnableEvents = 1 Else If Range("A1") = "" Then Range("A1") = "Введите значение" End If End Sub
[/vba]
Можно, чего ж нельзя-то? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 If Range("A1") = "" Then Range("A1") = "Введите значение" Application.EnableEvents = 1 End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then Application.EnableEvents = 0 If Range("A1") = "Введите значение" Then Range("A1").ClearContents Application.EnableEvents = 1 Else If Range("A1") = "" Then Range("A1") = "Введите значение" End If End Sub
_Boroda_, у меня в на этом листе есть еще другие макросы... кажется они как-то конфликтуют. [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("A24")) Is Nothing Then slancalendar.Show Target = slancalendar.Value End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 If Range("A28") = "" Then Range("A28") = "Введите значение" Application.EnableEvents = 1 End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A28")) Is Nothing Then Application.EnableEvents = 0 If Range("A28") = "Введите значение" Then Range("A28").ClearContents Application.EnableEvents = 1 Else If Range("A28") = "" Then Range("A28") = "Введите значение" End If End Sub
[/vba]
После вставки предложенного кода в свою книгу, при попытке выбрать любую ячейку вылетает ошибка. и выделяется вот этот кусок кода [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range
[/vba] В самом нижнем макросе. ошибка: Ambigous name detected: Worksheet_SelectionChange
Мне что-то переименовать надо?
_Boroda_, у меня в на этом листе есть еще другие макросы... кажется они как-то конфликтуют. [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("A24")) Is Nothing Then slancalendar.Show Target = slancalendar.Value End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 If Range("A28") = "" Then Range("A28") = "Введите значение" Application.EnableEvents = 1 End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A28")) Is Nothing Then Application.EnableEvents = 0 If Range("A28") = "Введите значение" Then Range("A28").ClearContents Application.EnableEvents = 1 Else If Range("A28") = "" Then Range("A28") = "Введите значение" End If End Sub
[/vba]
После вставки предложенного кода в свою книгу, при попытке выбрать любую ячейку вылетает ошибка. и выделяется вот этот кусок кода [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range
[/vba] В самом нижнем макросе. ошибка: Ambigous name detected: Worksheet_SelectionChange
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 If Range("A1") = "" Then Range("A1") = "Введите значение" Application.EnableEvents = 1 End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then Application.EnableEvents = 0 If Range("A1") = "Введите значение" Then Range("A1").ClearContents Application.EnableEvents = 1 Else If Range("A1") = "" Then Range("A1") = "Введите значение" End If If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("A24")) Is Nothing Then slancalendar.Show Target = slancalendar.Value End If End Sub
[/vba]
Блин. Ну сразу ж говорить нужно [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 If Range("A1") = "" Then Range("A1") = "Введите значение" Application.EnableEvents = 1 End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then Application.EnableEvents = 0 If Range("A1") = "Введите значение" Then Range("A1").ClearContents Application.EnableEvents = 1 Else If Range("A1") = "" Then Range("A1") = "Введите значение" End If If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("A24")) Is Nothing Then slancalendar.Show Target = slancalendar.Value End If End Sub