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

Вход

Регистрация

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

 

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

Результаты поиска
krosav4ig Дата: Вторник, 24.05.2016, 23:49 | Сообщение № 1261 | Тема: Активация ячейки, значение которой находится в окне 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 | Сообщение № 1262 | Тема: Активация ячейки, значение которой находится в окне 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 | Сообщение № 1263 | Тема: Суммирование текстовых значений
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1264 | Тема: Активация ячейки, значение которой находится в окне 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 | Сообщение № 1265 | Тема: Активация ячейки, значение которой находится в окне 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 | Сообщение № 1266 | Тема: Проверка ячеек на наличие в них формул
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1267 | Тема: Разряд работника в отработанный день
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1268 | Тема: Исправить ошибочный ввод формата времени
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1269 | Тема: Счет значений в заданном пределе.
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1270 | Тема: Счет значений в заданном пределе.
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1271 | Тема: несколько 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 | Сообщение № 1272 | Тема: Выбор данных. Сумма из двух листов.Ранжирование команд.
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1273 | Тема: функция ВПР в макросе.
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1274 | Тема: Поиск части текста в ячейке из массива данных
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1275 | Тема: функция ВПР в макросе.
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1276 | Тема: Выбор данных. Сумма из двух листов.Ранжирование команд.
Группа: Друзья
Ранг: Старожил
Сообщений: 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 | Сообщение № 1277 | Тема: С Днем Победы!
Группа: Друзья
Ранг: Старожил
Сообщений: 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
krosav4ig Дата: Понедельник, 09.05.2016, 03:05 | Сообщение № 1278 | Тема: Выбор данных. Сумма из двух листов.Ранжирование команд.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
А по сводному листу можно что-нибудь сделать?

не поверите, вставить сводную таблицу :) , правда с доп. столбцами справа и слева
в общем немножко похозяйничал в вашем файле, изменил формулу распределения мест и воткнул сводные на листы Женщины, Мужчины, Сводный
формула получилась такая
Код
=ЕСЛИ(E6<"";СЧЁТ(1/ЧАСТОТА(ЕСЛИ((E$6:E$105<=E6)*E$6:E$105;E$6:E$105);E$6:E$105));"")
К сообщению приложен файл: 2-.xlsm (55.1 Kb)


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

не поверите, вставить сводную таблицу :) , правда с доп. столбцами справа и слева
в общем немножко похозяйничал в вашем файле, изменил формулу распределения мест и воткнул сводные на листы Женщины, Мужчины, Сводный
формула получилась такая
Код
=ЕСЛИ(E6<"";СЧЁТ(1/ЧАСТОТА(ЕСЛИ((E$6:E$105<=E6)*E$6:E$105;E$6:E$105);E$6:E$105));"")

Автор - krosav4ig
Дата добавления - 09.05.2016 в 03:05
krosav4ig Дата: Суббота, 07.05.2016, 22:33 | Сообщение № 1279 | Тема: Поиск части текста в ячейке из массива данных
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
fyx, посмотрите еще вот такой вариант
Код
=ЕСЛИОШИБКА(ВПР(;ЕСЛИ({1;0};МУМНОЖ(Ч(ЕСЛИОШИБКА(ПОИСК(dd;ПОДСТАВИТЬ(" "&B1;"№";"N"));)>1);cc^0)-bb;aa);2;);"")

имена aa,bb,cc,dd смотрите в диспетчере имен
Код
aa    =мои!$A$1:ИНДЕКС(мои!$A:$A;СЧЁТЗ(мои!$A:$A))
Код
bb    =ДЛСТР(0&aa)-ДЛСТР(ПОДСТАВИТЬ(aa;" ";))
Код
cc    =СТРОКА(мои!$A$1:ИНДЕКС(мои!$A:$A;МАКС(bb)))
Код
dd    =СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(" "&aa;" ";ПОВТОР(" ";999));ТРАНСП(cc)*999;999))
К сообщению приложен файл: _7053441_.xlsx (18.9 Kb)


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

Сообщение отредактировал krosav4ig - Суббота, 07.05.2016, 22:33
 
Ответить
Сообщениеfyx, посмотрите еще вот такой вариант
Код
=ЕСЛИОШИБКА(ВПР(;ЕСЛИ({1;0};МУМНОЖ(Ч(ЕСЛИОШИБКА(ПОИСК(dd;ПОДСТАВИТЬ(" "&B1;"№";"N"));)>1);cc^0)-bb;aa);2;);"")

имена aa,bb,cc,dd смотрите в диспетчере имен
Код
aa    =мои!$A$1:ИНДЕКС(мои!$A:$A;СЧЁТЗ(мои!$A:$A))
Код
bb    =ДЛСТР(0&aa)-ДЛСТР(ПОДСТАВИТЬ(aa;" ";))
Код
cc    =СТРОКА(мои!$A$1:ИНДЕКС(мои!$A:$A;МАКС(bb)))
Код
dd    =СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(" "&aa;" ";ПОВТОР(" ";999));ТРАНСП(cc)*999;999))

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

Excel 2007,2010,2013
fyx, здравствуйте, нагородил монструозную массивную формулу, так пойдет?
Код
=ЕСЛИОШИБКА(ВПР(;ЕСЛИ({1;0};МУМНОЖ(Ч(ЕСЛИОШИБКА(ПОИСК(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(" "&A$1:A$88;" ";ПОВТОР(" ";999));СТОЛБЕЦ(СМЕЩ(A$1;;;;МАКС(ДЛСТР(0&A$1:A$88)-ДЛСТР(ПОДСТАВИТЬ(A$1:A$88;" ";)))))*999;999));ПОДСТАВИТЬ(" "&B1;"№";"N"));)>1);СТРОКА(СМЕЩ(A$1;;;МАКС(ДЛСТР(0&A$1:A$88)-ДЛСТР(ПОДСТАВИТЬ(A$1:A$88;" ";)))))^0)-ДЛСТР(0&A$1:A$88)+ДЛСТР(ПОДСТАВИТЬ(A$1:A$88;" ";));A$1:A$88);2;);"")
добавил сокращенный за счет имен вариант
К сообщению приложен файл: 7053441.xlsx (19.4 Kb)


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

Сообщение отредактировал krosav4ig - Суббота, 07.05.2016, 03:48
 
Ответить
Сообщениеfyx, здравствуйте, нагородил монструозную массивную формулу, так пойдет?
Код
=ЕСЛИОШИБКА(ВПР(;ЕСЛИ({1;0};МУМНОЖ(Ч(ЕСЛИОШИБКА(ПОИСК(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(" "&A$1:A$88;" ";ПОВТОР(" ";999));СТОЛБЕЦ(СМЕЩ(A$1;;;;МАКС(ДЛСТР(0&A$1:A$88)-ДЛСТР(ПОДСТАВИТЬ(A$1:A$88;" ";)))))*999;999));ПОДСТАВИТЬ(" "&B1;"№";"N"));)>1);СТРОКА(СМЕЩ(A$1;;;МАКС(ДЛСТР(0&A$1:A$88)-ДЛСТР(ПОДСТАВИТЬ(A$1:A$88;" ";)))))^0)-ДЛСТР(0&A$1:A$88)+ДЛСТР(ПОДСТАВИТЬ(A$1:A$88;" ";));A$1:A$88);2;);"")
добавил сокращенный за счет имен вариант

Автор - krosav4ig
Дата добавления - 07.05.2016 в 03:44
Поиск:

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