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

Задача вытащить данные по артикулам,которые прописаны в столбце R,построчно полностью от A до Q и вставить на другой лист в архив,при этом пустая строка после вырезания должна удалиться,и если можно это как то автоматизировать чтобы это сделать полностью весь массив ,а не по одному артикулу..
Спасибо!
 
В самой Базе данных артикулы в каком столбце?
И столбец R у Вас пустой, просто красиво покрашен оранжевым
Изменено: Sanja - 24.12.2016 09:18:46
Согласие есть продукт при полном непротивлении сторон
 
перепутал(,артикулы столбец S
 
Это которые переносить. А сам столбец с артикулами какой?
Изменено: Sanja - 24.12.2016 10:26:00
Согласие есть продукт при полном непротивлении сторон
 
Будем считать, что в столбце I
Код
Sub FromBazaToArhiv()
Dim arrArhiv()
Dim dicArt As Object
Application.ScreenUpdating = False
    arrBaza = Range("A2:Q" & Cells(Rows.Count, "I").End(xlUp).Row).Value
    arrArt = Range("S2:S" & Cells(Rows.Count, "S").End(xlUp).Row).Value
    Set dicArt = CreateObject("Scripting.Dictionary")
    For I = 1 To UBound(arrBaza)
        dicArt.Add arrBaza(I, 9), I
    Next
    For I = 1 To UBound(arrArt)
        If dicArt.Exists(arrArt(I, 1)) Then
            ReDim Preserve arrArhiv(UBound(arrBaza, 2), N)
            For J = 0 To UBound(arrArhiv) - 1
                arrArhiv(J, N) = arrBaza(dicArt(arrArt(I, 1)), J + 1)
            Next
            iRow = dicArt(arrArt(I, 1)) + 1 - N
            Range("A" & iRow & ":Q" & iRow).Delete Shift:=xlUp
            N = N + 1
        End If
    Next
With Worksheets("Архив БД")
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Range("A" & lRow).Resize(UBound(arrArhiv, 2) + 1, UBound(arrArhiv, 1)) = Application.Transpose(arrArhiv)
End With
Application.ScreenUpdating = True
End Sub


Согласие есть продукт при полном непротивлении сторон
 
Саня,круто!) Спасибо огромное! Все верно выборка столбец I  
 
Сань,установил в массив,переношу и выдает данную ошибку? что значит?
 
Значит что в Вашей базе есть НЕ уникальные артикулы. В примере такого не было. Код надо пересматривать. Возможно завтра
Согласие есть продукт при полном непротивлении сторон
 
Код
dicArt.Add arrBaza(I, 9), I

что-то здесь надо поменять..
а число 9 на что указывает? номер столбца колонки I?

на эту строку указывается если нажимаешь дебаг
Изменено: white-hot - 26.12.2016 01:22:21
 
Цитата
white-hot написал:
что-то здесь надо поменять..
Нет. Я бы от словаря перешел на коллекцию
Согласие есть продукт при полном непротивлении сторон
 
да наверняка есть не уникальные..
 
Цитата
Sanja написал: от словаря...на коллекцию
Оставил словарь, только заполнил его другими значениями. Список артикулов, которые нужно перенести (столбец S) должен быть уникальным
Скрытый текст
Согласие есть продукт при полном непротивлении сторон
 
Саш, круто 711 строк из 17 столбцов перенеслись за 33:55 мин,засек..)
Саш,а с обратным процессом поможете,здесь обновляя выдергивали данные,а мне нужно еще вставить...,кидану файл с идеей?
Изменено: white-hot - 30.12.2016 22:22:59
 
white-hot, у нас на форуме к незнакомым людям принято обращаться на ВЫ.
 
Цитата
white-hot написал: а с обратным процессом поможешь
Философия форума отличается от Вашего представления о нем. Это не халявная авторешалка ВАШИХ комплексных проблем, а помощь конкретному пользователю, по КОНКРЕТНЫМ вопросам, которая может пригодиться МНОГИМ. Поэтом, если вопрос не относится к заявленной теме, то создайте новую, но с только с одним, конкретным вопросом. Опять-же не "сделайте все за меня", а "я попробовал так-то и так-то, мои потуги в файле-примере, но не работает из-за ошибки в такой-то строке МОЕГО кода". Как-то так

А по этой теме:
Цитата
white-hot написал: перенеслись за 33:55 мин
это 33 МИНУТЫ?
Согласие есть продукт при полном непротивлении сторон
 
создать новую тему несложно..,помочь многим согласен,но только характер обращения особо не будет отличаться от просьбы в этой ветке,времени на изучение VBA реально нет,а по изучению файл с БД поменяется 123 раза,указание на философию без осуждения понимаю,переходя к конкретике озвучьте где выложить файл в общем доступе или в личку?,готов оплатить написание скрипта..

да 33 минуты..
Изменено: white-hot - 30.12.2016 22:42:56
 
33 минуты - это ОЧЕНЬ долго...
Цитата
white-hot написал:
готов оплатить написание скрипта..
Перенести тему в платный раздел?
 
в платный я хотел другую тему..,или вы из-за времени? меня 33 минуты устраивает,получается можно быстрее?, и я жду ответ Александра..
Изменено: white-hot - 30.12.2016 22:58:45
 
Это Вы сами решайте: переносить или оставить здесь ) За темой не следил, но, на мой взгляд, для "711 строк из 17 столбцов" это ОЧЕНЬ долго.
Я поначалу даже подумал, что Вы перепутали минуты с секундами ))
 
Юрий М,наверно ,но у каждого свои сравнения ,я сравнил с ручным изменением))
 
Я правильно понимаю, что в файле-примере из стартового сообщения нужно в "Архив" переместить 3 (три) строки?
Или ВСЕ строки, в которых будут найдены эти три артикула из столбца S?
 
Да, это ОЧЕНЬ много. В файле еще какие-то макросы работают?
P/S/ Я не Саня и не Александр, просто ник такой  :) ;)
Согласие есть продукт при полном непротивлении сторон
 
Юрий М,да верно три строки поскольку там их три в базе - столбец I,артикул из столбца S
Изменено: white-hot - 30.12.2016 23:14:02
 
Sanja,да,только один этот для переноса..,взял отсюда и вставил БД..
понял несаша),только ответа на мой вопрос от 30 Дек 2016 22:40:38 не последовало ни где...,?
Изменено: white-hot - 30.12.2016 23:23:28
 
Цитата
white-hot написал:
верно три строки
Тогда ещё вопрос: а может, например, артикул PPG30010AR встретиться в диапазоне НЕСКОЛЬКО раз?
 
Юрий М, да, это уже выше обсуждали, артикулы в Базе могут быть НЕ уникальны
Согласие есть продукт при полном непротивлении сторон
 
Юрий М,он может встретиться в другом столбце одноименной строки,и может быть дубль да..
 
Цитата
white-hot написал:
может встретиться в другом столбце одноименной строки
В другом - это в каком? В столбце J?
Переформулирую вопрос:
1. В пределах столбца i артикул может повториться?
2. Искать только в этих двух (i и j) столбцах?
 
нет ориентир столбец I,идентификатор позиции его данные - артикул
 
Цитата
Юрий М написал:
В пределах столбца i артикул может повториться?
Страницы: 1 2 След.
Читают тему
Наверх