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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2012, 13:40   #1
bize
Форумчанин
 
Регистрация: 07.01.2012
Сообщений: 152
По умолчанию Сложное сложение текстовых ячеек

Помогите решить вот эту головоломку
Вложения
Тип файла: rar Книга1.rar (8.8 Кб, 17 просмотров)
bize вне форума Ответить с цитированием
Старый 07.01.2012, 14:20   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

В формулах не силен,написал пользовательскую функцию
Маска для отбора слово пробел цифры
Вложения
Тип файла: rar Книга1.rar (16.2 Кб, 14 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 07.01.2012, 15:02   #3
bize
Форумчанин
 
Регистрация: 07.01.2012
Сообщений: 152
По умолчанию

Огромное спасибо,но если можно то вот:в ячейке В7 меняю букву Д на Н то значение меняется в ячейке С13 а вот в С14 нет
И вот если можно сделать так что б результаты в ячейках С13 и С14 не повторялись(если есть одинаковый текст то писался только один раз)
bize вне форума Ответить с цитированием
Старый 07.01.2012, 15:30   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Поправлю на повторы
А касательно С14 посмотрите какой диапазон выбран,он на одну строку ниже.я протягивал формулу и не поправил
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 07.01.2012, 15:34   #5
bize
Форумчанин
 
Регистрация: 07.01.2012
Сообщений: 152
По умолчанию

ага,с ячейкой разобрался.А где можно найти как все это составлялось?Просто я хочу использовать этот макет в другой книге,где ячейки будут иметь совсем другие названия.
bize вне форума Ответить с цитированием
Старый 07.01.2012, 15:43   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Убрал повторы

=Vprava(B14;B7:C12)

B14-это ячейка = значение для сравнения буква в вашем случае Н или Д,может быть любое слово

B7:C12-просматриваемый диапазон
Вложения
Тип файла: rar Книга1.rar (15.4 Кб, 11 просмотров)
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 07.01.2012 в 15:46.
doober вне форума Ответить с цитированием
Старый 07.01.2012, 15:44   #7
bize
Форумчанин
 
Регистрация: 07.01.2012
Сообщений: 152
По умолчанию

я нашел и где это прописанно,но вот возможно ли эти условия переносить в другую книгу ?
bize вне форума Ответить с цитированием
Старый 07.01.2012, 16:32   #8
bize
Форумчанин
 
Регистрация: 07.01.2012
Сообщений: 152
По умолчанию

я так понимаю мне надо как-то перенести составленную програмку =Vprava в другую книгу и там уже вставить ее с заменой пути на нужные мне ячейки.??
bize вне форума Ответить с цитированием
Старый 07.01.2012, 16:45   #9
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

alt+F11
Вредакторе VBA добавляете в новую книгу модуль,копируете текст функции.сохраняете с поддержкой макросов
Код:
 Public Function Vprava(RR As Range, ByVal Rg As Range) As String
      Dim R
      Dim s As String, s2 As String
bRes = False
  Set RegExp = CreateObject("VBScript.RegExp")
  RegExp.Global = True
    RegExp.IgnoreCase = True
    RegExp.Pattern = "(,\W{1,}\s\d{1,})"
    For n = 1 To Rg.Rows.Count
     s2 = Rg(n, 1).Value
      If s2 = RR(1, 1).Value Then
      s = s & "," & Rg(n, 2).Value
      End If
      Next
    bRes = RegExp.test(s)
        If bRes Then
            Set oMatches = RegExp.Execute(s)
            Set oMatch = oMatches(0)
           For Each oMatch In oMatches
            If InStr(1, R, oMatch, vbTextCompare) = 0 Then
             R = R & oMatch
            End If
                       
            Next
        
        End If
  Vprava = R
 If Left(R, 1) = "," Then
  Vprava = Mid(R, 2, Len(R) - 1)
 End If

 End Function
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 07.01.2012, 17:07   #10
bize
Форумчанин
 
Регистрация: 07.01.2012
Сообщений: 152
По умолчанию

я перенес и он уже есть в нужном мне файле,но когда я вставляю в нужную мне ячейку =Vprava с помененными на нужные мне ячейки то в результате чистая ячейка(
bize вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложное уравнение Lodas Помощь студентам 8 17.10.2010 23:09
Не сложное задание wma57 Фриланс 5 19.06.2010 20:44
Объединение текстовых ячеек Lesic Microsoft Office Excel 2 22.02.2010 21:35
Сцепка нескольких текстовых ячеек в одну строку Josser Microsoft Office Excel 4 20.07.2009 12:49
Сложение двух ячеек памяти Megapixar Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 14.05.2009 11:20