Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
построение таблицы по заданному условию цвета ячейки на основе имеющегося массива данных
 
Я не сильна в макросах. Нашла этот код.
Цель - сначала найти ячейки с заданной заливкой, а потом на основании отобранных строк построить новую таблицу
построение таблицы по заданному условию цвета ячейки на основе имеющегося массива данных
 
Добрый день! Подскажите, пожалуйста, что необходимо добавить в код макроса "по поиску определенного цвета ячейки", чтобы вывеси результат на отдельный лист.
Условия:
-имеются несколько листов с исходными данными
-необходимо вывести результат на один лист
-структура таблицы на выходе (в файле с примером)
Код
Sub FonColor()[P]Dim Rg As Range
For Each Rg In Range("A4:CJ3000")
If Rg.Interior.ThemeColor = 15257016 Then
End If
Next
End Sub

Заранее спасибо!
массовое копирование листов из нескольких книг в одну
 
Спасибо!
массовое копирование листов из нескольких книг в одну
 
ctrl c- ctrl v помогают, при копировании в новую книгу. Вот и подумала, может есть код, который заменит ctrl c- ctrl v и облегчит работу, при работе с массой таких защищенных книг
массовое копирование листов из нескольких книг в одну
 
Здравствуйте! Подскажите, пожалуйста, как можно решить задачу с массовым копированием листов из нескольких книг в одну новую, для последующей работы в них. В листах стоит защита.
Пользовалась этим кодом, но защита переносится в новую книгу. В них невозможно работать.
Код
Sub CombineWorkbooks()

Dim FilesToOpen
Dim x As Integer

Application.ScreenUpdating = False 'отключаем обновление экрана для скорости

'вызываем диалог выбора файлов для импорта
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="All files (*.*), *.*", _
MultiSelect:=True, Title:="Files to Merge")

If TypeName(FilesToOpen) = "Boolean" Then
           MsgBox "Не выбрано ни одного файла!"
           Exit Sub
End If

'проходим по всем выбранным файлам
x = 1

While x <= UBound(FilesToOpen)
Set importWB = Workbooks.Open(Filename:=FilesToOpen(x))

Sheets().Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

importWB.Close savechanges:=False
x = x + 1

Wend

Application.ScreenUpdating = True
End Sub
Поиск числового значения и возвращение результата по столбцам, подобно впр
 
Очень помогли! спасибо
Поиск числового значения и возвращение результата по столбцам, подобно впр
 
спасибо большое, сейчас буду пробовать
Поиск числового значения и возвращение результата по столбцам, подобно впр
 
спасибо. я попробую.  А с макросом то можете подсказать? сегодня мне нужен макрос )
Поиск числового значения и возвращение результата по столбцам, подобно впр
 
и все таки хотелось бы макрос, чтобы он сам сопоставлял заголовки столбцов и строк
Поиск числового значения и возвращение результата по столбцам, подобно впр
 
Здравствуйте, уважаемые знатоки Excel!
Хочу обратится к вам за помощью в написании макроса. Есть 2 листа: Лист1 - база, Лист2 - таблица куда надо перенести значения. До этого пользовалась ВПР, и для каждого столбца нужно было писать свою формулу(в реальности столбцов порядка 50). Хотелось бы заменить ВПР на макрос, для ускорения процесса.
Какие условия должны быть соблюдены:
1)Количество столбцов в реестрах разное
2)Шапка таблицы в 1 строке
3)номер заявки уникальный, без дубликатов. в 3 столбце всегда
4)Порядок столбцов разный

Ранее обращалась для написания макроса, но там задача была добавить в лист 2 только новые значения заявок. Думаю его можно изменить. Но я не знаю что конкретно изменить. Помогите, пожалуйста. Или есть уже подобные макросы...

Код
Sub Копирование_новых_заявок_с_перестановкой_столбцов()
    Dim sh1 As Worksheet: Set sh1 = Worksheets("выгрузка из базы")
    Dim sh2 As Worksheet: Set sh2 = Worksheets("Рабочий реестр")
      
    Dim y1 As Long
    Dim y2 As Long
    Dim x1 As Integer
    Dim x2 As Integer
      
    With sh1
        y1 = .Cells(.Rows.Count, 3).End(xlUp).Row
        x1 = .Cells(1, .Columns.Count).End(xlToLeft).Column
        Dim a As Variant
        Dim b As Variant
        a = .Range(.Cells(1, 1), .Cells(y1, x1))
        ReDim b(1 To 1, 1 To x1)
    End With
      
    With sh2
        y2 = .Cells(.Rows.Count, 3).End(xlUp).Row + 1
    End With
      
    Dim dic As Object
    Set dic = CreateObject("Scripting.Dictionary")
    For x1 = 1 To UBound(a, 2)
        If WorksheetFunction.CountIfs(sh2.Rows(1), a(1, x1)) > 0 Then
            dic(x1) = WorksheetFunction.Match(a(1, x1), sh2.Rows(1), 0)
        End If
    Next
      
    For y1 = 3 To UBound(a, 1)
        If a(y1, 3) <> "" Then
            If WorksheetFunction.CountIfs(sh2.Columns(3), a(y1, 3)) = 0 Then
                'sh1.Rows(y1).Copy sh2.Rows(y2)
                For x1 = 1 To UBound(a, 2)
                    If dic.Exists(x1) Then
                        x2 = dic(x1)
                    Else
                        x2 = UBound(a, 2)
                    End If
                    b(1, x2) = a(y1, x1)
                Next
                sh2.Cells(y2, 1).Resize(1, UBound(a, 2)) = b
                sh2.Rows(y2).Interior.Color = RGB(200, 255, 200)
                y2 = y2 + 1
            End If
        End If
    Next
