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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 74 След.
При совпадении наименования получить его цену
 
Обменялись
При совпадении наименования получить его цену
 
Цитата
Шерзод Маткаримов написал:
Нужен код который просматривает оцениваемую ячейку, и если в этой ячейке находятся слова указанные в 3х столбцах, то получить цену.
Ок. Отправил вам в личное сообщение второй макрос
Изменено: New - 6 май 2021 09:20:51
При совпадении наименования получить его цену
 
Давайте попробую вам помочь
P.S. Вы же в курсе, что это платный раздел форума?
P.P.S. Вы либо приложили неверные файл-пример, либо то, что вы описали в вашем сообщение (и в коде макроса) -  это нерабочий вариант. Цены по такому критерию никогда не найдутся и не подставятся. На листе "СПИСОК ДЛЯ ОЦЕНКИ" нет таких ячеек "ИМЯ", "СПЕЦ.", "СПЕЦ. 2" (например, МУФТ, ПЕРЕХОД, 40Х32 или имя КЛИПС) - соответственно цена никогда не будет найдена. Сравнение можно производить по Полному наименованию товара и Ед.Изм. - по этим двум столбцам можно искать корректную цену
Изменено: New - 6 май 2021 09:03:20
Заполнение бланка путевого листа по данным, взятым из excel таблицы, Автоматическое заполнение бланка путевого листа по имеющимся данным
 
Пишу в личку.

P.s. Юлия ищет нужную форму путевого листа в Excel формате
Изменено: New - 5 май 2021 18:59:19
Заполнить таблицу
 
Это сделано с помощью макроса. Формул в таблице нет
Обменялись
Изменено: New - 3 май 2021 13:45:51
Заполнить таблицу
 
Вот так подойдёт (фото части таблицы)?
Изменено: New - 3 май 2021 00:59:29
Добавление элементов в динамический двумерный массив из драгого массива
 
тут главное прочитать зелёные комментарии

Код
Sub Пример()
    Dim i As Long, Counter As Long, myArr
    Dim Criterial As String, RowTarget As Range, Result
    
    Criterial = Cells(7, 1)
    Set RowTarget = Range("A10")
    myArr = Range("H1:J5")
    ReDim Result(1 To UBound(myArr, 1), 1 To 2) 'вот тут задаём размер точно такой же как и myArr (как бы если все будут ИВАНОВ) и в ширину 2 столбца, но начиная с единицы и у строки и у столбца
    'очень важное - массив не должен иметь нулевой номер строки или столбца, т.е. надо делать Redim Result (1 to миллион), а не Redim Result (0 to миллион) - т.к. Excel не имеет нулевой строки или столбца
    For i = LBound(myArr, 1) To UBound(myArr, 1)
        If myArr(i, 1) = Criterial Then
            Counter = Counter + 1 'если нашли Иванова, то увеличиваем счётчик на 1
            Result(Counter, 1) = myArr(i, 2) 'в первый столец Result записываем число
            Result(Counter, 2) = myArr(i, 3) 'во второй столбец Result записываем группу
        End If
    Next i
    'выгружаем массив на лист - Result не должен начинаться с нулевой первой размерности, а только с единицы - у Excel нет нулевой строки или столбца, есть 1,2,3 и т.д.
    'Counter - это кол-во заполненных строк в Result (хотя мы и определили сперва его размерность больше), но на лист будем выгружать только нужное кол-во строк, которы мы заполнили
    'UBound(Result, 2) - это кол-во столбцов у Result (хотя можно поставить просто цифру 2, т.к. мы знаем, что у Result только 2 столбца)
    RowTarget.Resize(Counter, UBound(Result, 2)).Value = Result
    'можно выгружать и полностью весь Result
    'RowTarget.Resize(UBound(Result, 1), UBound(Result, 2)).Value = Result
End Sub
Изменено: New - 1 май 2021 12:18:55
Вывод данных в textbox-ы при выборе из 2-ух combobox-в.
 
