Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

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

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

           Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
           И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - https://clck.ru/fCqwP

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2009, 14:58   #1
John34
Пользователь
 
Регистрация: 18.05.2009
Сообщений: 13
По умолчанию Удаление части данных из ячейки

Подскажите, как удалить часть данных вида 1234567890 из ячейки, удалить нужно первые 5 символов, и перенести в другую ячейку. Спасибо
John34 вне форума Ответить с цитированием
Старый 18.05.2009, 15:13   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,852
По умолчанию

В ячейку A1 введите текст 1234567890

В ячейку B1 поставьте формулу =ПСТР(A1;6;100)
EducatedFool вне форума Ответить с цитированием
Старый 18.05.2009, 16:30   #3
John34
Пользователь
 
Регистрация: 18.05.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
В ячейку A1 введите текст 1234567890

В ячейку B1 поставьте формулу =ПСТР(A1;6;100)
Нужно немного другое:
1) данные 1234567890
2) убрать 12345
3) и перенести в другую ячейку 12345, чтобы в родной ячейке осталось 67890
John34 вне форума Ответить с цитированием
Старый 18.05.2009, 16:35   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,852
По умолчанию

Выделите обрабатываемые ячейки, и запустите макрос:
Код:
Sub test()
    Dim cell As Range
    For Each cell In Selection.Cells
        cell.Next = Left(cell, 5)
        cell = Mid(cell.Text, 6)
    Next cell
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 18.06.2009, 14:57   #5
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию

Sub test()
Dim cell As Range
For Each cell In Selection.Cells
cell = Mid(cell.Text, 6, 3)
Next cell
End Sub

Как этот макрос преобразовать, чтобы он обрабатывал ячейки только в определенном столбце (Допустим "В") и только в ячейках с данными?
Zhiltsov вне форума Ответить с цитированием
Старый 18.06.2009, 15:22   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,852
По умолчанию

2 Zhiltsov

Если надо обработать только предварительно выделенные ячейки в столбце B:
Код:
Sub test()
    Dim cell As Range: On Error Resume Next
    For Each cell In Intersect(Selection, Columns("B")).Cells
        If Not cell.HasFormula Then cell = Mid(cell.Text, 6, 3)
    Next cell
End Sub

Если надо обработать все ячейки в столбце B:
Код:
Sub test2()
    Dim cell As Range: On Error Resume Next
    Application.ScreenUpdating = False
    For Each cell In Intersect(ActiveSheet.UsedRange, Columns("B")).Cells
        If Not cell.HasFormula Then cell = Mid(cell.Text, 6, 3)
    Next cell
End Sub

Последний раз редактировалось EducatedFool; 18.06.2009 в 15:25.
EducatedFool вне форума Ответить с цитированием
Старый 19.06.2009, 09:44   #7
Алена-2009
Пользователь
 
Аватар для Алена-2009
 
Регистрация: 22.04.2009
Сообщений: 82
По умолчанию

Можно использовать следующую функцию.
1. Выделить нужные данные.
2. Меню данные, текст по столбцам .
3. выбрать фиксированной ширины.
4. отсчитать нужное количество символов.
Алена-2009 вне форума Ответить с цитированием
Старый 17.11.2014, 14:34   #8
ledrock
Новичок
Джуниор
 
Регистрация: 17.11.2014
Сообщений: 1
По умолчанию

Здравствуйте. Подниму эту тему, так как задача похожая, но с усложнением.

Есть ячейка вида:
(1): 84 00 00 3A 0F 09 01 A8 1A 1B 1B 04 03 00 00 00
Ее нужно привести к следующему формату (сгрупировать):
8400 003A 0F09 01A8 1A1B 1B04 0300 0000
Ненужную левую часть удаляю с помощью ПРАВСИМВ.
Как убрать остальные 8 пробелов в определенных местах?
ledrock вне форума Ответить с цитированием
Ответ

           Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
           Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление лишних данных в ячейке mistx Microsoft Office Excel 2 24.02.2009 18:32
Удаление повторяющихся данных demonic Microsoft Office Access 6 19.02.2009 11:09
Разединение данных из ячейки ???? stbo Microsoft Office Excel 23 01.12.2008 20:45
Удаление символов из ячейки gavrylyuk Microsoft Office Excel 2 26.08.2008 16:44
Удаление всех прописных букв из ячейки samlay Microsoft Office Excel 4 07.11.2007 20:03