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

Вход

Регистрация

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

 

= Мир MS Excel/Занесение в ячейку - случайного значение из столбцов. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Занесение в ячейку - случайного значение из столбцов.
RipVanWinkel Дата: Среда, 27.09.2017, 12:17 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день, уважаемые специалисты.
помогите с разрешением проблемы.

На листе находится четыре фигуры-кнопки с определенным вписанным в них текстом.
Правее находятся столбцы с заголовками - соответствующими тексту, вписанному в фигуры.

Как макросом - занести в ячейку D2 - случайный текст из того столбца, который соответствует тексту в нажатой фигуре.
(К примеру - если нажимается первая кнопка с текстом "Текст-12" - то в ячейку D2 выбирается случайный текст из столбца с заголовком "Текст-12".)
(пустые ячейки в столбцах - игнорируются)
К сообщению приложен файл: 111.xls (43.5 Kb)
 
Ответить
СообщениеДобрый день, уважаемые специалисты.
помогите с разрешением проблемы.

На листе находится четыре фигуры-кнопки с определенным вписанным в них текстом.
Правее находятся столбцы с заголовками - соответствующими тексту, вписанному в фигуры.

Как макросом - занести в ячейку D2 - случайный текст из того столбца, который соответствует тексту в нажатой фигуре.
(К примеру - если нажимается первая кнопка с текстом "Текст-12" - то в ячейку D2 выбирается случайный текст из столбца с заголовком "Текст-12".)
(пустые ячейки в столбцах - игнорируются)

Автор - RipVanWinkel
Дата добавления - 27.09.2017 в 12:17
iMrTidy Дата: Среда, 27.09.2017, 16:05 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 14 ±
Замечаний: 0% ±

NO
RipVanWinkel, так нужно?
К сообщению приложен файл: 6327529.xls (56.5 Kb)


Вышенаписанное мной не является истиной, но лишь моя точка зрения, которая скорее всего ошибочна.
 
Ответить
СообщениеRipVanWinkel, так нужно?

Автор - iMrTidy
Дата добавления - 27.09.2017 в 16:05
RipVanWinkel Дата: Среда, 27.09.2017, 16:16 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
iMrTidy, не совсем.
В вашем коде - указан диапазон T6:T9
А в моем файле - диапазон - это T6:T16.

Но данный код не обрабатывает правильно диапазон T6:T16, поскольку рассматривает и пустые ячейки тоже.
 
Ответить
СообщениеiMrTidy, не совсем.
В вашем коде - указан диапазон T6:T9
А в моем файле - диапазон - это T6:T16.

Но данный код не обрабатывает правильно диапазон T6:T16, поскольку рассматривает и пустые ячейки тоже.

Автор - RipVanWinkel
Дата добавления - 27.09.2017 в 16:16
nilem Дата: Среда, 27.09.2017, 17:07 | Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
или вот как-то так:
[vba]
Код
Sub ertert()
Dim s$, r As Range

On Error Resume Next
With ActiveSheet
    s = .Shapes(Application.Caller).TextFrame2.TextRange.Characters.Text
    Set r = .Cells.Find(s, LookIn:=xlValues, lookat:=xlWhole).CurrentRegion
    If Not r Is Nothing Then
        With r.Offset(1).Resize(r.Rows.Count - 1)
            Range("D2").Value = .Item(Int(.Rows.Count * Rnd + 1), 1)
        End With
    Else
        MsgBox "not found " & s, 48
    End If
End With
End Sub
[/vba]
на все 4 кнопки нужно назначить это макрос


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеили вот как-то так:
[vba]
Код
Sub ertert()
Dim s$, r As Range

On Error Resume Next
With ActiveSheet
    s = .Shapes(Application.Caller).TextFrame2.TextRange.Characters.Text
    Set r = .Cells.Find(s, LookIn:=xlValues, lookat:=xlWhole).CurrentRegion
    If Not r Is Nothing Then
        With r.Offset(1).Resize(r.Rows.Count - 1)
            Range("D2").Value = .Item(Int(.Rows.Count * Rnd + 1), 1)
        End With
    Else
        MsgBox "not found " & s, 48
    End If
End With
End Sub
[/vba]
на все 4 кнопки нужно назначить это макрос

Автор - nilem
Дата добавления - 27.09.2017 в 17:07
iMrTidy Дата: Среда, 27.09.2017, 17:25 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 14 ±
Замечаний: 0% ±

NO
RipVanWinkel, Вы что даже диапазон не можете поменять самостоятельно? Там одно число заменить на другое...


Вышенаписанное мной не является истиной, но лишь моя точка зрения, которая скорее всего ошибочна.
 
Ответить
СообщениеRipVanWinkel, Вы что даже диапазон не можете поменять самостоятельно? Там одно число заменить на другое...

Автор - iMrTidy
Дата добавления - 27.09.2017 в 17:25
RipVanWinkel Дата: Среда, 27.09.2017, 17:46 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
iMrTidy, на листе несколько десятков столбцов.
В них постоянно - то добавляются то удаляются данные (количество заполненных ячеек - постоянном меняется).

И каждый раз - при пересчете листа лезть в макрос и менять вручную диапазон - это очень тяжело.
К тому же в следующую секунду - при пересчете - диапазон опять изменится (поскольку будут добавлены или удалены те или иные ячейки)
 
Ответить
СообщениеiMrTidy, на листе несколько десятков столбцов.
В них постоянно - то добавляются то удаляются данные (количество заполненных ячеек - постоянном меняется).

И каждый раз - при пересчете листа лезть в макрос и менять вручную диапазон - это очень тяжело.
К тому же в следующую секунду - при пересчете - диапазон опять изменится (поскольку будут добавлены или удалены те или иные ячейки)

Автор - RipVanWinkel
Дата добавления - 27.09.2017 в 17:46
iMrTidy Дата: Среда, 27.09.2017, 18:18 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 14 ±
Замечаний: 0% ±

NO
RipVanWinkel, вот это все и нужно указывать в первом посте. nilem Вам написал отличный вариант.


Вышенаписанное мной не является истиной, но лишь моя точка зрения, которая скорее всего ошибочна.
 
Ответить
СообщениеRipVanWinkel, вот это все и нужно указывать в первом посте. nilem Вам написал отличный вариант.

Автор - iMrTidy
Дата добавления - 27.09.2017 в 18:18
RipVanWinkel Дата: Среда, 27.09.2017, 19:25 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
iMrTidy, так я же написал в первом посте :
"(пустые ячейки в столбцах - игнорируются)"
 
Ответить
СообщениеiMrTidy, так я же написал в первом посте :
"(пустые ячейки в столбцах - игнорируются)"

Автор - RipVanWinkel
Дата добавления - 27.09.2017 в 19:25
RAN Дата: Среда, 27.09.2017, 19:59 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
так я же написал

nilem Вам написал отличный вариант

Добавьте цикл Do...Loop, и будет вам щастье!


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
так я же написал

nilem Вам написал отличный вариант

Добавьте цикл Do...Loop, и будет вам щастье!

Автор - RAN
Дата добавления - 27.09.2017 в 19:59
RipVanWinkel Дата: Среда, 27.09.2017, 21:00 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
nilem, все работает.
Спасибо за ответ.
 
Ответить
Сообщениеnilem, все работает.
Спасибо за ответ.

Автор - RipVanWinkel
Дата добавления - 27.09.2017 в 21:00
  • Страница 1 из 1
  • 1
Поиск:

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