Код
Private Sub ComboBox2_Change()
Dim RngRow As Range, RngCol As Range, LastCol As Long

    Set sh = Sheet1

    If Me.ComboBox2.Text <> "" Then 'если выбрали Item
        With sh
            Set RngRow = .Columns(3).Find(Me.ComboBox1.Text, , xlFormulas, xlWhole) 'ячейка в столбце С выбранного А
            LastCol = .Cells(RngRow.Row, .Columns.Count).End(xlToLeft).Column 'номер последнего столбца по выбранной строке А
            Set RngCol = .Rows(1).Find(Me.ComboBox2.Text, , xlFormulas, xlWhole) 'ячейка в первой строке выбранного В

            Me.TextBox1.Text = .Cells(RngRow.Row, RngCol.Column).Value 'Qty of items
            Me.TextBox2.Text = .Cells(2, RngCol.Column).Value 'Price of item (из второй строки)
            Me.TextBox3.Text = .Cells(RngRow.Row, LastCol).Value 'Totals
        End With
    End If
End Sub
Как посчитать сумму значений при удовлетворении 2-х условий
 
Нам лучше файл Excel
Как подтянуть данные из одной таблицы в другую, если критерий отбора данных является заголовком одной из таблиц
 
Не знаю, я не специалист по формулам, а специалисты молчат...
Обновление прайса с помощью макроса
 
Код
Sub UpdatePrice()
    Dim arrA, arrB, oDict As Object, i As Long
 
    With Worksheets("A")
        arrA = .Range("A1:D" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    End With
     
    With Worksheets("B")
        arrB = .Range("A1:D" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    End With
     
    Set oDict = CreateObject("Scripting.Dictionary")
    oDict.comparemode = 1
     
    For i = 2 To UBound(arrB, 1)
        If Not oDict.exists(arrB(i, 1)) Then oDict.Item(arrB(i, 1)) = arrB(i, 4)
    Next i
     
    For i = 2 To UBound(arrA, 1)
        If oDict.exists(arrA(i, 1)) Then
            If oDict.Item(arrA(i, 1)) <> arrA(i, 4) Then arrA(i, 4) = oDict.Item(arrA(i, 1))
        End If
    Next i
     
    With Worksheets("A")
        .Range("A1").Resize(UBound(arrA, 1), UBound(arrA, 2)).Value = arrA
    End With
        
    MsgBox "Цены обновлены!", vbInformation, "Конец"
End Sub
Разнесение значений по разным листам внутри одной книги по АДРЕСУ
 
См. файл
Записать данные диапазона столбцов в один столбец
 
Цитата
Иван Иванов написал:
есть какая-нибудь универсальная формула?
да, это макрос
Изменено: New - 29 апр 2021 18:11:42
объединение ячеек первой строки по условию третьей строки
 
от вас нужен небольшой файл Excel с данными. Никто не будет писать макрос по картинке. В файле покажите какие данные есть и рядом (или на соседнем листе) как должен выглядеть конечный результат
Изменено: New - 29 апр 2021 17:57:36
Формула должна отобразить 0 если ячейка пустая
 
есть разные пути, например
=ЕСЛИ(C39="";0;C39/C22-100%)
Изменено: New - 29 апр 2021 17:52:33
Записать данные диапазона столбцов в один столбец
 
блин, а я уже макрос написал... эх, ладно может кому-нибудь другому поможет
Записать данные диапазона столбцов в один столбец
 
ужасть, а не описание задачи )
1. В какой столбец?
2. Формулами или макросом или без разницы?
Изменено: New - 29 апр 2021 17:40:52
Закрыть UserForm после выполнения макроса
 
Код
Private Sub CommandButton1_Click()
    Me.Hide
    Range("A2:H20").PrintPreview
    Unload Me
End Sub
Как подтянуть данные из одной таблицы в другую, если критерий отбора данных является заголовком одной из таблиц
 
См. файл
Обновление прайса с помощью макроса
 
Ничего классного нет... Лучше использовать ВПР )
Изменено: New - 29 апр 2021 14:08:25
Обновление прайса с помощью макроса
 
