Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Записи участника (krosav4ig) - Мир MS Excel

Результаты поиска
krosav4ig Дата: Четверг, 26.05.2016, 02:59 | Сообщение № 1241 | Тема: Поиск определенных символов вначале содержимого ячейки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Доброй ночи[vba]
Код
.Find("абв.*", , xlFormulas, xlWhole, xlByRows, xlNext)
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 26.05.2016, 02:59
 
Ответить
СообщениеДоброй ночи[vba]
Код
.Find("абв.*", , xlFormulas, xlWhole, xlByRows, xlNext)
[/vba]

Автор - krosav4ig
Дата добавления - 26.05.2016 в 02:59
krosav4ig Дата: Среда, 25.05.2016, 13:30 | Сообщение № 1242 | Тема: С английского на русский
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]имхо, ТС создал тему тока для того, шоб перевести формулу на инглиш


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[offtop]имхо, ТС создал тему тока для того, шоб перевести формулу на инглиш

Автор - krosav4ig
Дата добавления - 25.05.2016 в 13:30
krosav4ig Дата: Среда, 25.05.2016, 13:26 | Сообщение № 1243 | Тема: Перенос данных с разных листов в список
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
в диспетчере имен именованная формула ref
Код
="'"&ТРАНСП(ПОДСТАВИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);ПОЛУЧИТЬ.ДОКУМЕНТ(1);))&"'!"&{"d5";"d8";"c10";"d5";"g12"}

на листе с ячейки A1 тянем формулу
Код
=ЕСЛИОШИБКА(ПСТР(ДВССЫЛ(ИНДЕКС(ref;СТРОКА();СТОЛБЕЦ()));5^(СТОЛБЕЦ()=4);3^(7^(СТОЛБЕЦ()>1)));"")
К сообщению приложен файл: 8803647.xls (32.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 25.05.2016, 13:39
 
Ответить
Сообщениев диспетчере имен именованная формула ref
Код
="'"&ТРАНСП(ПОДСТАВИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);ПОЛУЧИТЬ.ДОКУМЕНТ(1);))&"'!"&{"d5";"d8";"c10";"d5";"g12"}

на листе с ячейки A1 тянем формулу
Код
=ЕСЛИОШИБКА(ПСТР(ДВССЫЛ(ИНДЕКС(ref;СТРОКА();СТОЛБЕЦ()));5^(СТОЛБЕЦ()=4);3^(7^(СТОЛБЕЦ()>1)));"")

Автор - krosav4ig
Дата добавления - 25.05.2016 в 13:26
krosav4ig Дата: Вторник, 24.05.2016, 23:49 | Сообщение № 1244 | Тема: Активация ячейки, значение которой находится в окне ActiveX
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Сложилось впечатление, что нужно так

Точно, спасибо, исправил в посте выше
И большая загадка, зачем

Сам не знаю, само закралось :) #Этнияоносамо


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Сложилось впечатление, что нужно так

Точно, спасибо, исправил в посте выше
И большая загадка, зачем

Сам не знаю, само закралось :) #Этнияоносамо

Автор - krosav4ig
Дата добавления - 24.05.2016 в 23:49
krosav4ig Дата: Вторник, 24.05.2016, 17:41 | Сообщение № 1245 | Тема: Активация ячейки, значение которой находится в окне ActiveX
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
я совсем забыл сказать, что для корректной работы моего кода нужно в свойствах комбобокса нужно очистить свойство LisFfillRange и установить MatchEntry fmMatchEntryNone
, немного переписал код, добавил комментарии
[vba]
Код
Private Sub ComboBox1_Change()
    Dim arr As Variant, r&, v As Variant
    With ComboBox1
        If Len(.Value) Then
            'пишем в массив значения из диапазона от C3 до последней непустой ячейки в C:C
            arr = Application.Transpose([c3].Resize(Cells(Rows.Count, 2).End(xlUp).Row - 3).Value)
            'Application.Transpose нужен для получения горизонтального массива,
            'ибо функция Filter с вертикальными массивами работать отказывается
            
            On Error Resume Next    'отключаем отлов ошибок
            'очищаем список: задаем список массивом, фильтрованным по значению в ComboBox1: разворачиваем список
            .List = Array(): .List = Filter(arr, IIf(Len(.Value), .Value, "џ"), 1, 1): .DropDown: DoEvents
            'если список пуст или значение не задано, "жмем" Escape, чтобы его свернуть и завершаем процедуру
        End If
        If UBound(.List) < 0 Or Len(.Value) = 0 Then Application.SendKeys "{ESC}", 1: DoEvents: .Activate: Exit Sub
        'если в ComboBox1 числовое значение, конвертируем в число
        'число, записанное текстом, тоже распознается как числовое
        If IsNumeric(.Value) Then v = --.Value Else v = .Value
        Err.Clear 'очищаем информацию об ошибке
        'ищем значение ComboBox1 в массиве, и прокручиваем лист до соответствующей ячейки
        Application.Goto Range("C3")(Application.Match(v, arr, 0)), 1
    End With
    If Err = 0 Then 'если значение было найдено
        'снимаем окрашивание со столбца
        Columns("C:C").Interior.Pattern = xlNone
        'красим ячейку
        Selection.Interior.ColorIndex = 8
    End If
