Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Двойной щелчок по заданным ячейкам
 
Здравствуйте. Подскажите, пожалуйста, как будет правильно выглядить двойной щелчок по заданным ячейкам с помощью макроса. Я пробывал записать макрекрекордером, и он делает , то что я записал, но удаляет значения. Помогите с таким вопросом.
Изменено: Deniska3 - 21 Авг 2013 20:13:42
 
Извините, я не много расскажу о своей проблеме. В общем я на форуме нашел, один очень хороший макрос, написанный KuklP этот макрос копирует значения из одной книги1 в книгу2. В книге2 на те ячейки, куда копируется данные (значения), на них ссылаются формулы, ЕСЛИОШИБКА(ЕСЛИ(Лист1!I36>Лист2!$N$3/2;1;0);0), все работает хорошо, когда копируются целые числа, а когда дробные например 1,6;  то формула вычисляет неправильно, а когда я по этой ячейки делаю двойной щелчок, то она работает и делает вычисление. Можете сказать почему?
 
где пример, что лечить? ;)
 
Вот нашел пример, у Вас на форуме.
Код
Sub Emul_F2()
    Dim lCnt As Long
    Range("A8").Select
        Application.SendKeys "{F2}"
        Application.SendKeys "{ENTER}"
        lCnt = lCnt + 1
End Sub

Макрос делает, то что надо, но возникла проблема при первом выполнении макроса отключается Num Lock. И подскажите пожалуйста, а как сделать чтобы макрос прошел по нескольким ячейкам?
 
Это что(#4), я писал? Можно ссылку? Дальше, LVL просит от Вас пример в виде файла Эксель. Deniska3, привыкайте именно такие примеры выкладывать. Мы не хироманты и не гадалки.
Я сам - дурнее всякого примера! ...
 
Эмуляция F2 в VBA
 
Извените вот то, что вы писали http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=49005
 
Просто помогите мне с этим кодом:
Код
Sub Emul_F2()
    Dim lCnt As Long
    Range("A8").Select
        Application.SendKeys "{F2}"
        Application.SendKeys "{ENTER}"
        lCnt = lCnt + 1
End Sub
 
Самое интересное то, что даже по ссылке мой код выглядит иначе и "прощелкивает" несколько ячеек(если быть точнее, то там цикл по 100 ячейкам). Вы же сам цикл убрали. Зачем неясно.
Еще Вам может помочь не макрос, а простое действие:
-Ctrl+H
-Найти: =
Заменить на: =
Заменить все.

Все формулы пересчитаются.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Вы переврали код Дмитрия и приписали получившуюся ахинею мне.  :D   Вижу Диму в теме, а мне пора собираться, труба зовет.
Я сам - дурнее всякого примера! ...
 
Ну да сделал ахению. Но даже с оригинальным кодом, отключается Num Lock. А скажите причем сдесь
-Ctrl+H
-Найти: =
Заменить на: =
Заменить все.
Мне это ни как не поможет. а поможет и менно этот код:
Код
Sub Emul_F2()
    Dim lCnt As Long
    Do While lCnt < 100
        Application.SendKeys "{F2}"
        Application.SendKeys "{ENTER}"
        lCnt = lCnt + 1
    Loop
End Sub

Если можно сделать так, чтобы он прошелся по конкретным ячейкам например с E128 по E139.
 
Цитата
Мне это ни как не поможет
На чем основано утверждение? На Ваших личных догадках? А вот мой совет - на опыте. И многим именно Ctrl+H помог в данной проблеме без всяких там макросов.
Код
Sub Emul_F2()
    Range("E128").Select
    Dim lCnt As Long
    Do While lCnt < 13
        Application.SendKeys "{F2}"
        Application.SendKeys "{ENTER}"
        lCnt = lCnt + 1
    Loop
End Sub

Хотя могли бы и сами выделить Е128 и вызвать код через Alt-F8. Причину включения NumLock не скажу - у меня нет такой проблемы.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Читают тему (гостей: 1)
Наверх