Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Последовательное изменение ячейки по двойному клику - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Последовательное изменение ячейки по двойному клику (Макросы/Sub)
Последовательное изменение ячейки по двойному клику
ovechkin1973 Дата: Вторник, 05.12.2017, 20:12 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 180
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.. пользовался ранее удобным макросом по заливке ячейке цветом по двойному клику.. Сейчас хотел себе другой процесс облегчить.. чтобы при двойном клике на ячейке определенного столбца менялось значение ее с пусто на ДА, потом на НЕТ, потом опять на ПУСТО. Т.е. допустим в первом столбце надо так. А во втором есть три значения для перебора.. т.е надо ПУСТО-ХОРОШО-СРЕДНЕ-ПЛОХО.. знаний, чтобы такое сделать нема.. а что то аналогичного, чтобы приспособить не нашел..
К сообщению приложен файл: ____.xlsm(15Kb)


Плохо когда не знаешь, да еще забудешь.
 
Ответить
СообщениеЗдравствуйте.. пользовался ранее удобным макросом по заливке ячейке цветом по двойному клику.. Сейчас хотел себе другой процесс облегчить.. чтобы при двойном клике на ячейке определенного столбца менялось значение ее с пусто на ДА, потом на НЕТ, потом опять на ПУСТО. Т.е. допустим в первом столбце надо так. А во втором есть три значения для перебора.. т.е надо ПУСТО-ХОРОШО-СРЕДНЕ-ПЛОХО.. знаний, чтобы такое сделать нема.. а что то аналогичного, чтобы приспособить не нашел..

Автор - ovechkin1973
Дата добавления - 05.12.2017 в 20:12
bmv98rus Дата: Вторник, 05.12.2017, 20:44 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 686
Репутация: 114 ±
Замечаний: 0% ±

Excel 2013/2016
ovechkin1973,
ПУСТО-ХОРОШО-СРЕДНЕ-ПЛОХО как правило удобнее через выпадающий список, и проверку данных.
Да, нет, пусто, тоже . Или всеж принципиально и макрос и даблклик?
 
Ответить
Сообщениеovechkin1973,
ПУСТО-ХОРОШО-СРЕДНЕ-ПЛОХО как правило удобнее через выпадающий список, и проверку данных.
Да, нет, пусто, тоже . Или всеж принципиально и макрос и даблклик?

Автор - bmv98rus
Дата добавления - 05.12.2017 в 20:44
ovechkin1973 Дата: Вторник, 05.12.2017, 20:46 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 180
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Или всеж принципиально и макрос и даблклик

Да Уважаемый bmv98rus, - принципиально.. через проверку данных знаю как, но не устраивает.. очень хотелось через маркос и даблик..


Плохо когда не знаешь, да еще забудешь.
 
Ответить
Сообщение
Или всеж принципиально и макрос и даблклик

Да Уважаемый bmv98rus, - принципиально.. через проверку данных знаю как, но не устраивает.. очень хотелось через маркос и даблик..

Автор - ovechkin1973
Дата добавления - 05.12.2017 в 20:46
buchlotnik Дата: Вторник, 05.12.2017, 20:48 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3437
Репутация: 922 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Для ДА-НЕТ:
ну и второй аналогично
результирующий:
К сообщению приложен файл: 123.xlsm(16Kb)


"заступлюсь за Юрия" - публичный плевок в душу!

Сообщение отредактировал buchlotnik - Вторник, 05.12.2017, 20:55
 
Ответить
СообщениеДля ДА-НЕТ:
ну и второй аналогично
результирующий:

Автор - buchlotnik
Дата добавления - 05.12.2017 в 20:48
ovechkin1973 Дата: Вторник, 05.12.2017, 20:57 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 180
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
ну и второй аналогично

Уважаемый buchlotnik, моих знаний привязать макрос к конкретному столбцу не хватает.. В приложенном варианте макроса на любой ячейке любого столбца срабатывает.. как ограничить диапазон по столбцу и строкам?


Плохо когда не знаешь, да еще забудешь.
 
Ответить
Сообщение
ну и второй аналогично

Уважаемый buchlotnik, моих знаний привязать макрос к конкретному столбцу не хватает.. В приложенном варианте макроса на любой ячейке любого столбца срабатывает.. как ограничить диапазон по столбцу и строкам?

Автор - ovechkin1973
Дата добавления - 05.12.2017 в 20:57
bmv98rus Дата: Вторник, 05.12.2017, 21:21 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 686
Репутация: 114 ±
Замечаний: 0% ±

