Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 37

Разделение содержимого 1й ячейки на много в столбец в excel

15.05.2013, 22:07. Показов 4123. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, хочу спросить у вас можно ли разделить в excel 12значное число без пробелов в столбик как скриншоте. Я не очень сильно разбираюсь в этом (учуть на 3м курсе в колледже) наставьте на путь правильный если можно.

http://img5.imageshack.us/img5/3791/scr08q.jpg
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.05.2013, 22:07
Ответы с готовыми решениями:

Подскажите как выбрать часть содержимого из ячейки excel
Помогите пожалуйста. Есть ячейка содержимого - "0100001987 - МИТЮШКИНА М.А. Д" нач". Из этого содержимого нужно в отдельную ячейку...

Копирование содержимого ячейки таблицы Excel в закладку Word
Задача. Нужно скопировать значение ячейки (например А1) в документ word в определенное место. Место "обозначено" закладкой....

Размещение содержимого ячейки Excel в текстовом поле PowerPoint
Подскажите, возможно ли такое? В экселе забиты данные по ячейкам, их нужно растолкать по слайдам на картинки. Т.е. либо уже в готовую...

35
200 / 98 / 2
Регистрация: 24.09.2011
Сообщений: 261
15.05.2013, 22:33
вот так можно
Visual Basic
1
2
3
for i = 1 to len([A1])
   Cells(i+1, 1) = mid([A1], i, 1)
next
1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 37
15.05.2013, 22:51  [ТС]
sulfur

Большое спасибо, а как можно сделать чтобы он сам дальше так же делал для ячеек B1, C1 и т.д.? Просто программа нужна будет на 10000 чисел...
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
15.05.2013, 23:06
Наверно так?
Visual Basic
1
2
3
4
5
For c = 1 To 10000
  For i = 1 To Len(Cells(c))
   Cells(i + 1, c) = Mid(Cells(i), i, c)
  Next
Next
0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 37
15.05.2013, 23:10  [ТС]
Апострофф

получается не так...
http://img547.imageshack.us/img547/7350/scr08.jpg
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
15.05.2013, 23:13
А так? Если чуть подправить предыдущее?
Visual Basic
1
2
3
4
5
6
7
8
9
Dim mRng As Range, cC As Range
    Set mRng = Rows(1). _
            SpecialCells(xlCellTypeConstants, xlNumbers)
    mRng.Select
    For Each cC In mRng
        For i = 1 To Len([A1])
            Cells(i + 1, cC.Column) = Mid([A1], i, 1)
        Next 'i
    Next
1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 37
15.05.2013, 23:18  [ТС]
Igor_Tr

Почти! Только последняя цифра не меняется...
http://img845.imageshack.us/img845/2774/scr09w.jpg

Добавлено через 1 минуту
Если прошлые макросы я как то понять мог, то тут половину я понять не могу, шедевр просто. Чувствую себя необразованным...
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
15.05.2013, 23:24
Цитата Сообщение от Апострофф Посмотреть сообщение
Visual Basic
1
Cells(i + 1, c) = Mid(Cells(i), i, C)
замените на
Visual Basic
1
Cells(i + 1, c) = Mid(Cells(i), i, 1)
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
15.05.2013, 23:25
Нет, ну анекдот! Вот я клоун!!
Visual Basic
1
2
3
4
5
    For Each cC In mRng
        For i = 1 To Len(Cstr(сС.value))
            Cells(i + 1, cC.Column) = Mid(сС.value, i, 1)
        Next 'i
    Next
