Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 714 След.
Получение уникального кода для товара
 
Алексей, ссылка поплыла...
String_Hashing_in_VBA
Получение уникального кода для товара
 
Может проще брать хэш? Готовые функции есть, результат уникален, и не особо длинный, правда не знаю как будет по ресурсам, да и вид у него посложнее одного числа.
Ну а сумма вряд ли будет уникальной - вот сколько у Вас товаров?
Изменено: Hugo - 15 Окт 2018 21:12:41
Поиск слов в списке фраз по списку неточных соответствий, ускорение процесса поиска
 
Чёт не очень получается ускорить...
Но вот подумайте над данными - например там есть такое:
букет
букета
букетах
букетик
букетов
букеты

Вот зачем искать 5 последующих, если уже искали первое?
Изменено: Hugo - 14 Окт 2018 23:16:50
Как перенести цвета с одного диапазона в другой?
 
Нате.
Если нужен именно перенос - удалите исходник:)
P.S. Или нужно было поправить макрос? Так почему об этом ни слова
Код
r.Cells(i).Interior.Color = t.Cells(i).Interior.Color
Изменено: Hugo - 14 Окт 2018 22:32:58 (файл удалил, лишнее...)
Из текста удалить повторяющийся символ и вставить дополнительный фрагмент
 
Можно и макрос написать (или даже удобнее код оформить в файл *.vbs, чтоб вообще Эксель не использовать) - код может все указанные csv файлы привести к нужному виду, просто убив тире в первом "столбце" и добавив после него 6 нулей. Но это зависит от задачи, которая нам неизвестна.
Запись в массив двух столбцов и выбор и сумма по критерию
 
Ответил в другом месте - используйте окно Locals.
ВПР стал тормозить и виснуть ., большой файл .
 
Цитата
vikttur написал:
мощный табличный процессор
- как-то после всего выше написанного вызывает улыбку :)
Помогите написать макрос для отбора значений по условию
 
Гденить правее протянуть
Код
=И(A4=F4;A4=K4;A4=P4;A4=U4)

отфильтровать и удалить.
Изменено: Hugo - 12 Окт 2018 20:52:27
Перенос текстовых записей - из файла txt, в таблицу xls (с учетом текстового символа-ключа стоящего вначале каждой записи)
 
Цитата
mv6677 написал:
Трех пустых строк или одной пустой строки -  в текстовом файле быть не может.  Их всегда только две, поскольку это - разделитель.
- см. #4 :)
И не ответили про пробелы - ведь если есть пробел - это уже не пустой блок!
Еслиб не пробелы - то вот думаю так можно найти куда писать очередные данные:
Код
Sub tt()
    Dim lastrow&, nextrow&
    
    With ActiveSheet
        lastrow = Application.Max(.Cells(.Rows.Count, 8).End(xlUp).Row, .Cells(.Rows.Count, 9).End(xlUp).Row, .Cells(.Rows.Count, 10).End(xlUp).Row, .Cells(.Rows.Count, 11).End(xlUp).Row, .Cells(.Rows.Count, 12).End(xlUp).Row)
        nextrow = Application.Ceiling(lastrow / 3, 1) * 3 + 1
    End With

End Sub

ну а пока пробелы - я лучше подожду :)
Изменено: Hugo - 11 Окт 2018 22:37:45
Определить материалы, входящие в продукцию заказа
 
Код
Option Explicit

Sub dakine55()    'коллекция в словаре
    Dim a, b, i&, t$, Dic As Object
    Dim el, x&

    With Sheets("Материалы")
        a = .Range("C3", .Cells(.Rows.Count, "A").End(xlUp)).Value
    End With

    Set Dic = CreateObject("Scripting.Dictionary")
    With Dic
        .CompareMode = 1
        For i = 1 To UBound(a)
            t = a(i, 3)
            If Not .exists(t) Then .Add t, New Collection
            .Item(t).Add i
        Next
    End With

    b = Sheets("Заказ").[a7].CurrentRegion.Value
    ReDim c(1 To UBound(a), 1 To 3)
    x = x + 1
    c(x, 1) = "Материалы"
    c(x, 2) = "кол-во"
    c(x, 3) = "Продукция"
    For i = 1 To UBound(b)
        t = b(i, 2)
        If Dic.exists(t) Then
            For Each el In Dic.Item(t)
                x = x + 1
                c(x, 1) = a(el, 1)
                c(x, 2) = a(el, 2) * b(i, 4)
                c(x, 3) = t
            Next
        End If
    Next

    With Workbooks.Add(1).Sheets(1).Cells(1).Resize(x, 3)
        .Value = c
        .Columns.AutoFit
    End With