Excel 2013/2016
Вдруг потребуется некоторая универсальность



Вариант от тезки buchlotnik respect , но переработанный чуток.


Сообщение отредактировал bmv98rus - Вторник, 05.12.2017, 21:27
 
Ответить
СообщениеВдруг потребуется некоторая универсальность



Вариант от тезки buchlotnik respect , но переработанный чуток.

Автор - bmv98rus
Дата добавления - 05.12.2017 в 21:21
buchlotnik Дата: Вторник, 05.12.2017, 21:22 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3437
Репутация: 922 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
а
Цитата
результирующий:
для кого написан? >(


"заступлюсь за Юрия" - публичный плевок в душу!

Сообщение отредактировал buchlotnik - Вторник, 05.12.2017, 21:24
 
Ответить
Сообщениеа
Цитата
результирующий:
для кого написан? >(

Автор - buchlotnik
Дата добавления - 05.12.2017 в 21:22
ovechkin1973 Дата: Вторник, 05.12.2017, 21:34 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 180
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Уважаемый buchlotnik, все работает так, как просил для конкретно примера.. но уже все перепробовал с заменами в коде, чтобы другой диапазон назначить.. допустим другие столбце и не со второй строки, а допустим с 10-ой..
Код
Case Is = "$A"

Думал, если $A сменю на $D, то и макрос будет работать на столбце D %)
Надо "перекурить".. а то вывих мозга от такого напряга получу


Плохо когда не знаешь, да еще забудешь.
 
Ответить
СообщениеУважаемый buchlotnik, все работает так, как просил для конкретно примера.. но уже все перепробовал с заменами в коде, чтобы другой диапазон назначить.. допустим другие столбце и не со второй строки, а допустим с 10-ой..
Код
Case Is = "$A"

Думал, если $A сменю на $D, то и макрос будет работать на столбце D %)
Надо "перекурить".. а то вывих мозга от такого напряга получу

Автор - ovechkin1973
Дата добавления - 05.12.2017 в 21:34
buchlotnik Дата: Вторник, 05.12.2017, 21:44 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3437
Репутация: 922 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Цитата
если $A сменю на $D, то и макрос будет работать на столбце D
так и должно быть, показывайте в файле как что меняли
Цитата
все перепробовал
не верю
Цитата
а допустим с 10-ой
для столбца D как вариант
К сообщению приложен файл: 123-1-.xlsm(16Kb)


"заступлюсь за Юрия" - публичный плевок в душу!
 
Ответить
Сообщение
Цитата
если $A сменю на $D, то и макрос будет работать на столбце D
так и должно быть, показывайте в файле как что меняли
Цитата
все перепробовал
не верю
Цитата
а допустим с 10-ой
для столбца D как вариант