Код
Sub Result()
Dim arrA, arrB, oDict As Object, i As Long

    With Worksheets("A")
        arrA = .Range("A1:D" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    End With
    
    With Worksheets("B")
        arrB = .Range("A1:D" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    End With
    
    Set oDict = CreateObject("Scripting.Dictionary")
    oDict.comparemode = 1
    
    For i = 2 To UBound(arrB, 1)
        If Not oDict.exists(arrB(i, 1)) Then oDict.Item(arrB(i, 1)) = arrB(i, 4)
    Next i
    
    For i = 2 To UBound(arrA, 1)
        If oDict.Item(arrA(i, 1)) <> arrA(i, 4) Then arrA(i, 4) = oDict.Item(arrA(i, 1))
    Next i
    
    With Worksheets("A")
        .Range("A1").Resize(UBound(arrA, 1), UBound(arrA, 2)).Value = arrA
    End With
    
End Sub
Изменено: New - 29 апр 2021 14:07:48
Копирование отфильтрованных данных таблицы
 
Меня зовут Павел. У нас на форуме сидят куча специалистов, если у вас возникают какие-либо сложности создавайте тему, прикладывайте небольшой пример в файле Excel и вам быстро помогут. Удачи.
Обновление прайса с помощью макроса
 
Может так (через ВПР) ?

Код
    With Worksheets("A")
        With .Range("D2:D" & .Cells(.Rows.Count, 1).End(xlUp).Row)
            .FormulaLocal = "=ВПР(A2;B!A:D;4;0)"
            .Value = .Value
        End With
    End With
Изменено: New - 29 апр 2021 12:22:34
Обновление прайса с помощью макроса
 
А можно словами описать задачу? Для оформления код есть специальный тег и кнопочка <...> на панельке, над текстом, который вы пишите сообщение.
Если есть уникальный ID, то можно воспользоваться функцией ВПР()
Изменено: New - 29 апр 2021 12:17:04
Копирование отфильтрованных данных таблицы
 
приложите небольшой пример (строк 10-20-30) в файле Excel и покажите в нём как должен выглядеть конечный результат (можно на соседнем листе)
P.S. А если выделять только видимые ячейки и их копировать? Выделяете область - F5 - Выделить - Только видимые ячейки - ОК - Ctrl+C на другом листе Ctrl+V
Изменено: New - 28 апр 2021 20:56:20
Из диапазона с текстами фильтровать только артикулы
 
Иван Обломов,  могу предложить такой вариант.
В любом пустом столбце вводите эту формулу и протягиваете её вниз
=ЕЧИСЛО(--ЛЕВСИМВ(N2))
там будут в столбец идти ЛОЖЬ, ЛОЖЬ, ИСТИНА, ЛОЖЬ, ИСТИНА - ставите фильтр и фильтруете по ИСТИНА
Изменено: New - 28 апр 2021 16:51:57
Из диапазона с текстами фильтровать только артикулы
 
МатросНаЗебре, тогда не попадут артикулы, которые содержат буквы, например 448-E, 222-Ф и т.д. (будут отсортированы только чистые числа 322, 228, 777), а ТС надо все, которые начинаются на число
Изменено: New - 28 апр 2021 16:34:25
Поиск текста на всех листах книги
 
Код
Sub test()
Dim Rng As Range, Sht As Worksheet

    For Each Sht In Worksheets 'цикл по всем листам в файле
        Set Rng = Sht.Cells.Find("текст для поиска", , xlFormulas, xlWhole) 'xlWhole - ячейка целиком, xlPart - часть ячейки
        If Not Rng Is Nothing Then 'если нашли
            MsgBox "Найдено на листе " & Rng.Parent.Name & " в ячейке " & Rng.Address(0, 0), vbInformation, "Конец"
            Exit Sub
        End If
    Next Sht
    If Rng Is Nothing Then 'если не нашли
        MsgBox "Не найдено ни на одном листе!", vbExclamation, "Конец"
    End If
End Sub
Как получить в макросе код цвета ячейки?
 
в записи макроса я заменяю слово Selection на Range("A1"). Это не сложно и для вас
Изменено: New - 28 апр 2021 15:42:47
Как получить в макросе код цвета ячейки?
 
Код
Range("A1").Font.Color = -16776961

Как вы думаете я пишу все эти коды, которые я показал вам в каждом своём сообщении?
Включаю запись макроса, меняю цвет ячейки, останавливаю макрос, корректирую его и выкладываю вам на форум
и так уже 5-й раз за вас
Изменено: New - 28 апр 2021 15:38:07
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 74 След.
Наверх