End Sub
[/vba]
К сообщению приложен файл: _3.xlsm (94.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 24.05.2016, 23:53
 
Ответить
Сообщениея совсем забыл сказать, что для корректной работы моего кода нужно в свойствах комбобокса нужно очистить свойство LisFfillRange и установить MatchEntry fmMatchEntryNone
, немного переписал код, добавил комментарии
[vba]
Код
Private Sub ComboBox1_Change()
    Dim arr As Variant, r&, v As Variant
    With ComboBox1
        If Len(.Value) Then
            'пишем в массив значения из диапазона от C3 до последней непустой ячейки в C:C
            arr = Application.Transpose([c3].Resize(Cells(Rows.Count, 2).End(xlUp).Row - 3).Value)
            'Application.Transpose нужен для получения горизонтального массива,
            'ибо функция Filter с вертикальными массивами работать отказывается
            
            On Error Resume Next    'отключаем отлов ошибок
            'очищаем список: задаем список массивом, фильтрованным по значению в ComboBox1: разворачиваем список
            .List = Array(): .List = Filter(arr, IIf(Len(.Value), .Value, "џ"), 1, 1): .DropDown: DoEvents
            'если список пуст или значение не задано, "жмем" Escape, чтобы его свернуть и завершаем процедуру
        End If
        If UBound(.List) < 0 Or Len(.Value) = 0 Then Application.SendKeys "{ESC}", 1: DoEvents: .Activate: Exit Sub
        'если в ComboBox1 числовое значение, конвертируем в число
        'число, записанное текстом, тоже распознается как числовое
        If IsNumeric(.Value) Then v = --.Value Else v = .Value
        Err.Clear 'очищаем информацию об ошибке
        'ищем значение ComboBox1 в массиве, и прокручиваем лист до соответствующей ячейки
        Application.Goto Range("C3")(Application.Match(v, arr, 0)), 1
    End With
    If Err = 0 Then 'если значение было найдено
        'снимаем окрашивание со столбца
        Columns("C:C").Interior.Pattern = xlNone
        'красим ячейку
        Selection.Interior.ColorIndex = 8
    End If
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 24.05.2016 в 17:41
krosav4ig Дата: Понедельник, 23.05.2016, 16:48 | Сообщение № 1246 | Тема: Суммирование текстовых значений
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Код
=СУММПРОИЗВ(--ПОДСТАВИТЬ(ПОДСТАВИТЬ(D3:D23;" ";);"кв.м.";))
К сообщению приложен файл: 1137290.xlsx (9.6 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 23.05.2016, 16:49
 
Ответить
Сообщение
Код
=СУММПРОИЗВ(--ПОДСТАВИТЬ(ПОДСТАВИТЬ(D3:D23;" ";);"кв.м.";))

Автор - krosav4ig
Дата добавления - 23.05.2016 в 16:48
krosav4ig Дата: Понедельник, 23.05.2016, 16:39 | Сообщение № 1247 | Тема: Активация ячейки, значение которой находится в окне ActiveX
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Набираешь в окне ActiveX первые цифры/буквы, появляется выпадающее окно со списком из столбца С, который совпадает с набранными цифрами/буквами

[vba]
Код
Private Sub ComboBox1_Change()
    Dim arr As Variant, r&
    With ComboBox1
        If Len(.Value) = 0 Then Exit Sub
        arr = Application.Transpose([c3].Resize(Cells(Rows.Count, 2).End(xlUp).Row - 3).Value)
        On Error Resume Next
        .List = Filter(arr, ComboBox1.Value): .DropDown: DoEvents
        If UBound(.List) < 0 Then Application.SendKeys "{ESC}", 1
        r = Application.Match(IIf(IsNumeric(.Value), --.Value, .Value), arr, 0)
        If r Then Application.Goto Range("C3")(r), 1
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Набираешь в окне ActiveX первые цифры/буквы, появляется выпадающее окно со списком из столбца С, который совпадает с набранными цифрами/буквами

[vba]
Код
Private Sub ComboBox1_Change()
    Dim arr As Variant, r&
    With ComboBox1
        If Len(.Value) = 0 Then Exit Sub
        arr = Application.Transpose([c3].Resize(Cells(Rows.Count, 2).End(xlUp).Row - 3).Value)
        On Error Resume Next
        .List = Filter(arr, ComboBox1.Value): .DropDown: DoEvents
        If UBound(.List) < 0 Then Application.SendKeys "{ESC}", 1
        r = Application.Match(IIf(IsNumeric(.Value), --.Value, .Value), arr, 0)
        If r Then Application.Goto Range("C3")(r), 1
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 23.05.2016 в 16:39
krosav4ig Дата: Понедельник, 23.05.2016, 15:51 | Сообщение № 1248 | Тема: Активация ячейки, значение которой находится в окне ActiveX
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
может так нужно?
[vba]
Код
Private Sub ComboBox1_Change()
    With ComboBox1
        Application.Goto Range(.ListFillRange)(.ListIndex + 1), 1
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 23.05.2016, 15:52
 
Ответить
Сообщениеможет так нужно?
[vba]
Код
Private Sub ComboBox1_Change()
    With ComboBox1
        Application.Goto Range(.ListFillRange)(.ListIndex + 1), 1
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 23.05.2016 в 15:51
krosav4ig Дата: Суббота, 21.05.2016, 20:45 | Сообщение № 1249 | Тема: Проверка ячеек на наличие в них формул
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
По секрету всему свету ...
у Range есть свойство .HasFormula
[vba]
Код
Function SumConstants(rng As Range)
    Dim cell As Range
    For Each cell In rng.Cells
        SumConstants = SumConstants - (Not cell.HasFormula) * cell
    Next
End Function
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеПо секрету всему свету ...
у Range есть свойство .HasFormula
[vba]
Код
Function SumConstants(rng As Range)
    Dim cell As Range
    For Each cell In rng.Cells
        SumConstants = SumConstants - (Not cell.HasFormula) * cell
    Next
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 21.05.2016 в 20:45
krosav4ig Дата: Суббота, 21.05.2016, 03:52 | Сообщение № 1250 | Тема: Разряд работника в отработанный день
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте. Массивная формула
Код
=ПРОСМОТР(;-1/МУМНОЖ((ДЕНЬ(дни)=M4)*(фио=M5)*C3:J20;ТРАНСП(дни^0));B3:B20)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте. Массивная формула
Код
=ПРОСМОТР(;-1/МУМНОЖ((ДЕНЬ(дни)=M4)*(фио=M5)*C3:J20;ТРАНСП(дни^0));B3:B20)

Автор - krosav4ig
Дата добавления - 21.05.2016 в 03:52
krosav4ig Дата: Пятница, 20.05.2016, 22:16 | Сообщение № 1251 | Тема: Исправить ошибочный ввод формата времени
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый вечер
На ячейки куда нужно писать время устанавливаем формат
Цитата
[>2]00":"00","00;мм:сс,00

и добавляем в Workbook_SheetChange код
[vba]
Код
    If Not Intersect(Target, sh.[E6:E105]) Is Nothing Then
        Target.Formula = Replace(Target.Text, ",", ".")
    End If
[/vba]
и теперь пишем время без разделителей, например, если нужно получить 00:03,12 , пишем 312, если нужно 10:00,15, пишем 100015
К сообщению приложен файл: 3-17.05.16-2-.xlsm (53.3 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 20.05.2016, 22:28
 
Ответить
СообщениеДобрый вечер
На ячейки куда нужно писать время устанавливаем формат
Цитата
[>2]00":"00","00;мм:сс,00

и добавляем в Workbook_SheetChange код
[vba]
Код
    If Not Intersect(Target, sh.[E6:E105]) Is Nothing Then
        Target.Formula = Replace(Target.Text, ",", ".")
    End If
[/vba]
и теперь пишем время без разделителей, например, если нужно получить 00:03,12 , пишем 312, если нужно 10:00,15, пишем 100015

Автор - krosav4ig
Дата добавления - 20.05.2016 в 22:16
krosav4ig Дата: Пятница, 20.05.2016, 21:48 | Сообщение № 1252 | Тема: Счет значений в заданном пределе.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
До кучи, "формульный" вариант (макрофункция)
К сообщению приложен файл: 2102880.xls (30.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 20.05.2016, 21:50
 
Ответить
СообщениеДо кучи, "формульный" вариант (макрофункция)

Автор - krosav4ig
Дата добавления - 20.05.2016 в 21:48
krosav4ig Дата: Пятница, 20.05.2016, 18:53 | Сообщение № 1253 | Тема: Счет значений в заданном пределе.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Ипалит, 140-158 это два числа 140 и 158, или все числа от 140 до 158 (нужно ли считать совпадения чисел 141, 142, 143 ... 157 ?)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеИпалит, 140-158 это два числа 140 и 158, или все числа от 140 до 158 (нужно ли считать совпадения чисел 141, 142, 143 ... 157 ?)

Автор - krosav4ig
Дата добавления - 20.05.2016 в 18:53
krosav4ig Дата: Четверг, 19.05.2016, 16:56 | Сообщение № 1254 | Тема: несколько xml файлов в один лист.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый день. Возможно
в свойствах карты выбираем добавлять новые, после этого ПКМ по таблице xml>импорт , выбираем файлы, жмем Открыть, данные из файлов добавляются в таблицу, не заменяя существующие


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 19.05.2016, 17:33
 
Ответить
СообщениеДобрый день. Возможно
в свойствах карты выбираем добавлять новые, после этого ПКМ по таблице xml>импорт , выбираем файлы, жмем Открыть, данные из файлов добавляются в таблицу, не заменяя существующие

Автор - krosav4ig
Дата добавления - 19.05.2016 в 16:56
krosav4ig Дата: Четверг, 19.05.2016, 04:27 | Сообщение № 1255 | Тема: Выбор данных. Сумма из двух листов.Ранжирование команд.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
нужно быть очень внимательным, чтобы не попутать запятые с двоеточием

если немного потанцевать с бубном, то время можно вводить вообще без двоеточий и запятых, тока это ужо в отдельной теме


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
нужно быть очень внимательным, чтобы не попутать запятые с двоеточием

если немного потанцевать с бубном, то время можно вводить вообще без двоеточий и запятых, тока это ужо в отдельной теме

Автор - krosav4ig
Дата добавления - 19.05.2016 в 04:27
krosav4ig Дата: Среда, 18.05.2016, 23:52 | Сообщение № 1256 | Тема: функция ВПР в макросе.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно так еще
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    With Application
        .EnableEvents = 0
        If Not Intersect(Target, Me.[B:B], Me.UsedRange) Is Nothing Then
            Target.Offset(, 12) = .IfError(.VLookup(Target, [заказчики], 2, 0), "")
        End If
        .EnableEvents = 1
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеможно так еще
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    With Application
        .EnableEvents = 0
        If Not Intersect(Target, Me.[B:B], Me.UsedRange) Is Nothing Then
            Target.Offset(, 12) = .IfError(.VLookup(Target, [заказчики], 2, 0), "")
        End If
        .EnableEvents = 1
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 18.05.2016 в 23:52
krosav4ig Дата: Среда, 18.05.2016, 23:39 | Сообщение № 1257 | Тема: Поиск части текста в ячейке из массива данных
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
fyx, добавил еще 1 имя в диспетчер имен
Код
ee    =ПОДСТАВИТЬ(" "&мои!B1;"№";ЕСЛИ(ЕОШ(ПОИСК("№";aa));"N";"№"))

и формула в столбце C
Код
=ЕСЛИОШИБКА(ВПР(;ЕСЛИ({1;0};МУМНОЖ(Ч(ЕСЛИОШИБКА(ПОИСК(dd;ee);)>1);cc^0)-bb;aa);2;);"")

общая формула без использования имен выглядит так %) :
Код
=ЕСЛИОШИБКА(ВПР(;ЕСЛИ({1;0};МУМНОЖ(Ч(ЕСЛИОШИБКА(ПОИСК(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(" "&$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A));" ";ПОВТОР(" ";999));ТРАНСП(СТРОКА($A$1:ИНДЕКС($A:$A;МАКС(ДЛСТР(0&$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)))+ДЛСТР(ПОДСТАВИТЬ($A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A));" ";))))))*999;999));ПОДСТАВИТЬ(" "&B1;"№";ЕСЛИ(ЕОШ(ПОИСК("№";$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A))));"N";"№")));)>1);СТРОКА($A$1:ИНДЕКС($A:$A;МАКС(ДЛСТР(0&$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)))+ДЛСТР(ПОДСТАВИТЬ($A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A));" ";)))))^0)-ДЛСТР(0&$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)))+ДЛСТР(ПОДСТАВИТЬ($A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A));" ";));$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)));2;);"")
К сообщению приложен файл: _7053441-1-.xlsx (18.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 18.05.2016, 23:40
 
Ответить
Сообщениеfyx, добавил еще 1 имя в диспетчер имен
Код
ee    =ПОДСТАВИТЬ(" "&мои!B1;"№";ЕСЛИ(ЕОШ(ПОИСК("№";aa));"N";"№"))

и формула в столбце C
Код
=ЕСЛИОШИБКА(ВПР(;ЕСЛИ({1;0};МУМНОЖ(Ч(ЕСЛИОШИБКА(ПОИСК(dd;ee);)>1);cc^0)-bb;aa);2;);"")

общая формула без использования имен выглядит так %) :
Код
=ЕСЛИОШИБКА(ВПР(;ЕСЛИ({1;0};МУМНОЖ(Ч(ЕСЛИОШИБКА(ПОИСК(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(" "&$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A));" ";ПОВТОР(" ";999));ТРАНСП(СТРОКА($A$1:ИНДЕКС($A:$A;МАКС(ДЛСТР(0&$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)))+ДЛСТР(ПОДСТАВИТЬ($A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A));" ";))))))*999;999));ПОДСТАВИТЬ(" "&B1;"№";ЕСЛИ(ЕОШ(ПОИСК("№";$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A))));"N";"№")));)>1);СТРОКА($A$1:ИНДЕКС($A:$A;МАКС(ДЛСТР(0&$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)))+ДЛСТР(ПОДСТАВИТЬ($A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A));" ";)))))^0)-ДЛСТР(0&$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)))+ДЛСТР(ПОДСТАВИТЬ($A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A));" ";));$A$1:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)));2;);"")

