Я пытаюсь собрать макрос Excel, чтобы устранить длинные серии повторяющихся нажатий клавиш. Я беру текст в виде: "XXXXXXXX XXXXXXXX (XXXX XXXXX XXXXXXX)" И Удаляя бит в конце, что делает его: "XXXXXXXX XXXXXXXX"Excel Macro: выделение и удаление текста
Я с помощью нажатия клавиш: F2, Shift + Ctrl + RtArrow, Shift + Ctrl + RtArrow, Shift + Ctrl + RtArrow, Shift + RtArrow, Backspake, Enter
Я попытался записать эту последовательность нажатий клавиш с помощью функции макроса Excel, но он не работает. Если я запустил записанный макрос в следующей ячейке, содержащий «YYYYYYYYYYYYYYYYYY (YYYY YYYYYY YYYYYYYY)», он не выполняет нажатия клавиш, которые я записал, он просто заменяет содержимое ячейки полученным содержимым ячейки, в которую я записал макрос, «XXXXXXXX XXXXXXXX». код Excel генерироваться был этот, в котором он, кажется, игнорирует команды я выполнил, а просто копирует результат:
Sub DelProcVintage()
'
' DelProcVintage Macro
'
' Keyboard Shortcut: Ctrl+j
'
ActiveCell.FormulaR1C1 = "XXXXXXXX XXXXXXXX"
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub
Есть ли способ, чтобы выпустить свою последовательность клавиш через макрос, как я хотел бы делать?
Спасибо, Matt
использование 'SendKeys' [Excel VBA - SendKeys метод] (http://www.contextures.com/excelvbasendkeys.html) – Namkce
Кроме того, когда вы говорите, что вы преобразования' XXXX XXX (XXX XX XXX) 'to' XXXX XXX', вы в основном удаляете все после '('? Если это так, то это может быть лучшим ресурсом для вас [Удалить текст до/после персонажа] (https://www.extendoffice.com/ document/excel/1783-excel-remove-text-before-character.html) – Namkce
'ActiveCell.Value = Trim (Split (ActiveCell.Value," (") (0))' –