Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск переменной и не уничтожения символов впереди нее / 7 сообщений из 7, страница 1 из 1
12.11.2008, 14:05
    #35649151
Drav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск переменной и не уничтожения символов впереди нее
Добрый день! Возникли трудности с этой проблемой! Суть проблемы MS Excel есть столбец в нем наборы чисел и символов ,нужно найти опечатки , где случайно забили русские буквы ,затем их найти после нахождения заменить на верные символы. Но тут возникает один вопрос ,если бы символы были бы стандартно в начале или в конце проблем не было, а так они могут быть и середине! Как пример,А4567А5678А ну вот правильный забит ли это символ(я это решил, код внизу),а вот как затем символ А ,который в середине не затереть и запомнить следующие за ним числа я увы не знаю!
Sub Макрос2()
'поиск букв и замена
For Each cell In Selection-выделяем нужный дипазон
For i = 1 To Len(cell) цикл по кол-ву символов
cc = Mid(cell, i, 1) вытаскиваем первый символ
If Asc(cc) = 192 Then находим по кодировки русскую А
ActiveCell.Value = zap & Chr(65) находим ,если первая буква А вставляем её(но затираем все,что до нее)
Else
zap = zap + cc если не находит ,до записывает в переменной
End If
Next i
Next
End Sub
...
Рейтинг: 0 / 0
12.11.2008, 14:12
    #35649165
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск переменной и не уничтожения символов впереди нее
> Автор: Drav
> Добрый день!
> Sub Макрос2()
> 'поиск букв и замена
> For Each cell In Selection-выделяем нужный дипазон
> For i = 1 To Len(cell) цикл по кол-ву символов
> cc = Mid(cell value , i, 1) вытаскиваем первый символ
> If Asc(cc) = 192 Then находим по кодировки русскую А
> Mid(cell value , i, 1) = Chr(65) находим ,если первая буква А вставляем её(но затираем все,что до нее)
> Else
> zap = zap + cc если не находит ,до записывает в переменной
> End If
> Next i
> Next
> End Sub



--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
12.11.2008, 14:15
    #35649174
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск переменной и не уничтожения символов впереди нее
> Автор: Игорь Горбонос
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub Макрос2()
Dim cell As Range, i As Long, cc As String
'поиск букв и замена
For Each cell In Selection '-выделяем нужный дипазон
    For i =  1  To Len(cell.Value) 'цикл по кол-ву символов
        cc = Mid(cell.Value, i,  1 ) 'вытаскиваем первый символ
        If Asc(cc) =  192  Then 'находим по кодировки русскую А
            Mid(cell.Value, i,  1 ) = Chr( 65 ) 'находим ,если первая буква А вставляем её(но затираем все,что до нее)
        Else
            zap = zap + cc 'если не находит ,до записывает в переменной
        End If
    Next i
Next cell
End Sub

--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
13.11.2008, 13:44
    #35651622
Drav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск переменной и не уничтожения символов впереди нее
Добрый день Игорь!
Увы твой код не хочет работать выражения cell.Value не воспринимает,убрал у всех Value , начались ошибки на объявленных переменных(Dim cell As Range, i As Long, cc As String) не восприятие выражении переменных Mid(cell, i, 1)!Ну ладно за комментировал я их,но увы доходит до строчки Mid(cell, i, 1) = Chr(65) и вставки нет спокойно проходит в чем ошибка не пойму!Mid(cell, i, 1) = Chr(65) так-то все правильно хм........
...
Рейтинг: 0 / 0
13.11.2008, 15:14
    #35652013
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск переменной и не уничтожения символов впереди нее
> Автор: Drav
> Добрый день Игорь!
> Увы твой код не хочет работать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub Макрос2()
Dim cell As Range, i As Long, cc As String, zap As String, sTemp As String
'поиск букв и замена
For Each cell In Selection '-выделяем нужный дипазон    sTemp = cell.Value
    For i =  1  To Len(sTemp) 'цикл по кол-ву символов
        cc = Mid(sTemp, i,  1 ) 'вытаскиваем первый символ
        If Asc(cc) =  192  Then 'находим по кодировки русскую А
            Mid(sTemp, i,  1 ) = Chr( 65 ) 'находим ,если первая буква А вставляем её(но затираем все,что до нее)
        Else
            zap = zap + cc 'если не находит ,до записывает в переменной
        End If
    Next i    cell.Value = sTemp
Next cell
End Sub
Я вообще-то давал повод для подумать ;)
--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
13.11.2008, 15:37
    #35652106
Drav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск переменной и не уничтожения символов впереди нее
Ну вот все работает Спасибо Горбонос Игорь Леонидович !Знаешь фактически задаешь вопрос и ждешь правильно ответа от знающего человека!А повод для подумать это детективы и разные психологический тесты и книги!
...
Рейтинг: 0 / 0
13.11.2008, 16:31
    #35652326
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск переменной и не уничтожения символов впереди нее
> Автор: Drav
> Ну вот все работает Спасибо Горбонос Игорь Леонидович !Знаешь фактически задаешь вопрос и ждешь правильно ответа
> от знающего человека!А повод для подумать это детективы и разные психологический тесты и книги!


Вот здесь я с тобой не согласен, потому, что если не думать, то и жить не зачем. Ты же не покупаешь первое попавшееся, а
смотришь на качество/свежесть/цену и подумав, решаешь что "зачем платить больше" (с) реклама
И ещё насчет подумать, раз уж упомянул книги, почитай
Сергей Лукьяненко
СПЕКТР
там главный герой попадает на планету, на которой разумны только дети, а по достижении определенного возраста проходят
ритуал, в котором разум заменяется наработанным опытом

--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск переменной и не уничтожения символов впереди нее / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]