Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: Владимир Леонтьев от 08.02.2016, 18:38

Название: VBA выборка данных в цикле
Отправлено: Владимир Леонтьев от 08.02.2016, 18:38
 есть список слов в экселовской таблице, требуется выбирать буква из списка (массива?) и подставлять в значение ="L" для замены этой буквы на единицу( в данном случае)
не могу добиться что бы выбирались буквы из списка строка 2 и подставлялись в строке 4 значение ="L"
1  For a = 1 To 4
2 массив? (а; в; р; к)
3   L = ()
4    Cells.Replace What:="L", Replacement:="1", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
5 Next a

Неверный ответ в вопросах, земля не шар, земля  геоид
Название: Re: VBA выборка данных в цикле
Отправлено: vikttur от 08.02.2016, 18:44
Что-то типа:
For a = 1 To 4
    L = Replace(L, массив(a), "1")
Next a

Наверное, нужно в файле показать?
Название: Re: VBA выборка данных в цикле
Отправлено: Владимир Леонтьев от 08.02.2016, 19:01
не брал файл xlsm
Название: Re: VBA выборка данных в цикле
Отправлено: vikttur от 08.02.2016, 19:11
В .xlsx  макросы не живут, аллергия у них :)
.xls или архив форум принимает.

Из того, что показано, непонятно, ЧтоКуда
Название: Re: VBA выборка данных в цикле
Отправлено: Владимир Леонтьев от 08.02.2016, 19:21
вот так точно с макросом
Название: Re: VBA выборка данных в цикле
Отправлено: vikttur от 08.02.2016, 19:31
ЦитироватьИз того, что показано, непонятно, ЧтоКуда
Почему в массиве показываете 4 буквы? Они что-то значат?
Менять в ячейке или диапазоне ячеек?
Название: Re: VBA выборка данных в цикле
Отправлено: vikttur от 08.02.2016, 19:44
В указанном диапазоне активного листа замена букв из массива знаком "1"
Sub Макрос1()
Dim ArrWord
Dim rRng As Range
Dim j As Long
    ArrWord = Array("а", "б", "в", "г", "д", "е") ' добавить символы
    Set rRng = Range("A2:A20")
   
    For j = 0 To UBound(ArrWord)
     rRng.Replace What:=ArrWord(j), Replacement:="1", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Next j
End Sub
Название: Re: VBA выборка данных в цикле
Отправлено: Владимир Леонтьев от 08.02.2016, 20:58
Да работает. Спасибо. Не предполагал что так быстро поймут мои путаные объяснения.
Название: Re: VBA выборка данных в цикле
Отправлено: Владимир Леонтьев от 08.02.2016, 21:15
а теперь собственно зачем это нужно (частный случай) В телефоне игрушка четыре снимка описать одним словом и даются буквы какие можно использовать, и когда придумать не получается, а на подсказку нет очков, берём ( не самый короткий путь но самый простой) в экселе словарь заменяем в словах буквы которых нет в предложенном массиве на любой знак (у меня тут 1) отбрасываем те что с 1 потом выбираем слова нужной длины и всё, щястье :)