End Sub
Определить материалы, входящие в продукцию заказа
 
Не, ВПР там не годится.
Но если делать макросом - могу подсказать: сперва циклом по материалам собираете в словарь (с коллекцией) номера строк или непосредственно набор материалов с количеством для каждого экземпляра продукции (с коллекцией проще код), затем в цикле по заказам формируете результат - есть что, есть сколько штук, есть где взять уже без поиска материал и его количество.
Как получить последний известный курс доллара из списка на указанную дату?
 
А где в задании упоминался ЦБ РФ, да и вообще рубль? :)
Как получить последний известный курс доллара из списка на указанную дату?
 
Не, т.к. 18 - это понедельник, должен быть свой курс. И я бы не рискнул считать что угодно по курсу на пятницу, когда вполне может быть, что в понедельник курс был сильно другим :(
Вообще на сайтах банков есть курсы на все дни, и на выходные тоже.
Сцепить с условиями в зависимости от количества столбцов и добавить символы
 
Тут думаю своя UDF хорошо ляжет, только вот для первой нужно писать особую. Или менять пример.
Изменено: Hugo - 3 Окт 2018 22:51:12
Ошибка при применении Select Case
 
Или
Код
Select Case True
Из столбцов копировать данные в txt файлы
 
Не нашли на форуме правила? :)
перенос данных, как с одного листа перенести текстовые данные из столбца по заданным значениям из другого столбца на другой лист?
 
Формулы не могут ничего переносить, они только выводят результат своих вычислений, никак не влияя на источники данных.
А если нужно не переносить, а копировать - то как всегда поможет ВПР, правда в данном случае в паре с ЕСЛИ.
Правда не понял почему источник скачет, но впрочем указывайте формуле сами откуда брать значения.
Изменено: Hugo - 30 Сен 2018 17:47:49
Своя обработка для любых файлов excel. Как делать?
 
Да, должен быть открыт файл с макросом, а как иначе? И этот файл может быть или обычным другим файлом, или персональной книгой (которую не видно), или надстройкой.
Хотя можно и иначе - пишите скрипт в файле vbs (в целом почти тот же VBA код), далее остаётся его выполнить даблкликом например. А там уже смотря как и что напишите в коде.
Своя обработка для любых файлов excel. Как делать?
 
Цитата
Zaxvatov написал:
Как мне сделать, чтобы использовать мою обработку для любого файла
- просто выполнить её для любого другого файла :)
Но конечно есть возможность,что макрос написан так, что будет обрабатывать только один определённый лист определённого файла - но это частный случай. А вообще макрос из любого стандартного модуля любой книги может обрабатывать любую другую книгу.
макрос не подставляет курсы валют при корректной ссылке на веб-сервис
 
Я подшаманил одну UDF.
А в общем случае нужно учесть, что иногда бывают ещё и делители! (см. ИРАНСКИЙ РИАЛ)
Изменено: Hugo - 28 Сен 2018 22:56:29
Макрос для отбора уникальных значений из ОГРОМНОГО массива, Нужны только уникальные значения
 
Лень искать есть ли Эксель 2016 х32, но у меня работает х32  Эксель2010, хотя система х64
Изменено: Hugo - 26 Сен 2018 23:41:14
Макрос для отбора уникальных значений из ОГРОМНОГО массива, Нужны только уникальные значения
 
