Страницы: 1
RSS
поиск по одному столбцу и замена данных в другом столбце, поиск по одному столбцу и замена данных в другом столбце
 
на листе1 поиск по товару и замена цены с листа2
объем большой, порядка 50000 строк.

Заранее спасибо
 
ВПР()
Согласие есть продукт при полном непротивлении сторон
 
altaman, Ещё вариант.
Код
Option Explicit

Sub UpdatePrices()
    Dim i           As Long
    Dim productName As String
    Dim newPrice    As Variant

    Dim ws1         As Worksheet
    Set ws1 = ThisWorkbook.Worksheets("Лист1")

    Dim ws2         As Worksheet
    Set ws2 = ThisWorkbook.Worksheets("Лист2")

    Dim lastRow1    As Long
    lastRow1 = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row

    Dim lastRow2    As Long
    lastRow2 = ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row

    Dim productDict As Object
    Set productDict = CreateObject("Scripting.Dictionary")

    Dim productData As Variant
    productData = ws2.Range("A2:B" & lastRow2).Value

    For i = LBound(productData, 1) To UBound(productData, 1)
        productName = productData(i, 1)
        newPrice = productData(i, 2)

        If Not productDict.Exists(productName) Then
            productDict.Add productName, newPrice
        End If
    
    Next i

    Dim priceData   As Variant
    priceData = ws1.Range("A2:B" & lastRow1).Value

    For i = LBound(priceData, 1) To UBound(priceData, 1)
        productName = priceData(i, 1)

        If productDict.Exists(productName) Then
            priceData(i, 2) = productDict(productName)
        End If
    Next i

    ws1.Range("A2:B" & lastRow1).Value = priceData

    Set productDict = Nothing
    Set ws2 = Nothing
    Set ws1 = Nothing

    MsgBox "Цены обновлены!"
End Sub
 
MikeVol,  куда этот код вставлять  8-0 , объясните чайнику)
 
altaman, Доброго времени суток и Добро Пожаловать на данный форум! Код что выше предоставил я вам вставляете в стандартный модуль книги. Более детально можете почитать по данной ссылке что да как, Создание макросов и пользовательских функций на VBAНу и файл пример прилагаю ниже для наглядности. Удачи.
 
Здравствуйте!
Уважаемые знатоки, прошу вас помочь мне разобраться.
Сделала два варианта:один со словарем, другой Join (наклацанный). Решила сравнить какой вариант будет предпочтительней (заранее предполагая, что словарь рулит). Увеличила число строк с данными до 12к и сделала замер времени выполнения запросов. Результат заставил меня задуматься, что я делаю не так? Где я опять намудрила...

pq v1_dict

pq v2_Join
 
Ma_Ri, дополнительные преобразования самой таблицы, которые с увеличением таблицы вниз и вправо будут давать еще большую разницу.

pq
pq v1
Изменено: sotnikov - 11.01.2025 21:34:37
 
Здравствуйте!
sotnikov,  :)  добрый день!
У Вас как всегда "быстро - быстрее - еще быстрее" (это я хорошо помню).
Скрытый текст
Но я же пока до результата доберусь, много преобразований сделаю...(
Благодарю за помощь  ;) , хорошего дня! )
Изменено: Ma_Ri - 12.01.2025 14:35:49
 
Всё очень интересно но непонятно, подошло ли какое-то решение для altaman
 
Спасибо за помощь, сделал ВПР формулу.

Еще вопрос, есть тут программисты? или куда обратится?

имеется DOS программа, которая из текстового файла собирает файл в определенном порядке, или можно как то реализовать это в EXCEL
Изменено: Sanja - 14.01.2025 03:03:30 (Одна тема - один вопрос)
 
altaman, Доброго времени суток. Пробуйте в данную ветку сайта обратится, возможно помогут вам.Там же всё можно и обговорить. Удачи.
 
понял, спасибо
Страницы: 1
Наверх