End Sub
перенос обновленной информации в соседний лист по уникальному номеру
 
Спасибо большое! Очень помогли!
перенос обновленной информации в соседний лист по уникальному номеру
 
.
Изменено: Светлана - 17.12.2019 11:13:43
перенос обновленной информации в соседний лист по уникальному номеру
 
Цитата
Nordheim написал:
т.е не всей информацией может быть заполнена таблица?
да. не всей. код должен найти идентичный по наименованию столбец и добавить уникальные заявки
Цитата
Nordheim написал:
А вот это совсем интересно, если ставить акцент на слове "некоторых", то и заполнятся, только некоторые столбцы.
я и жду заполнения только по столбцам с идентичным именем в обоих таблицах


В любом случае спасибо за участие!  
перенос обновленной информации в соседний лист по уникальному номеру
 
Попробовала вариант из ответа №23. Ошибка 9. Может быть и правда все дело в разных массивах
Цитата
Kuzmich написал:
У вас на листе "Рабочий реестр" столбцов получилось больше чем на листе "выгрузка из базы",поэтому надо переопределить массив b по этому количеству столбцов
перенос обновленной информации в соседний лист по уникальному номеру
 
Nordheim, Kuzmich отвечаю на вопросы:

1) Количество столбцов в таблицах "Выгрузка из базы", "Рабочий реестр" может быть разное
2) Порядок столбцов разный
3) Наименование некоторых столбцов идентичное (идентичное написание)
перенос обновленной информации в соседний лист по уникальному номеру
 
проверочный С. остальные могут быть в ином порядке.  
Изменено: Светлана - 16.12.2019 16:46:11
перенос обновленной информации в соседний лист по уникальному номеру
 
нет. пользовалась первым вариантом. Сейчас попробовала. он работает, только не учитывает что порядок столбцов в "Рабочий реестр" может быть изменен. Как в этом случае изменить код?
Изменено: Светлана - 16.12.2019 16:19:45
перенос обновленной информации в соседний лист по уникальному номеру
 
спасибо. исправила. но теперь другая ошибка 9.
перенос обновленной информации в соседний лист по уникальному номеру
 
пример
перенос обновленной информации в соседний лист по уникальному номеру
 
Тестирую код на своем реестре, появляется ошибка 1004. С чем это может быть связано?  
Изменено: Светлана - 16.12.2019 13:09:59
перенос обновленной информации в соседний лист по уникальному номеру
 
Спасибо!  
перенос обновленной информации в соседний лист по уникальному номеру
 
Копирую код на свой рабочий файл с соблюдением номера столбца, в котором будет прописан номер заявки. В лист "рабочий реестр" переносятся все новые заявки, однако информация по столбцам перепутана, видимо код не сопоставляет заголовок столбца из 2 реестров.только номер заявки четко встает в 3 столбец. Как возможно изменить код?  
перенос обновленной информации в соседний лист по уникальному номеру
 
большое спасибо! сейчас попробую
перенос обновленной информации в соседний лист по уникальному номеру
 
Цитата
Nordheim написал:
В выгрузке не могут встретиться уже существующие в реестре номера заявки?
могут
перенос обновленной информации в соседний лист по уникальному номеру
 
до этого пользовалась ВПР. расположение идентичных по наименованию столбцов не соблюдено. вся информация завязана на уникальном номере заявки
перенос обновленной информации в соседний лист по уникальному номеру
 
Здравствуйте, помогите, пожалуйста, с макросом, либо формулой (чтобы не сильно утяжеляло исходный файл).

Что дано: исходный лист - "рабочий реестр", его необходимо обновлять по "выгрузке из базы". В которой каждый день появляются новые заявки (со всеми дополнительными данными - порядка 60 столбцов. Наименование столбцов в обоих реестрах идентичное.

Так вот, нужен такой макрос, который найдет уникальный номер заявки, скопирует ее в "рабочий реестр", а затем подтянет остальную информацию по этой заявке. А в конце еще и подсветит результат.Чтобы визуально видеть границу обновленного реестра.
разделить по ячейкам текст из одной ячейки
 
спасибо большое
разделить по ячейкам текст из одной ячейки
 
или разнести по столбцам
разделить по ячейкам текст из одной ячейки
 
Здравствуйте! Подскажите, пожалуйста, какую формулу лучше написать. В одной ячейке у меня перечень однотипных номеров (из 8 знаков), надо разнести эти номера - каждый в свою ячейку.чтобы их можно было посчитать
Подтянуть информацию из массива данных при соблюдении нескольких условий
 
Большое спасибо всем! Очень помогли!  
Страницы: 1 2 3 След.
Наверх