Цитата
Михаил С. написал:
Берете UsedRange в массив
- и вот тут вполне может быть out of memory :(
Особенно если данных много, или usedrange юзер создал на весь лист, или офис х32 - это пока никто не уточнял...
Но в общем пофиг, можно в массив брать по столбцу, сразу и определить максимальную длину, а собирать всё в коллекцию, а оттуда перегрузить в созданный под нужный размер массив (если памяти конечно хватит, а если нет - то в массивы), и это в финале выгрузить в новую книгу/лист/куда угодно.
VBA-Как найти дубли в таблице
 
Цитата
_Igor_61 написал:
откуда берутся (т.е. когда и как и каким образом) присваиваются значения вот этим зверькам: el и col
- в строках 13 и 14
Если нет элемента в верхнем словаре - он заводится, далее в любом случае в словарь этого элемента словаря добавляется значение.
VBA-Как найти дубли в таблице
 
Цитата
_Igor_61 написал:
словари пока для меня - темный лес
- есть у меня практически готовый пример кода, скорректировал только вывод (чисто демонстрация перебора содержимого, для задачи не нужно):
Код
Option Explicit

Sub Perebor() ' словарь в словаре
    Dim a, i&, t$, Dic As Object, Dic2 As Object
    Dim el, col
    
    a = Range("C2", Cells(Rows.Count, "A").End(xlUp)).Value
    Set Dic = CreateObject("Scripting.Dictionary")
    With Dic
        .CompareMode = 1
        For i = 1 To UBound(a)
            t = a(i, 2)
            If Not .exists(t) Then .Add t, CreateObject("Scripting.Dictionary")
            .Item(t).Item(a(i, 1)) = a(i, 3)
            
        Next
    End With
    
    For Each el In Dic.keys
        Debug.Print "В каталоге " & el
        Set Dic2 = Dic.Item(el)
        For Each col In Dic2.keys
            Debug.Print "С хэшем " & col & " должен быть файл" & Dic2.Item(col)
        Next
        Debug.Print "Переход в каталог " & el
    Next

End Sub

Нужно сюда навесить ещё один словарь, где ключём ставить хэш, а итемом каталог.
Далее проверяете свои файлы, вероятно циклом по каталогам, в нём по файлам - берёте хэш проверяемого первого файла, сверяетесь с словарём хэшей - если есть, то извлекаете (в копию) из словаря словарей словарь конкретного каталога с всеми другими хэшами (ключ для поиска берёте из первого словаря, где ключи хэши). и проверяете чтоб все хэши/файлы из конкретного проверяемого каталога были в этом словаре, можно проверить и чтоб не было лишних там и там, в общем смотря что нужно.
Ну а если сразу хэш не нашли - можно вероятно брать следующий первый файл следующего каталога.
Ну как-то так, не сложно в целом :)
Изменено: Hugo - 25 Сен 2018 22:31:14
Как макросом осуществить поиск определённой фразы в ячейке?, Подскажите, как правильно написать команду в макросе. Заранее спасибо.
 
А сколько всего записей? Если как говорите их слишком много, и например из десятков тысяч нужно отобрать только десяток-два, то значительно время уйдёт на перебор ячеек, поэтому я бы порекомендовал или перебирать массив, или может вообще отсортировать лист, чтоб сгруппировать те строки, которые нужно обработать, и не прибегать к длинным циклам вообще.
Ну а если строк всего до тысячи - тогда особой разницы нет как делать...
Разделить буквы и цифры
 
Цитата
Баян написал:
у меня перенесло весь текст ( цифры с буквами ) подскажи пож. что именно выбрать что бы только числа вынести ?
выбрать "фиксированной ширины" и далее собственно позицию по которой нужно делить.
Хотя вот именно "что бы только числа вынести" не получится в данном случае, да и не было речи про числа - ЦИФРЫ останутся на месте, остальное перенесётся.
Изменено: Hugo - 22 Сен 2018 23:21:30
Как удалить пустые категории без товара из списка
 
Цитата
skvitali написал:
знать бы куда их еще засунуть
- достаточно просто ещё раз скопировать код :)
Длинные числа в CSV
 
Цитата
BeatCrusher написал:
Сохраняю, закрываю
- а вот тут забыли в блокноте посмотреть.
Выпадающие зависимые списки, Нужна помощь не могу разобраться с зависимыми списками
 
Цитата
ReMade написал:
очень бы помогло
- ну не знаю... :)
Более 5-ти лет прошло...
Выпадающие зависимые списки, Нужна помощь не могу разобраться с зависимыми списками
 
Делал тут уже не раз такие списки макросом, формируя динамически строку используя словарь, но есть в таком подходе жирный минус - если строка длинная, то Эксель ругается при открытии. Так что лучше данные брать с листа, из диапазона.
А в данной задаче, когда там всего 5 этих румов - думаю все списки можно заготовить как описано по первой ссылке, а далее тянуть сразу все данные тем же ВПР() из заранее составленных таблиц.
Изменено: Hugo - 16 Сен 2018 22:01:14
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 714 След.
Наверх