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

Вход

Регистрация

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

 

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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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



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


Замечательный Временно просто медведь , процентов на 20.

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



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

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

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


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

Автор - buchlotnik
Дата добавления - 05.12.2017 в 21:22
ovechkin1973 Дата: Вторник, 05.12.2017, 21:34 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 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
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

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

Автор - buchlotnik
Дата добавления - 05.12.2017 в 21:44
ovechkin1973 Дата: Вторник, 05.12.2017, 22:05 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 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
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 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
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 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
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

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


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.

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

Автор - ovechkin1973
Дата добавления - 07.12.2017 в 20:31
ovechkin1973 Дата: Воскресенье, 16.02.2020, 13:13 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Полученные ранее знания мне на пользу не пошли. То, что раньше получилось - в другом файле у меня не получается реализовать.
Хотел вставлять данные начиная с 10-ой строки в столбцах 9-29 по двойному клику. Но больше, чем в 9 и 10-ых столбцах не получается. В столбцах бывает нужно выбирать между значением и пустотой, а иногда значений может и до пяти значений.
Это в 9 и 10 столбце я попробовал сделать. Но с 11 по 29 не получается. Пробовал просто код добавлять
[vba]
Код
Case Is = "$K"
            Select Case .Value
                Case Is = "": .Value = "Вова"
                Case Is = "Вова": .Value = "Саша"
                Case Is = "Саша": .Value = ""
            End Select
        End Select
[/vba]
не работает в столбце K

Еще - если в ячейке уже были записаны какие то данные до работы макроса - в них нет возможности изменить данные .
К сообщению приложен файл: 4482612.xlsm (18.7 Kb)


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
СообщениеПолученные ранее знания мне на пользу не пошли. То, что раньше получилось - в другом файле у меня не получается реализовать.
Хотел вставлять данные начиная с 10-ой строки в столбцах 9-29 по двойному клику. Но больше, чем в 9 и 10-ых столбцах не получается. В столбцах бывает нужно выбирать между значением и пустотой, а иногда значений может и до пяти значений.
Это в 9 и 10 столбце я попробовал сделать. Но с 11 по 29 не получается. Пробовал просто код добавлять
[vba]
Код
Case Is = "$K"
            Select Case .Value
                Case Is = "": .Value = "Вова"
                Case Is = "Вова": .Value = "Саша"
                Case Is = "Саша": .Value = ""
            End Select
        End Select
[/vba]
не работает в столбце K

Еще - если в ячейке уже были записаны какие то данные до работы макроса - в них нет возможности изменить данные .

Автор - ovechkin1973
Дата добавления - 16.02.2020 в 13:13
ovechkin1973 Дата: Воскресенье, 16.02.2020, 15:03 | Сообщение № 15
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Но с 11 по 29 не получается.

нашел ошибку.. в коде был один лишний [vba]
Код
End Select
[/vba] . Код дописал, чтобы работал с 9 по 13 столбцы.. остальные заполню по аналогии, но не уверен, что оптимально решение, хотя если комп "виснуть" не будет, то мои потребности он решит.
Еще - если в ячейке уже были записаны какие то данные до работы макроса - в них нет возможности изменить данные .
Эту проблему совершенно не представляю как решать :(
К сообщению приложен файл: 1599038.xlsm (18.7 Kb)


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщение
Но с 11 по 29 не получается.

нашел ошибку.. в коде был один лишний [vba]
Код
End Select
[/vba] . Код дописал, чтобы работал с 9 по 13 столбцы.. остальные заполню по аналогии, но не уверен, что оптимально решение, хотя если комп "виснуть" не будет, то мои потребности он решит.
Еще - если в ячейке уже были записаны какие то данные до работы макроса - в них нет возможности изменить данные .
Эту проблему совершенно не представляю как решать :(

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

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