|
5 / 5 / 0
Регистрация: 04.03.2018
Сообщений: 17
|
|
Выдрать значение из ячейки Excel04.03.2018, 02:20. Показов 3417. Ответов 48
Здравствуйте. Проконсультируйте пожалуйста, как сделать следующее:
Есть ячейка A1 со следующими данными {"ABCDEFG":{"HIJK":[[111,222],[333,444]],"LMNO":[[555,666],[777,888]]}} Как выдрать из A1 значения: В ячейку A2 значение 111 В ячейку A3 значение 222 В ячейку A4 значение 333 В ячейку A5 значение 444 В ячейку A6 значение 555 В ячейку A7 значение 666 В ячейку A8 значение 777 В ячейку A9 значение 888 При условии, что количество цифр может отличаться (например не 111, а 1111)?
1
|
|
| 04.03.2018, 02:20 | |
|
Ответы с готовыми решениями:
48
VBA excel - значение ячейки Перенести значение ячейки excel в word VBA Excel XP. Выдрать данные из диаграммы. |
|
5 / 5 / 0
Регистрация: 04.03.2018
Сообщений: 17
|
|
| 16.04.2018, 11:26 [ТС] | |
|
0
|
|
|
5 / 5 / 0
Регистрация: 04.03.2018
Сообщений: 17
|
|
| 21.04.2018, 00:15 [ТС] | |
|
bedvit,
![]() Выше ребята предлагали варианты, я в VBA ноль, в Excel тоже, победить их макросы и переделать под себя не осилил ![]() Опишу сначала, с учетом того, что домыслил и приложу таблицу Excel. Есть ячейка A1 со следующими данными, числа время от времени меняются там сами, но кавычки-скобки и запятые статичны. {"ABCDEFG":{"HIJK":[[111,222],[333,444]],"LMNO":[[555,666],[777,888]]}} Количество цифр может быть не только 111, а например 11111 или 1111111111111111111. Как выдрать из A1 значения в ячейку B1 значение 111 ячейку B2 значение 222 ячейку B3 значение 333 ячейку B4 значение 444 ячейку C1 значение 555 ячейку C2 значение 666 ячейку C3 значение 777 ячейку C4 значение 888 так, чтобы при изменении данных в ячейке А1, числа в остальных ячейках сами подставлялись согласно вышеописанному механизму?
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 21.04.2018, 10:29 | |
|
ну уже столько решений дали...
0
|
|
|
|
||
| 21.04.2018, 11:25 | ||
|
Разделители между цифрами не имеют значения, выбирает по алгоритму
Универсальное решение для такого типа задач.
0
|
||
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 21.04.2018, 11:27 | |
|
bedvit, не всегда будет работать. Например если в А1 формула (ссылка на другую ячейке. и ещё в некоторых случаях)
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 21.04.2018, 12:04 | |
|
не факт, что ссылка на ячейку на этом листе и даже в этой книге...
0
|
|
|
|
||
| 21.04.2018, 12:18 | ||
|
Добавил возможность обработки варианта из одной цифры в строке или вообще без цифр. Под любые строки.
Добавил возможность удалить старые результаты в случае меньшего блока цифр в новой строке (можно поменять на нужный вам диапазон, в случае динамического количества блоков в строке - настроено на 8 в соответствии с топиком). Alex77755, протестируете на универсальность (может что-то упускаю)?
0
|
||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|||||||||||
| 21.04.2018, 13:41 | |||||||||||
|
Я не стал бы тут усложнять - есть ведь уже всякие написанные UDF... Может не самые лучшие, но уже есть
![]() В B1
1
|
|||||||||||
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 21.04.2018, 13:46 | |
|
1
|
|
|
|
|
| 21.04.2018, 14:03 | |
|
Alex77755, посмотрел ваше решение, да возможно TextBox1_Change немногим лучше, чем Worksheet_Change или Worksheet_SelectionChange, потому как при обновлении связей на закрытий документ - данные не обновляются, но обновляются при открытом другом документе. Все эти размышления относятся к тому, как мы хотим запустить алгоритм, через кнопку или событие, а не собственно к алгоритму.
Вообщем внес изменения в свою версию: 1. Реализовал событие TextBox1_Change 2. Изменения только на листе с кодом, да же если активный лист другой.
1
|
|
|
|
|
| 21.04.2018, 14:23 | |
|
Зашел в тему, увидел просьбу ТС, сделал свой вариант - универсальный для любых строк, другие решения не смотрел (думаю они тоже отлично справляются с данной задачей).
Была интересна задача и универсальный ответ для такого вида задач. Код набросал, помог ТС, и потренировался сам на VBA (не часто пользую сейчас).
1
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
||
| 21.04.2018, 16:18 | ||
1
|
||
|
5 / 5 / 0
Регистрация: 04.03.2018
Сообщений: 17
|
|
| 21.04.2018, 18:28 [ТС] | |
|
bedvit, Супер! Идеально!
Два момента: 1) В числах, в которых появляется дробная часть и разделяется точкой, конструкция рушится. На примере: в ячейке A2 число 111, отделил дробную часть точкой после первой единицы, механизм посчитал, что добавилось еще одно число и конструкция поехала (Рисунок 1). 2) Если добавить число 999, оно не падает в ячейку C5, а отображается в D1 (Рисунок 2). Чисел отделенных запятой может быть бесконечное количество, два/десять/пятьдесят/двести. Те числа, что в массиве после HIJK и до LMNO - в столбец B, а те числа, что после LMNO в столбец C.
1
|
|
|
5 / 5 / 0
Регистрация: 04.03.2018
Сообщений: 17
|
|
| 21.04.2018, 18:54 [ТС] | |
|
bedvit, не было, извините
1
|
|
|
|
||
| 21.04.2018, 19:06 | ||
|
Я вас и просил наиболее точно описать задачу, входящие данные, что хотим получить.
Что бы корректировать код мне нужен ПОЛНЫЙ перечень того, как может выглядеть строка и какие данные должны быть на выходе (не только цифры но и ...с черточкой, точкой, запятой и т.д.) . Добавлено через 7 минут
1
|
||
|
5 / 5 / 0
Регистрация: 04.03.2018
Сообщений: 17
|
|
| 21.04.2018, 19:21 [ТС] | |
|
Понял, вот что необходимо помимо того, что уже реализовано в "Решение4":
Чисел в массиве {"ABCDEFG":{"HIJK":[[111,222],[333,444]],"LMNO":[[555,666],[777,888]]}} находящемся в ячейке A1 может быть бесконечное множество, числа разделяются запятой. Положение чисел аналогично примеру массива. 1) Числа могут как содержать дробную часть, так и быть целыми. 2) Если в числе есть дробная часть, она отделяется точкой. 3) Число может состоять от 1 до 10 знаков, десятичная дробь может состоять от 1 до 10 знаков. 4) Числа из массива {"ABCDEFG":{"HIJK":[[111,222],[333,444]],"LMNO":[[555,666],[777,888]]}} необходимо распределять следующим образом: а) в столбец B, по порядку вниз (B1, B2, B3 и т.д.) попадают числа из промежутка начиная от {"ABCDEFG":{"HIJK":[[ и заканчивая ]],"LMNO" б) в столбец C, по порядку вниз (C1, C2, C3 и т.д.) попадают числа из промежутка начиная от "LMNO":[[ и заканчивая ]]}}
1
|
|
| 21.04.2018, 19:21 | |
|
Как вывести на форму значение из ячейки Excel? Макрос для Excel: как узнать значение ячейки в другом формате Получить значение последней записи ячейки определённого столбца VBA Excel Как принудить Excel копировать из ячейки в ячейку только ее значение без формата? Изменения формата ячейки Excel средствами VBA в зависимости от значения другой ячейки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|