0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 37
15.05.2013, 23:44  [ТС]
Цитата Сообщение от Апострофф Посмотреть сообщение
замените на
Visual Basic
1
Cells(i + 1, c) = Mid(Cells(i), i, 1)
и смех и грех, всем что-то не хватает ((


Добавлено через 9 минут
Цитата Сообщение от Igor_Tr Посмотреть сообщение
Нет, ну анекдот! Вот я клоун!!
Visual Basic
1
2
3
4
5
    For Each cC In mRng
        For i = 1 To Len(Cstr(сС.value))
            Cells(i + 1, cC.Column) = Mid(сС.value, i, 1)
        Next 'i
    Next
Заменил кусочек макроса на тот что вы сейчас скинули, не хочет запускаться (
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
15.05.2013, 23:45
Тогда не понимаю. Проверил у себя - все работает. Вот процедура от начала и до конца:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub asdfs()
Dim mRng As Range, cC As Range, i&, a&
    Set mRng = Rows(1). _
            SpecialCells(xlCellTypeConstants, xlNumbers)
    For Each cC In mRng
        cC.Select
        a = Len(CStr(cC.Value))
        For i = 1 To Len(CStr(cC.Value))
            Cells(i + 1, cC.Column) = Mid(cC.Value, i, 1)
        Next 'i
    Next
End Sub
1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 37
15.05.2013, 23:47  [ТС]
Igor_Tr

Спасибище вам огромное! Все работает! Выручили, слов нет!
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
15.05.2013, 23:48
Не понял! Заработало? И что ему было мало?
0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 37
15.05.2013, 23:49  [ТС]
Цитата Сообщение от Igor_Tr Посмотреть сообщение
Не понял! Заработало? И что ему было мало?
заработало! Незнаю, ты скинул весь код макроса я его вставил и все пучком, получилось!
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
15.05.2013, 23:56
Цитата Сообщение от MarainXK Посмотреть сообщение
Cells(i + 1, c) = Mid(Cells(i), i, 1)
замените на
Visual Basic
1
Cells(i + 1, c) = Mid(Cells(c), i, 1)
вдруг получится
1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 37
15.05.2013, 23:57  [ТС]
Цитата Сообщение от Апострофф Посмотреть сообщение
замените на
Visual Basic
1
Cells(i + 1, c) = Mid(Cells(c), i, 1)
вдруг получится
Ваш вариант тоже теперь работает! И Вам большое спасибо!
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
16.05.2013, 00:24
Вот всегда так. Сначала трах-бах, а потом думаю, что же меня кусает? Посмотрел еще раз, и понял, что причина в этом Вашем:
...программа нужна будет на 10000 чисел...
Может попробуйте еще так. Должно бы было работать быстрее, но я не замерял.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub next_asdfs()
Dim mRng As Range, cC As Range, i&, arrNum()
    Set mRng = Rows(1). _
            SpecialCells(xlCellTypeConstants, xlNumbers)
    For Each cC In mRng
        ReDim arrNum(1 To Len(CStr(cC.Value)))
        For i = 1 To Len(CStr(cC.Value))
            arrNum(i) = CLng(Mid(cC.Value, i, 1))
        Next 'i
        Cells(cC.Row + 1, cC.Column). _
                    Resize(UBound(arrNum), 1).Value = _
                                    Application.Transpose(arrNum)
    Next
End Sub
1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 37
16.05.2013, 00:29  [ТС]
Цитата Сообщение от Igor_Tr Посмотреть сообщение
Вот всегда так. Сначала трах-бах, а потом думаю, что же меня кусает? Посмотрел еще раз, и понял, что причина в этом Вашем:

Может попробуйте еще так. Должно бы было работать быстрее, но я не замерял.
Спасибо, за скоростью я не гонюсь, сразу 10000 вряд-ли будем делать, по 1000 примерно. Еще раз спасибо за труды

Добавлено через 2 минуты
Цитата Сообщение от Igor_Tr Посмотреть сообщение
Вот всегда так. Сначала трах-бах, а потом думаю, что же меня кусает? Посмотрел еще раз, и понял, что причина в этом Вашем:

Может попробуйте еще так. Должно бы было работать быстрее, но я не замерял.
Даже на 50 работает уже чуть быстрей, спасибо вам
0
16.05.2013, 08:55
 Комментарий модератора 
MarainXK, не злоупотребляйте цитированием! Правила, пп. 5.17.
Кликните ник участника, на пост которого отвечаете, и ник вставится в поле сообщения.
0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 37
16.05.2013, 09:03  [ТС]
Казанский, хорошо, извините, закройте тему пожалуйста, вопрос решен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.05.2013, 09:03
Помогаю со студенческими работами здесь

Форматирование содержимого ячейки Excel
Остро встал вопрос: имеется ли возможность программно через C# поместить в ячейку Excel фрагменты текста различного написания (пример:...

Копирование много строчного текста из ячейки Excel 2010
Добрый день. В Excel 2010, в ячейке таблицы вставлен многосторчный текст, напр: Значение1 Значение2 Значение3 Значение4 ...

Перемещение содержимого ячейки Б в ячейку А при удалении содержимого в ячейке А
Суть проблемы следующая. Имеется диапазон ячеек с текстом в каждой. При выделении любой из ячеек и удалении содержимого в ней, содержимое...

Изменение содержимого одной ячейки Datagridview после изменения другой ячейки
Здравствуйте. Есть Datagridview с 2 столбцами. Столбцы типа ComboBox. В 1 столбце уже забиты значения, 2 столбец пустой. Необходимо сделать...

Разделение содержимого файла
Всем привет! Необходима помощь в разделении содержимого файла. (.cfg) Имеется форма с разными полями(номер, имя, регион, цвет, тип) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru