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

Вход

Регистрация

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

 

= Мир MS Excel/выбор случайного символа из списка заданных - Мир MS Excel

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

Excel 2010
Добрый день! Подскажите пожалуйста, нужно чтобы макрос менял цифру на на одну из трех выбранных букв, например 1 на "а,б или в". У меня получилось нечто вроде:
Range("A1:Z1").Replace What:="1", Replacement:="à"
так же разобрался как заменить на рандомную букву, но выбрать из трех заданных не получается, помогите.
 
Ответить
СообщениеДобрый день! Подскажите пожалуйста, нужно чтобы макрос менял цифру на на одну из трех выбранных букв, например 1 на "а,б или в". У меня получилось нечто вроде:
Range("A1:Z1").Replace What:="1", Replacement:="à"
так же разобрался как заменить на рандомную букву, но выбрать из трех заданных не получается, помогите.

Автор - AsprOn
Дата добавления - 19.04.2015 в 11:48
ShAM Дата: Воскресенье, 19.04.2015, 11:55 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Вы читаете только те пункты Правил, которые Вам пишут? Хорошо, прочтите п.3. Особенно то, что выделено синим.
 
Ответить
СообщениеВы читаете только те пункты Правил, которые Вам пишут? Хорошо, прочтите п.3. Особенно то, что выделено синим.

Автор - ShAM
Дата добавления - 19.04.2015 в 11:55
AsprOn Дата: Воскресенье, 19.04.2015, 12:07 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
извините, прикладываю файл, у меня получилось только на замену 1=а, а=1.
К сообщению приложен файл: 6635149.xls (30.5 Kb)
 
Ответить
Сообщениеизвините, прикладываю файл, у меня получилось только на замену 1=а, а=1.

Автор - AsprOn
Дата добавления - 19.04.2015 в 12:07
Manyasha Дата: Воскресенье, 19.04.2015, 12:20 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
AsprOn, здравствуйте, можно так[vba]
Код
Sub qwe()
     Dim ch As String
     Dim allowed
     allowed = Array("a", "b", "c")
     ch = InputBox("На что заменить единички?" & vbCrLf & "Вы можете ввести a,b или c")
     For Each repl In allowed
         If ch = repl Then Range("A1:Z1").Replace What:="1", Replacement:=ch: Exit For
     Next repl
End Sub
[/vba]
К сообщению приложен файл: 6635149_1.xls (34.5 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеAsprOn, здравствуйте, можно так[vba]
Код
Sub qwe()
     Dim ch As String
     Dim allowed
     allowed = Array("a", "b", "c")
     ch = InputBox("На что заменить единички?" & vbCrLf & "Вы можете ввести a,b или c")
     For Each repl In allowed
         If ch = repl Then Range("A1:Z1").Replace What:="1", Replacement:=ch: Exit For
     Next repl
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 19.04.2015 в 12:20
ShAM Дата: Воскресенье, 19.04.2015, 12:21 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Так:
[vba]
Код
Sub qwe()
  ww = Choose(WorksheetFunction.RandBetween(1, 3), "а", "б", "в")
  Range("A1:Z1").Replace What:="1", Replacement:=ww
End Sub
[/vba]
 
Ответить
СообщениеТак:
[vba]
Код
Sub qwe()
  ww = Choose(WorksheetFunction.RandBetween(1, 3), "а", "б", "в")
  Range("A1:Z1").Replace What:="1", Replacement:=ww
End Sub
[/vba]

Автор - ShAM
Дата добавления - 19.04.2015 в 12:21
wild_pig Дата: Воскресенье, 19.04.2015, 12:28 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
[vba]
Код
Option Base 1
Sub uuu()
     a = Array("a", "b", "c")
     Randomize
     For Each cel In Sheets("Лист1").UsedRange.Cells
         cel.Value = Replace(cel.Value, "1", a(Int((3 * Rnd) + 1)))
     Next
End Sub
[/vba]
 
Ответить
Сообщение[vba]
Код
Option Base 1
Sub uuu()
     a = Array("a", "b", "c")
     Randomize
     For Each cel In Sheets("Лист1").UsedRange.Cells
         cel.Value = Replace(cel.Value, "1", a(Int((3 * Rnd) + 1)))
     Next
End Sub
[/vba]

Автор - wild_pig
Дата добавления - 19.04.2015 в 12:28
AsprOn Дата: Воскресенье, 19.04.2015, 13:30 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
спасибо всем огромное, еще такой вопрос, в этом варианте
Option Base 1
Sub uuu()
    a = Array("a", "b", "c")
    Randomize
    For Each cel In Sheets("Лист1").UsedRange.Cells
        cel.Value = Replace(cel.Value, "1", a(Int((3 * Rnd) + 1)))
    Next
End Sub

при запуске меняет значение в ячейке А1 и пишет "subscript out of range", как сделать чтобы он работал во всем документе?
з.ы. извините если вопрос глупый, к сожалению познания vba очень скудны
 
Ответить
Сообщениеспасибо всем огромное, еще такой вопрос, в этом варианте
Option Base 1
Sub uuu()
    a = Array("a", "b", "c")
    Randomize
    For Each cel In Sheets("Лист1").UsedRange.Cells
        cel.Value = Replace(cel.Value, "1", a(Int((3 * Rnd) + 1)))
    Next
End Sub

при запуске меняет значение в ячейке А1 и пишет "subscript out of range", как сделать чтобы он работал во всем документе?
з.ы. извините если вопрос глупый, к сожалению познания vba очень скудны

Автор - AsprOn
Дата добавления - 19.04.2015 в 13:30
wild_pig Дата: Воскресенье, 19.04.2015, 14:03 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
UsedRange.Cells заменить на своё Range("A1:Z1") а вдруг поможет
 
Ответить
СообщениеUsedRange.Cells заменить на своё Range("A1:Z1") а вдруг поможет

Автор - wild_pig
Дата добавления - 19.04.2015 в 14:03
ShAM Дата: Воскресенье, 19.04.2015, 14:07 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
пишет "subscript out of range"
У меня нормально отрабатывает.
 
Ответить
Сообщение
пишет "subscript out of range"
У меня нормально отрабатывает.

Автор - ShAM
Дата добавления - 19.04.2015 в 14:07
Мир MS Excel » Вопросы и решения » Вопросы по VBA » выбор случайного символа из списка заданных (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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