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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2022, 14:17   #1
yanasid1993
Новичок
Джуниор
 
Регистрация: 10.01.2022
Сообщений: 2
По умолчанию Какие формулы необходимо использовать?

При помощи каких формул добиться выделения наименования компаний и ИНН в отдельные ячейки.
Выделение ИНН из выписки.xlsx
yanasid1993 вне форума Ответить с цитированием
Старый 11.01.2022, 13:29   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Здесь, скорее всего, макросом надо обрабатывать
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 12.01.2022, 12:49   #3
yanasid1993
Новичок
Джуниор
 
Регистрация: 10.01.2022
Сообщений: 2
По умолчанию

Aleksandr H., не подскажите каким?)
yanasid1993 вне форума Ответить с цитированием
Старый 12.01.2022, 13:46   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

yanasid1993, каким умеете


вот наброски 2 вариантов для обработки В13, пилите под себя
Код:
Option Explicit

Sub test1()
    Dim s As String
    Dim ar() As String
    Dim INN_pos As Integer
    Dim ln As Integer
    Dim space_pos As Integer
    Dim new_s As String
    ReDim ar(0)
    s = [b13] 
    s = Replace(s, " ,", ",")
    s = Replace(s, "  ", " ") & ","
    INN_pos = InStr(s, "ИНН: ")
    new_s = Mid(s, INN_pos, Len(s))
    space_pos = InStr(new_s, ",")
    
    Do While INN_pos > 0 And space_pos > 0 And s <> ""
        ln = UBound(ar)
        ReDim Preserve ar(ln + 1)
        
        ar(ln) = Trim(Left(s, INN_pos + space_pos - 2))
        
        s = Mid(s, INN_pos + space_pos, Len(s))
        If s <> "" Then
            INN_pos = InStr(s, "ИНН: ")
            new_s = Mid(s, INN_pos, Len(s))
            space_pos = InStr(new_s, ",")
        End If
        
    Loop
    Dim i As Integer
    For i = LBound(ar) To UBound(ar) - 1
        Debug.Print Split(ar(i), ",")(0), Replace(Split(ar(i), ",")(1), "ИНН: ", "")
    Next i
End Sub


Sub test2()
    Dim ar() As String
    Dim s As String
    Dim i As Integer
    s = Range("B13")
    ar = Split(s, ", ИНН: ")
    For i = 0 To UBound(ar) - 1
        If i = 0 Then
            Debug.Print "Firma :" & Split(ar(i), ", ")(0) & "; INN  :" & Split(ar(i + 1), ", ")(0)
        Else
            Debug.Print "Firma :" & Split(ar(i), ", ")(1) & "; INN  :" & Split(ar(i + 1), ", ")(0)
        End If
    Next i
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
какие формулы используют? KroshkaKartoshka Visual C++ 1 20.11.2012 22:25
Какие контролы лучше использовать? медведко ASP.NET 1 08.01.2012 07:00
Какие бази использовать?? Kobylyansky БД в Delphi 4 22.04.2010 11:54
Подскажите пл3 какие классы использовать. mopmuk Помощь студентам 0 17.12.2009 22:19
какие языки программирования и базы использовать? кто выпил мое пиво Помощь студентам 1 24.01.2009 13:45