Страницы: 1
RSS
В начало следующей строки по Enter
 
Помогите с кодом, который застявлял бы после ввода значения в ячейку в столбце 6 при нажатии Enter перемещаться не в ячейку ниже, а в первую ячейку (столбец 1) следующей (ниже) строки.
 
1 и так и будет.. если при вводе в строку пользоваться для ввода Tab? а в конце строки Enter  
2 небольшой макрос обработки события ввода(изменения листа)  
Private Sub Worksheet_Change(ByVal Target As Range)  
   If Target.Column = 6 Then Target.Offset(1, -5).Select  
End Sub
 
{quote}{login=Punker}{date=18.04.2008 09:25}{thema=В начало следующей строки по Enter}{post}Помогите с кодом, который застявлял бы после ввода значения в ячейку в столбце 6 при нажатии Enter перемещаться не в ячейку ниже, а в первую ячейку (столбец 1) следующей (ниже) строки.{/post}{/quote}  
 
Есть вариант, если "столбец 6" - последний. Оформить рабочий диапазон как список/таблица. Тогда, если установлен переход по Enter вправо, переход будет на первую ячейку следующий строки.
 
Есть такой код ввода при условии заполнения других ячеек:  
Надо, при условии, что все необходимые ячейки заполнены и введено значение в нужные ячейки после нажатия Enter фокус переходил на следующую строку в первую ячейку, у меня  получилось так что теперь вообще нельзя ввести значение, а сразу перескакивает. Помогите.  
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
   If Target.Cells.Count > 1 Then Exit Sub  
   If Not Intersect(Target, Columns("F:F")) Is Nothing Then  
           Application.EnableEvents = False  
       If IsEmpty(Target.Offset(, -5)) Then  
           Target.Offset(, -5).Select  
           MsgBox "Вы должны сперва заполнить Дату  "  
       ElseIf IsEmpty(Target.Offset(, -4)) Then  
           Target.Offset(, -4).Select  
           MsgBox "Вы должны сперва заполнить Дату  "  
       ElseIf IsEmpty(Target.Offset(, -3)) Then  
           Target.Offset(, -3).Select  
           MsgBox "Вы должны сперва заполнить Вид  "  
       ElseIf IsEmpty(Target.Offset(, -2)) Then  
           Target.Offset(, -2).Select  
           MsgBox "Вы должны сперва заполнить Подвид  "  
       End If  
       If Target.Column = 6 Then Target.Offset(1, -5).Select  
   End If  
   If Not Intersect(Target, Columns("M:M")) Is Nothing Then  
           Application.EnableEvents = False  
       If IsEmpty(Target.Offset(, -12)) Then  
           Target.Offset(, -12).Select  
           MsgBox "Вы должны сперва заполнить Дату  "  
       ElseIf IsEmpty(Target.Offset(, -11)) Then  
           Target.Offset(, -11).Select  
           MsgBox "Вы должны сперва заполнить Дату  "  
       ElseIf IsEmpty(Target.Offset(, -3)) Then  
           Target.Offset(, -3).Select  
           MsgBox "Вы должны сперва заполнить Вид  "  
       ElseIf IsEmpty(Target.Offset(, -2)) Then  
           Target.Offset(, -2).Select  
           MsgBox "Вы должны сперва заполнить Подвид  "  
       End If  
   End If  
       Application.EnableEvents = True  
       If Target.Column = 13 Then Target.Offset(1, -12).Select  
End Sub
 
выложи пример
 
{quote}{login=слэн}{date=18.04.2008 02:34}{thema=}{post}выложи пример{/post}{/quote}  
Пример во вложении.
 
Уважаемый СЛЭН, посмотрите пожалуйста, пример во вложении в моем предыдущем посте.
 
посмотри  
 
можно было оставить и как у тебя, но    
 
строчку target.ofset(,-..).select надо добавить в каждый из блоков if
Страницы: 1
Читают тему
Наверх