Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Замена русских букв латинскими случайным образом
 
Эти пару дней мучил макрос, но моих знаний недостаточно, либо не хватает смекалки, как это сделать.
Вот попробовал счетчик букв сделать, которые можно заменить. Считать-то он считает, да только неправильно...
Код
Sub RUS_Chr()
  Dim LATChr$: LATChr = "CcEeTOopPAaHKkXxBM06"
  Dim RUSChr$: RUSChr = "СсЕеТОорРАаНКкХхВМОб"
  Dim i%, iCell As Range
  Dim k As Integer
   k = 0
      For Each iCell In ActiveSheet.Range("A1")
        For i = 1 To Len(RUSChr)
        With iCell
           If .Value Like "*" & Mid(RUSChr, i, 1) & "*" Then
           k = k + 1
           End If
        End With
        Next i
      Next iCell
   Cells(10, 1) = k
   End Sub
Еще вопрос. Не могли бы Вы объяснить роль функции Len, пожалуйста?  
Изменено: vahr - 27.06.2017 07:51:20
Замена русских букв латинскими случайным образом
 
AndreTM, Вы были правы))
Препод не стал долго спорить, сказал сделать Макс количество возможных вариантов не более 1000.

Цитата
AndreTM написал:
Если это означает "вывести не более N вариантов" - то это одно.
Если же "посчитать количество возможных вариантов и предупредить, что "ми-и-и-и-ллиио-о-о-он йа-а-а-а вывводи-и-и-и-ить бу-у-у-ду до-о-о-о-лго" - это другое.
Первое :D
Цитата
Kirill Gureev написал:
Мнда... я тоже думал о том, что вариантов будет масса.... и как их выводить... куда? на этот же лист? после текущего текста?
А может заменять существующий, тогда, собственно, получится вариант со всеми заменёнными символами и всё.
Задаем лимит не более 1000 вариантов. Вбиваем нужное нам предложение в ячейку А1, в ячейку B1 вбиваем количество вариантов, которое мы хотим. Запускаем макрос, и он выводит варианты в ячейки, начиная с А2 по Аn. Все действия на текущем листе.
Изменено: vahr - 25.06.2017 07:35:34
Замена русских букв латинскими случайным образом
 
AndreTM, пожалуй, Вы правы. Я завтра уточню у него, корректно ли условие задачи, в чем я уже сомневаюсь...
Цитата
Посчитайте хотя бы количество вариантов для фразы "РАНО ОХРАНЕ СВЕТА ВМЕСТО КРЕСТА" (ладно хоть, не "охранка Светы"   )
Значит нужно задать количество выводимых вариантов.
Замена русских букв латинскими случайным образом
 
Kirill Gureev,благодарю!
Замена русских букв латинскими случайным образом
 
Юрий М, Я это прекрасно понимаю. Но что поделать, если пишут не по теме...

p.s. я не указывал, а дал совет.
Изменено: vahr - 24.06.2017 21:37:36
Замена русских букв латинскими случайным образом
 
kavaka08, я конкретно написал, в чем нуждаюсь. И я с самого начала дал понять, что не разбираюсь в VBA...
Не хочу грубить, но если Вы не знаете, что написать по теме, тогда лучше помолчите.
Замена русских букв латинскими случайным образом
 
Задача:Сделать максимальное количество вариантов видимых одинаково, (читаемых одинаково), но по кодировке можно менять сколько угодно раз через рус лат буквы.

пример: слово ТЕКСТ имеет порядка 15 вариантов написания: текст, Текст, тЕкст, теКст, текСт, тексТ, ТЕкст, ТеКст и т.д.
Капсом писал латинский шрифт, чтобы наглядно было видно.


P.S. В универе задачку задали по информатике ;)  
Изменено: vahr - 24.06.2017 20:15:25
Замена русских букв латинскими случайным образом
 
Честно - нет :)
Замена русских букв латинскими случайным образом
 
Нет, что Вы. Ни в коем случае))
Замена русских букв латинскими случайным образом
 
Цитата
AndreTM написал:
вам нужна процедура, которая именно только при своём запуске, да ещё и, скажем, для указанного диапазона ячеек только, - заменит символы
Верно
Изменено: vahr - 24.06.2017 19:02:39
Замена русских букв латинскими случайным образом
 
kavaka08, я бы не писал сюда, если бы не был на «Вы» с VBA.

Вот макрос от пользователя Alex_ST
Код
Sub RUS_Chr()   
  Dim LATChr$: LATChr = "CcEeTOopPAaHKkXxBM"   
  Dim RUSChr$: RUSChr = "СсЕеТОорРАаНКкХхВМ"   
  Dim i%, iSht As Worksheet   
  For Each iSht In ThisWorkbook.Sheets   
     For i = 1 To Len(LATChr)   
        iSht.UsedRange.Replace _   
              What:=Mid(LATChr, i, 1), _   
              Replacement:=Mid(RUSChr, i, 1), _   
              LookAt:=xlPart, _   
              SearchOrder:=xlByRows, MatchCase:=True   
     Next i   
  Next iSht   
End Sub


Можно ли его как-то преобразовать, чтобы подходил под моё описание?
Изменено: vahr - 25.06.2017 07:38:47
Замена русских букв латинскими случайным образом
 
Добрый день, форумчане!
Подскажите, пожалуйста, макрос, который случайным образом заменял бы русские буквы на схожие латинские, но не сразу все.
К примеру, в слове «привет» может заменить сразу «р» и «е». А может только «р» или же только «е». Надеюсь, понятно объяснил.
Изменено: vahr - 24.06.2017 17:41:46
Страницы: 1
Наверх