У меня есть набор кодов VBA, которые копируют ячейку "AC14" на листе 2 и вставляют в качестве значения ячейку "Q4" на листе 6.У меня есть другой набор кода для применения фильтра в Sheet6, когда значение ячейки "Q4" в Sheet6 изменилось, что меня радует.Коды, хотя и не идеально, это работает до некоторой степени.Ниже приведены мои коды для части копирования и вставки.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("AC14"), Target) Is Nothing Then
Range("AC14").Select
Selection.Copy
Sheet6.Activate
Sheet6.Range("Q4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
End Sub
Я хотел бы улучшить следующее:
1) Изменить диапазон(«AC14») для динамической ячейки в динамическом диапазоне в столбце «AC», начиная со строки 11 до номера строки, который время от времени меняется.Так что, когда я (или пользователь) нажимаю на любую ячейку в этом диапазоне, код будет работать правильно.
Примечания. Sheet2 - это рабочая таблица, в которой регистрируются изменения, внесенные в проект, над которым я работаю.Каждая строка представляет одно изменение моего проекта, и с течением времени количество изменений (строк) может достигать 1500. Строки с 1 по 10 из Sheet2 выделяются для меток столбцов
2) Когда мой курсорв ячейке «AC14» в Sheet2, когда я нажимаю на нее снова, я не перехожу на Sheet6.Я понимаю это, поскольку это не изменение (в vba говорят, что курсор уже есть) в рабочем листе.Однако, если я нажму на другую ячейку и снова вернусь к щелчку на ячейке «AC14», коды будут работать.Есть ли способ обойти это?
Буду признателен, если кто-нибудь сможет пролить мне свет на то, как решить вышеуказанные проблемы.Заранее спасибо.
Шон