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

Из ячейки извлечь подчеркнутую информацию и поместить ее в следующую ячейку

04.06.2018, 19:26. Показов 866. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно как-нибудь из ячейки извлечь подчеркнутую информацию и поместить в следующую
если да, то помогите пожалуйста как это реализовать
Миниатюры
Из ячейки извлечь подчеркнутую информацию и поместить ее в следующую ячейку  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.06.2018, 19:26
Ответы с готовыми решениями:

Извлечь данные из ячейки и поместить в другие ячейки
Добрый день. При импорте контактов со смартфона, программа накосячила и все поля занесла в ячейку Notes. Таких контактов около 2тысяч. ...

Извлечь из базы (mysql) информацию и поместить ей в Textbox
Объясните, как можно извлечь из базы (mysql) некую информацию и поместить ей в Textbox ? Если можно с примерами.

Поместить информацию с json в ячейки таблицы sql oracle 12c
есть json (скрин ниже) примерно таких записей там 200 штук , нужно разобрать данные json в таблицу sql Oracle 12c. Как это сделать? Нужно...

8
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
04.06.2018, 22:29
Исходя только из того, что показано:
Visual Basic
1
2
="LED "&Substring(Substring(A1;"LED";2;2);")";1;1)&")"
="LED "&Substring(Substring(A1;"LED";3;3);")";1;1)&")"
Можно вместо 2 и 3 использовать номер столбца.
Ну и собственно код UDF:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Function Substring(Текст As String, Символ_разделитель As String, _
                   Начальный_Номер_фрагмента As Long, Конечный_Номер_фрагмента As Long) As String
'---------------------------------------------------------------------------------------
' Purpose : Выделяет из текста субстринг/и, ориентируясь по символам-разделителям
' Notes : Substring(текст; символ_разделитель; Начальный_Номер_фрагмента, Конечный_Номер_фрагмента), где
' текст - текст, который делим
' символ_разделитель - символ, который надо считать разделителем фрагментов
' Начальный_Номер_фрагмента - порядковый номер фрагмента, с которого нужна выборка
' Конечный_Номер_фрагмента - порядковый номер фрагмента, по который нужна выборка
'---------------------------------------------------------------------------------------
    On Error Resume Next
    Dim sArr() As String, li As Long
    sArr = Split(Application.Trim(Текст), Символ_разделитель)
    If Конечный_Номер_фрагмента > 0 Then
        Начальный_Номер_фрагмента = Начальный_Номер_фрагмента - 1
        Конечный_Номер_фрагмента = Конечный_Номер_фрагмента - 1
        For li = Начальный_Номер_фрагмента To Конечный_Номер_фрагмента
            Substring = IIf(li = Начальный_Номер_фрагмента, sArr(li), Substring & _
                                                                      Символ_разделитель & sArr(li))
        Next li
    Else
        Substring = Split(Application.Trim(Текст), _
                          Символ_разделитель)(Начальный_Номер_фрагмента - 1)
    End If
End Function
1
96 / 92 / 16
Регистрация: 13.04.2015
Сообщений: 545
05.06.2018, 00:41
Boberp, Длиннее чем предложил Hugo121, но как вариант еще один способ через регулярку
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Public Function GetRegExpFind(ByVal str As String, ByVal Pattern As String) As Object
    On Error Resume Next
 
    If Not Pattern Like "" Then
        Dim RegExp As Object
        Set RegExp = CreateObject("VBScript.RegExp")
        With RegExp
            .Global = True
            .Pattern = Pattern 'Выражение
        End With
        Set GetRegExpFind = RegExp.Execute(str)
        Set RegExp = Nothing
    End If
End Function
 
Sub Test()
    Dim matches As Object
    Dim match As Object
    Dim sPattern As String
    sPattern = "LED [a-zA-Z0-9 ]+\([а-яА-Я0-9. ]+\)"
        Set matches = GetRegExpFind(ThisWorkbook.ActiveSheet.Cells(1, 1), sPattern)
        If Not matches Is Nothing Then
            If Not matches.Count = 0 Then
                For Each match In matches
                    With match
                        MsgBox (.Value)
                    End With
                Next
            End If
        End If
    Set match = Nothing
    Set matches = Nothing
End Sub
1
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 71
09.06.2018, 15:01  [ТС]
Спасибо большое, а если например я захочу протянуть по диапазону(по столбцу) вниз
PureBasic
1
sPattern = "LED [a-zA-Z0-9 ]+\([а-яА-Я0-9. ]+\)"
и маска каждый раз будет другая , возможно ли указать несколько масок, что бы он по ним находил?

Добавлено через 9 минут
Скажите пожайлуста более конкретно, что вы понимали под Начальный_Номер_фрагмента и Конечный

Добавлено через 7 минут
А все понял это фрагмент, через запятые
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
09.06.2018, 20:42
Это именно номер фрагмента/части, от 1 и до сколько будет.
В моём варианте вместо "LED" можно указывать что угодно, например значение ячейки где-то правее.
1
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 71
19.06.2018, 18:31  [ТС]
Hugo а не подскажите, когда это ещё не все данные и при движении по столбцу марка всегда может меняться, их надо вытаскивать, есть ли какой-нибуть способ вытягивать это все?
Миниатюры
Из ячейки извлечь подчеркнутую информацию и поместить ее в следующую ячейку  
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
19.06.2018, 19:31
Заменить "лампа энергосберегающая" и "энергосберегающая лампа" на что угодно, а можно что-то одно на другое, и по этому слову/словосочетанию и вытягивать. Можно первую часть сделать сперва вручную, а можно вшить в формулу.
Был бы пример в файле - можно было бы попробовать.
0
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 71
19.06.2018, 20:40  [ТС]
Данных слишком много и заменять их долго, у меня есть готовый способ написанный, которым я через регулярные выражения вытаскиваю нужную инфу, из поля TOVG получается выцепить все регуляркой а вот в Описании порядок хаотичный, но мной способ не очень гибкий, так как информация в Описании может меняться..
Вложения
Тип файла: xlsx Данные.xlsx (64.0 Кб, 7 просмотров)
0
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 71
19.06.2018, 22:48  [ТС]
Думал уже выделить знаком | ключевое слово перед моделью, а потом через этот знак отделять
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.06.2018, 22:48
Помогаю со студенческими работами здесь

как у значения ячейки взять первые три символа и поместить их в соседние ячейки
Помогите решить задачку. Есть столбец в ячейки которого вводятся значения (артикул: 3654 - блузка голубая). Нужно первые 4 значения...

Перенесение результатов ячейки в ячейку на другой лист, в зависимости от значения исходной ячейки
Добрый день, - прошу помощи экспертов! Есть такая таблица (в вложении). Суть вопроса такова: Есть заказы оплаченные за нал и б/нал, они...

Вывод в следующую ячейку
Какой код следует написать чтобы по мере добавления, данные выводились в новые ячейки (A3, B3, C3) и т.д, а не постоянно только в A2, B2,...

Переход в следующую ячейку stringgrida
Для проверки вводимых данных в стринггрид используется код: procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char); begin...

Копирование в следующую свободную ячейку
Имеется диапазон из 10 ячеек A1:A10. Туда цифры вносится вручную. Допустим в ячейке A11 подсчитывается некий разряд (для простоты назовем...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru