Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
126 / 44 / 1
Регистрация: 04.11.2011
Сообщений: 241

Поиск и замена значений между двумя книгами

02.02.2020, 21:07. Показов 1736. Ответов 4

Студворк — интернет-сервис помощи студентам
Добрый вечер! Прошу подсказать с реализацией в коде.
Есть книга(База) со структурированным расположением информации, и книга(Выгрузка) - результат выгрузки из другой системы (актуальная информация).
Алгоритм я вижу следующий:
1) В книге(База) взять значение из столбца B, проверить что оно начинается на 30 (там есть другие значения и пустые ячейки). В примере выделены жёлтым.
2) Найти в книге(Выгрузка) строку со значением п.1 по столбцу А до первого вхождения (они уникальные).
3) Взять значения из колонок E и F в найденной строке и вставить в книгу(База) в колонки F и G.

Заранее спасибо за ответы
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.02.2020, 21:07
Ответы с готовыми решениями:

Помогите сделать выбор между двумя книгами
Хотел бы летом углубить свои знания по программированию на C++, поэтому решил купить книгу. Колеблюсь между этими двумя: C++ для...

Выбор между двумя книгами для изучения Java
Хорстманн К.С., Корнелл Г. - Java 2. Том 1. Основы или Брюс Эккель - Философия Java - не стоит читать перед Хорстманом - какая книга легче...

Ошибка при переносе значений между книгами и листами в Microsoft Excel
Всем доброго вечера! У меня вопрос не трудный (я так думаю), но всю голову сломал не могу понять в чем проблема. Задача следующая, у...

4
126 / 44 / 1
Регистрация: 04.11.2011
Сообщений: 241
02.02.2020, 21:08  [ТС]
Файлы не приложились
Вложения
Тип файла: xls База.xls (34.0 Кб, 4 просмотров)
Тип файла: xls Выгрузка.xls (26.0 Кб, 4 просмотров)
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
03.02.2020, 01:09
Почему тот код не хотите подправить? Не умеете?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub ACTUAL()
    Dim SPRV As Workbook
    Dim DBASE As Workbook
    Dim Opened As Boolean
    Dim c
    With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
        Set DBASE = ThisWorkbook
        On Error Resume Next
        Set SPRV = Workbooks.Open(Filename:=ThisWorkbook.Path & "\" & "Выгрузка.xls")
        On Error GoTo 0
 
        With DBASE.Sheets("Лист1").Range("F1:F20")
            .Formula = "=VLOOKUP(B1,'[" & SPRV.Name & "]Лист1'!$A:$F,5,0)"
            .Value = .Value
        End With
        With DBASE.Sheets("Лист1").Range("G1:G20")
            .Formula = "=VLOOKUP(B1,'[" & SPRV.Name & "]Лист1'!$A:$F,6,0)"
            .Value = .Value
        End With
 
        If Opened Then SPRV.Close SaveChanges:=False
        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
    End With
 
    MsgBox "Информация из Справочника подтянута!", 64, "Конец"
End Sub
Формат даты можете поставить заранее или позже, ну или записать и добавить в макрос.

Добавлено через 3 минуты
Там только с переменной Opened функционал пропал, но мелочь и не мешает. Задумано было отслеживать не открыт ли уже источник, но кто-то это похерил...
0
126 / 44 / 1
Регистрация: 04.11.2011
Сообщений: 241
03.02.2020, 08:20  [ТС]
Этот код вставляет ВПР, что с файлами под 1000 строк может подтормаживать.
Нашёл в хелпе Find, мне кажется лучше через него реализовать?
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
03.02.2020, 13:36
1000 строк где?
Или думаете что 1000 find'ов будут быстрее, чем 1000 ВПР?
Вообще можно делать быстрее - на массивах и словарях, но на 1000 строк это не актуально, это не объём. На 1000 думаю оптимально именно ВПР - и по коду, да и по общей скорости.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2020, 13:36
Помогаю со студенческими работами здесь

Подбор значений между двумя числами
Имеем число в ячейке A1 и число в ячейке А100, между ячейки пусты. Как его заполнить промежуточными значениями , не используя формулы....

Вычет разницы значений между двумя Datagridview
И снова DataGridView :) Есть 4 DataGridView, в DGV1 в 14 столбце есть данные(11,13,15) в DGV2 в 14 столбце есть данные(4,5,6),в DGV3...

Обмен значений между двумя вещественными переменными.
Помогите пожалуйста, решить задачи =))) Разработайте процедуру, которая получает через параметры две вещественные переменные х, у и...

Найти минимальное количество значений между двумя отрицательными
Привет.Если вкратце,то нужно найти минимальное количество значений между двумя отрицательными.Дан столбик чисел в процентах B1:B250.В них...

Поиск значения между двумя ячейками
Подскажите пожалуйста лучший вариант или макрос в следующем вопросе: есть таблица с двумя столбцами, где к примеру первом столбце начало...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru