Змініть фокус в комірці EXCEL


1

Що мені потрібно змінити так, коли я натискаю, наприклад, A5 фокус повинен бути змінений на B3, тому, коли я натискаю B5 фокус повинен йти в C3 і так далі.

Тому зараз мій код:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Application.Intersect(Range("A5:D5"), Target) Is Nothing Then
    Range("A3").Select
  End If
End Sub

Отже, коли я вибираю рядок 5 від A до D, точка переміщується на A3 .. замість A3 я хотів би перейти до наступного стовпця рядка 3.

Дякую


Хм. Ви впевнені, що хочете це зробити? Якщо натискання на клітинку переносить фокус у інше місце, ви ніколи не зможете редагувати вміст оригінальних комірок ...
— DavidPostill

Я взагалі не хочу редагувати цю клітинку, тому це потрібно робити
— Георги Даскалов

Якщо ви намагаєтеся захистити вміст комірки, зробіть це, зауважте, що ви не можете зупинити редагування файлу іншими засобами.
— Ben N

Відповіді:


0

Можливо:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Application.Intersect(Range("A5:D5"), Target) Is Nothing Then
  Application.EnableEvents = False
      Target.Offset(-2, 1).Select
   Application.EnableEvents = True
  End If
End Sub

Працює ідеальним мат, дякую. У вас є ідея, яка б працювала в Excel 2003
— Георги Даскалов

@ ГеоргиДаскалов Повинен працювати в будь-якій версії Excel що підтримує VBA
— Gary's Student
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.