Автор - buchlotnik
Дата добавления - 05.12.2017 в 21:44
ovechkin1973 Дата: Вторник, 05.12.2017, 22:05 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 180
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
показывайте в файле как что меняли
это уже похоже клиника полуночника.. %) Попробовал еще раз.. я оказывается хочу слишком в правом столбце AC заставить работать макрос.. а оказывается он дальше столбца Z не хочет работать :( У меня в рабочем файле надо это макрос заставить работать в столбцах, которые именованы двумя буквами..
Код
If .Row > 9 Then
это я понял ограничение, чтобы макрос работал ниже 9ой строки. А в самом первом варианте (опять же не умом, а практическими экспериментами) выявил, что в столбцах A и B со второй строки меняются значения, а если назначить допустим на столбец C, на котором нет заголовка в первой строке, то даже в С1 ставятся значения.. Или если заголовок в столбце будет в двух строках, то изменения от макроса будут только с 3-й строки работать.

И прошу прощения.. ответы буду завтра читать.. силы VBA все вымотал.. да и на работу через несколько часов вставать уже.


Плохо когда не знаешь, да еще забудешь.
 
Ответить
Сообщение
показывайте в файле как что меняли
это уже похоже клиника полуночника.. %) Попробовал еще раз.. я оказывается хочу слишком в правом столбце AC заставить работать макрос.. а оказывается он дальше столбца Z не хочет работать :( У меня в рабочем файле надо это макрос заставить работать в столбцах, которые именованы двумя буквами..
Код
If .Row > 9 Then
это я понял ограничение, чтобы макрос работал ниже 9ой строки. А в самом первом варианте (опять же не умом, а практическими экспериментами) выявил, что в столбцах A и B со второй строки меняются значения, а если назначить допустим на столбец C, на котором нет заголовка в первой строке, то даже в С1 ставятся значения.. Или если заголовок в столбце будет в двух строках, то изменения от макроса будут только с 3-й строки работать.

И прошу прощения.. ответы буду завтра читать.. силы VBA все вымотал.. да и на работу через несколько часов вставать уже.

Автор - ovechkin1973
Дата добавления - 05.12.2017 в 22:05
_Boroda_ Дата: Вторник, 05.12.2017, 22:36 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11852
Репутация: 4911 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Замените[vba]
Код
Select Case Left(.Address, 2)
[/vba]на[vba]
Код
Select Case .column
[/vba]

И тогда вместо [vba]
Код
Case Is = "$A"
[/vba]можно написать
Код
Case Is = 28
, где 28 - номер столбца


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЗамените[vba]
Код
Select Case Left(.Address, 2)
[/vba]на[vba]
Код
Select Case .column
[/vba]

И тогда вместо [vba]
Код
Case Is = "$A"
[/vba]можно написать
Код
Case Is = 28
, где 28 - номер столбца

Автор - _Boroda_
Дата добавления - 05.12.2017 в 22:36
Wasilich Дата: Среда, 06.12.2017, 01:49 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1221
Репутация: 322 ±
Замечаний: 0% ±

2003
чтобы другой диапазон назначить.. допустим другие столбце и не со второй строки, а допустим с 10-ой..
Так попробуйте.
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Cancel = True
  With Target
    If Not Application.Intersect(Range("A2:A10"), Target) Is Nothing Then
       Select Case .Value
          Case Is = "": .Value = "ДА"
          Case Is = "ДА": .Value = "НЕТ"
          Case Is = "НЕТ": .Value = ""
       End Select
    End If
    If Not Application.Intersect(Range("AC10:AC20"), Target) Is Nothing Then
       Select Case .Value
         Case Is = "": .Value = "ХОРОШО"
         Case Is = "ХОРОШО": .Value = "СРЕДНЕ"
         Case Is = "СРЕДНЕ": .Value = "ПЛОХО"
         Case Is = "ПЛОХО": .Value = ""
       End Select
    End If
  End With
End Sub
[/vba]А в строках: [vba]
Код
If Not Application.Intersect(Range(...
[/vba] укажите свои диапазоны.


Сообщение отредактировал Wasilich - Среда, 06.12.2017, 01:53
 
Ответить
Сообщение
чтобы другой диапазон назначить.. допустим другие столбце и не со второй строки, а допустим с 10-ой..
Так попробуйте.
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Cancel = True
  With Target
    If Not Application.Intersect(Range("A2:A10"), Target) Is Nothing Then
       Select Case .Value
          Case Is = "": .Value = "ДА"
          Case Is = "ДА": .Value = "НЕТ"
          Case Is = "НЕТ": .Value = ""
       End Select
    End If
    If Not Application.Intersect(Range("AC10:AC20"), Target) Is Nothing Then
       Select Case .Value
         Case Is = "": .Value = "ХОРОШО"
         Case Is = "ХОРОШО": .Value = "СРЕДНЕ"
         Case Is = "СРЕДНЕ": .Value = "ПЛОХО"
         Case Is = "ПЛОХО": .Value = ""
       End Select
    End If
  End With
End Sub
[/vba]А в строках: [vba]
Код
If Not Application.Intersect(Range(...
[/vba] укажите свои диапазоны.

Автор - Wasilich
Дата добавления - 06.12.2017 в 01:49
ovechkin1973 Дата: Четверг, 07.12.2017, 20:31 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 180
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Уважаемые Wasilich, , _Boroda_, , buchlotnik - огромное человеческое спасибо за науку.. ваша помощь помогла. Извиняюсь, что не ответил сразу....
Все три варианта проверил на свежую голову - все работают!


Плохо когда не знаешь, да еще забудешь.

Сообщение отредактировал ovechkin1973 - Четверг, 07.12.2017, 20:32
 
Ответить
СообщениеУважаемые Wasilich, , _Boroda_, , buchlotnik - огромное человеческое спасибо за науку.. ваша помощь помогла. Извиняюсь, что не ответил сразу....
Все три варианта проверил на свежую голову - все работают!

Автор - ovechkin1973
Дата добавления - 07.12.2017 в 20:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Последовательное изменение ячейки по двойному клику (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!