Автор - krosav4ig
Дата добавления - 18.05.2016 в 23:39
krosav4ig Дата: Вторник, 17.05.2016, 16:05 | Сообщение № 1258 | Тема: функция ВПР в макросе.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый день. Как-то по коду не очень понятно, чего нужно
может так?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = 0
    If Not Intersect(Target, Me.[B:B], Me.UsedRange) Is Nothing Then
        Target.Offset(, 12) = Application.VLookup(Target, [заказчики], 2, 0)
    End If
    Application.EnableEvents = 1
End Sub
[/vba]
К сообщению приложен файл: 9646404.xls (33.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 17.05.2016, 16:06
 
Ответить
СообщениеДобрый день. Как-то по коду не очень понятно, чего нужно
может так?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = 0
    If Not Intersect(Target, Me.[B:B], Me.UsedRange) Is Nothing Then
        Target.Offset(, 12) = Application.VLookup(Target, [заказчики], 2, 0)
    End If
    Application.EnableEvents = 1
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 17.05.2016 в 16:05
krosav4ig Дата: Вторник, 17.05.2016, 15:51 | Сообщение № 1259 | Тема: Выбор данных. Сумма из двух листов.Ранжирование команд.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
задержался с ответом, ибо не было доступа к компьютеру
в моем файле сводные автоматически обновляются макросом
команды с нулевой суммой мест выводятся внизу списка
К сообщению приложен файл: 1514914.xlsm (55.2 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениезадержался с ответом, ибо не было доступа к компьютеру
в моем файле сводные автоматически обновляются макросом
команды с нулевой суммой мест выводятся внизу списка

Автор - krosav4ig
Дата добавления - 17.05.2016 в 15:51
krosav4ig Дата: Понедельник, 09.05.2016, 15:49 | Сообщение № 1260 | Тема: С Днем Победы!
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Поздравляю с Днем Победы! Пусть ваша семья всегда живет под мирным небом, счастья, улыбок, смеха и радости, пусть никогда не придется вам и вашим близким познать горечь войны.
К сообщению приложен файл: 0919749.jpg (89.2 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеПоздравляю с Днем Победы! Пусть ваша семья всегда живет под мирным небом, счастья, улыбок, смеха и радости, пусть никогда не придется вам и вашим близким познать горечь войны.

Автор - krosav4ig
Дата добавления - 09.05.2016 в 15:49
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!