Змініть фокус в комірці 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.