Страницы: 1
RSS
Как выполнить "Эмуляцию F2", до последней заполненной ячейки
 
Как выполнить "Эмуляцию F2", до последней заполненной ячейки в столбце код взят отсюда. А почему "Num Lock" отключается?
Код
Sub Emul_F2()    
ActiveCell.Select
    Dim lCnt As Long
    Do While lCnt < 150
        Application.SendKeys "{F2}"
        Application.SendKeys "{ENTER}"
        lCnt = lCnt + 1
    Loop
End Sub
Изменено: Deniska3 - 06.03.2024 21:57:50
 
По вопросу
Код
Sub Emul_F2()
Dim I&, lRow&
lRow = Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row
Do While I < lRow
    Application.SendKeys "{F2}"
    Application.SendKeys "{ENTER}"
    I = I + 1
Loop
End Sub

А можно поинтересоваться какую Задачу Вы решаете таким Способом?
Согласие есть продукт при полном непротивлении сторон
 
Sanja,  ну как какую, почесывание левого уха правой рукой через голову.

А цель видимо преобразовать текст или формулу записанную текстом в число или формулу.
По вопросам из тем форума, личку не читаю.
 
Дату
Цитата
написал:
А можно поинтересоваться какую Задачу Вы решаете таким Способом?
Дату преобразовать в дату
Как-то не так работает. В столбце "E" всего 142 записи, и если встать на ячейку E100 и запустить макрос, то он пройдёт до "E242" ячейки, то есть по пустым.
Изменено: Deniska3 - 07.03.2024 10:01:40
 
Цитата
Deniska3 написал:
Дату преобразовать в дату
Без всяких макросов
Лечится так (один из вариантов):
В любую пустую ячейку вписываете 1 (единицу) - копируете ее - выделяете диапазон с псевдодатами - ПКМ Специальная вставка - Операция Умножить - Ок. Настраиваете нужный формат
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал:
В любую пустую ячейку вписываете 1 (единицу) - копируете ее - выделяете диапазон с псевдодатами - ПКМ Специальная вставка - Операция Умножить - Ок. Настраиваете нужный формат
можно еще пропуск пустых сделать.
По вопросам из тем форума, личку не читаю.
 
Цитата
Deniska3 написал:
Как-то не так работает.
Вы же не написали КАК надо
Наверное так, но способ выше более гуманный
Код
Sub Emul_F2()
Dim I&, lRow&
lRow = Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row
I = ActiveCell.Row
Do While I <= lRow
    Application.SendKeys "{F2}"
    Application.SendKeys "{ENTER}"
    I = I + 1
Loop
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Deniska3 написал:
Дату преобразовать в дату
Код
lRow = Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row
Cells(1, ActiveCell.Column).Resize(lRow).FormulaLocal = Cells(1, ActiveCell.Column).Resize(lRow).FormulaLocal

или только к выделенным ячейкам:
Код
Selection.FormulaLocal = Selection.FormulaLocal

и не недо никаких SendKeys
Изменено: Дмитрий(The_Prist) Щербаков - 07.03.2024 10:43:15
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
написал:
Щербаков
Крутой метод, то что нужно. Спасибо Вам большое!!!
Страницы: 1
Наверх