Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2009, 11:53   #1
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию Перенести/Удалить один символ в ячейке

Пожалуйста, подскажите как удалить, а еще лучше сразу перенести один симво (например последний) из одной ячейки в другую?

есть конвертированный из пдф эксель документ, в нём цифры посъезжали со своих мест, надо бы их вернуть

я пробую делать через if

Код:
    If Cells(i, 7).Value = "" And Cells(i, 8).Value = "" Then
        Cells(i, 7).Value = Right(Cells(i, 4), 1)
собственно только тут и нужна цифра Cells(i, 7)

Естественно проверок будет больше, это как пример... догнать как копировать последний символ, я еще догоняю, но как его потом удалить из ячейки, с которой копирую, я не знаю. Пожалуйста подскажите как.
И если кто-то подскажет как проверять не является ли выделенный символ числом буду отдельно благодарен.
Вложения
Тип файла: rar Stats_Sep'08.rar (14.5 Кб, 13 просмотров)

Последний раз редактировалось Tirendus; 31.07.2009 в 12:02.
Tirendus вне форума Ответить с цитированием
Старый 31.07.2009, 12:06   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Код:
Option Explicit

Sub Test()
    If Not IsNumeric(Right(Cells(1, 1), 1)) Then    'если последний символ не число
        Cells(1, 2) = Cells(1, 2) & Right(Cells(1, 1), 1)    'подставляем последний символ в др. ячейку(в конец)
        Cells(1, 1) = Mid(Cells(1, 1), 1, Len(Cells(1, 1)) - 1)    'удаляем посл. символ из исходной ячейки
    End If
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 31.07.2009, 12:27   #3
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

спасибо, помогло
Tirendus вне форума Ответить с цитированием
Старый 31.07.2009, 12:42   #4
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

То что последний символ в ячейке является цифрой IMHO лучше проверять c помощью like так:
Код:
Dim s as string
Dim c as range  'проверяемая ячейка
'.....
s = c.value
if len(s) > 0 then
    if not right(s,1) like "#" then
         c.Value = left(s,len(s)-1)
         c.Offset(0,1).Value = right(s,1) & c.Offset(0,1).Value ' добавили слева 
    end if
end if

Последний раз редактировалось Aent; 31.07.2009 в 12:45.
Aent вне форума Ответить с цитированием
Старый 31.07.2009, 13:15   #5
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Аэнт, спасибо, с тобой конечно тяжело сравниться в части писания грамотного кода, но тот, что указал Прист мне более чем подошел, но твой я себе куда-нибудь запишу и постараюсь его понять... я сейчас разве что по макросрекордеру ориентируюсь
Tirendus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В заданном предложении удалить символ perojenko Помощь студентам 2 16.12.2010 22:55
Delphi 7, удалить символ в конце файла Flame_of_Death Помощь студентам 5 10.08.2009 06:32
как удалить из файла символ? evgenrpo Общие вопросы C/C++ 2 04.06.2009 22:35
Как перенести данные столбцов в один столбец? CaustiC Microsoft Office Excel 4 04.03.2009 11:11
Скопировать по одной ячейке из нескольких файлов в один Nimo Microsoft Office Excel 2 09.08.2008 09:25