Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

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

Неверный ответ в вопросах, земля не шар, земля  геоид

vikttur

#1
Что-то типа:
For a = 1 To 4
    L = Replace(L, массив(a), "1")
Next a

Наверное, нужно в файле показать?

Владимир Леонтьев


vikttur

В .xlsx  макросы не живут, аллергия у них :)
.xls или архив форум принимает.

Из того, что показано, непонятно, ЧтоКуда

Владимир Леонтьев

вот так точно с макросом

vikttur

ЦитироватьИз того, что показано, непонятно, ЧтоКуда
Почему в массиве показываете 4 буквы? Они что-то значат?
Менять в ячейке или диапазоне ячеек?

vikttur

В указанном диапазоне активного листа замена букв из массива знаком "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

Владимир Леонтьев

Да работает. Спасибо. Не предполагал что так быстро поймут мои путаные объяснения.

Владимир Леонтьев

#8
а теперь собственно зачем это нужно (частный случай) В телефоне игрушка четыре снимка описать одним словом и даются буквы какие можно использовать, и когда придумать не получается, а на подсказку нет очков, берём ( не самый короткий путь но самый простой) в экселе словарь заменяем в словах буквы которых нет в предложенном массиве на любой знак (у меня тут 1) отбрасываем те что с 1 потом выбираем слова нужной длины и всё, щястье :)