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

Страницы: 1
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 
Всем знатокам и неравнодушным спасибо за подсказки!  
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 
Цитата
написал:
Вставьте после вашего макроса обновление отчёта.
попробую и этот вариант!  
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 
Цитата
написал:
думаю менее ресурсоёмкий вариант с одним доп столбцом в данных вас вполне устроит ;-)
Еще вопрос.
База в умной таблице "Smart_BD_status" заполняется макросом. Макрос считает строки, добавляет в конец одну строку и в столбец 1 записывает ID из формы а в столбец 2 записывает значение статуса. Все данные записываются из формы как "вставка значения".
вопрос: В случае если будет в последнем столбике формула, не повлияет это на её работоспособность? Она будет и дальше (при добавлении новой строки) попадать в столбец 3 или это нужно будет как то "ручками" делать?  
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 
Цитата
написал:
ЕСЛИОШИБКА(ИНДЕКС(Smart_BD_status[ID];НАИМЕНЬШИЙ(ЕСЛИ((Smart_BD_status[[Статус ]]=B$1)*
вот тут пока понятно, а вот дальше ....  
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 
Цитата
написал:
=ЕСЛИОШИБКА(ИНДЕКС(Smart_BD_status[ID];НАИМЕНЬШИЙ(ЕСЛИ((Smart_BD_status[[Статус ]]=B$1)*(МУМНОЖ((СТРОКА(Smart_BD_status[ID])<ТРАНСП(СТРОКА(Smart_BD_status[ID])))*(Smart_BD_status[ID]=ТРАНСП(Smart_BD_status[ID]));СТРОКА(Smart_BD_status[ID])^0)=0);СТРОКА(Smart_BD_status[ID]));СТРОКА(A1))-СТРОКА(Smart_BD_status[[#Заголовки];[ID]]));"")
ОГОНЬ!
Сложная конструкция формулы. Если не сложно в 2х словах (если конечно в 2х словах получиться) сможете пояснить что как работает?  
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 
Цитата
написал:
Выбор по последней строке ID (не по времени)
Не совсем понимаю как должно работать?
Код в макрос добавить? или как?  
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 
Цитата
написал:
Так логичнее наоборот подтягивать последнее значение по дате/времени, чем по расположению записи в таблице. Это расположение можно случайно(или не случайно) изменить
Как тогда скорректировать таблицу и какие данные добавить? Время и дата записи в таблицу?
И как тогда решить задачу формирования отчета формулами?  
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 
Цитата
написал:
Вариант формулами.
Спасибо за предложенный вариант!
А можно это каким то образом собрать в одну формулу?
И что если ID в статусе "Активна" будет кратно больше, просто формулу ниже протянуть?

Отчет то будет одной таблицей и данные должны перезаполняться при изменении статуса в B1  
Изменено: met.constr - 25.02.2026 10:48:34
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 
Цитата
написал:
Дата/Время откуда возникает?
они тянутся из других таблиц через индекс поискпоз. Я об этом оставил комментарий в ячейке дата.
важно подтянуть в пример ID и Статс. Остальное сам выберу.  
Изменено: met.constr - 25.02.2026 10:22:04
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 
Примером и комментарием по поводу того какой офис, дополнил исходное сообщение.  
Выбор последнего статуса по ID, Задача: получить последнее значение статуса ID для всех ID.
 

Коллеги, помогите решить вопрос.

Есть инструмент который я пытаюсь реализовать в Excel. Одна из задач, это запись статуса с привязкой к ID.

Есть на отдельном листе, отдельная умная таблица (назовём её таблица 1) состоящая из первого столбца – ID, второго столбца – статуса. Статус может быть в следующем, активно, закрыто, успешно.

Запись данных в таблицу 1 реализована за счёт макроса. Параметру ID есть связь с другими таблицами. Макрос записывает данные в таблицу накопитель, то есть есть ли у нас есть в строке 1 запись

Id 1 со статусом «активно», то после смены статуса, в таблице по строке 2 происходит запись Id 1 со статусом «закрыто»

Проблема в том, что при записи данных каждый ID может содержать две (в редких случаях три) записи в столбце два («активно», «успешно», «закрыто»)

Задача: получить последнее значение статуса ID для всех ID.

Тоесть нужно например на листе 2 выбрать статус «активно» и получить все ID с этим статусом

То есть есть у нас ID 1 содержит начало статус активно а потом через пять строк ID 1 содержит статус закрыто, то нужно возвращать именно последний статус «закрыто».

Подскажите какое нибудь простое и эффективное решение.

Варианты:

Сам вижу следующий варианты решения

1) возвращать формулой именно послед статус (как именно, не знаю) пробовал индекс, наименьший, если и еще через функцию агрегат, но что то не очень выходит.

2) при записи данных в таблицу один, (переписывать) значение привязанное к ID (но тут, кажется мне система будет сложной, так как нужно найти ID и его значения в таблице один а потом, заменить его на другое.)

П.С если нужен пример, завтра сделаю и дополню.


Установлен Microsoft Office LTSC профессиональный плюс 2021г
Файлом дополнил.
Во вкладе Отчет (как должно быть) это уже как будто заполненные примеры отчета при разных статусах.

Изменено: met.constr - 25.02.2026 09:35:16
Копирование непустых данных в умную таблицу
 
Юрий М, Спасибо, согласен так будет лучше выглядеть!  
Копирование непустых данных в умную таблицу
 
Цитата
Андрей Лящук написал:

Код
Sub Copy_paste_test()
    Dim lRow&, arr0, arr1
    With Sheets("Таблица исходная")
        lRow = .Cells(.Rows.Count, 3).End(xlUp).Row
        If lRow < 15 Then Exit Sub
        arr0 = Array(.[C6], .[C5], .[C8], .[C7])
        arr1 = .[A15].Resize(lRow - 15 + 1, 14).Value
    End With
    With [ТаблицаЗначений].ListObject.Range
        With .Offset(.Rows.Count).Resize(lRow - 15 + 1)
            .Resize(, 4) = arr0
            .Offset(, 4).Resize(, 14) = arr1
        End With
    End With
    Erase arr0, arr1
End Sub
Андрей, добрый день!
Кажется это как раз то что нужно, а могли бы вы подсказать что именно и как работает в макросе!?  
Изменено: met.constr - 03.08.2019 16:12:24
Копирование непустых данных в умную таблицу
 
Уважаемые господа ПланетыЭксель.
Я начинающий специалист в части VBA и пытаюсь решить необходимые мне задачи с его помощью.

Задача стояла из исходной таблицы копировать "не пустые" значения в базу чтобы потом можно было из базы запрашивать кому какие наценки и какая себестоимость продукции была просчитана.

За "не пустые" значения я принял количество изделий. Если оно не равно 0 в таблице то строку считаем не пустой.

Свое решение пишу ниже (код) но у меня получилось очень громоздко и долго обрабатывается макрос после нажатия кнопки.
Хотел использовать диапазон range но я не знаю как его можно поместить в конкретные столбцы "умной таблицы".
Учитывая что в исходной таблице будет не 3 а порядка 20-30 строк, код получится очень большим и его обработка займет очень много времени.

Если у вас найдется совет как это можно исправить, или что можно почитать чтобы решить эту задачу то буду вам очень признателен.

Файл с примером тоже вкладываю.

Это в продолжении предыдущей темы: Копирование не пустых значений и вставка в другую табицу

Ответ я по ней получил, но разъяснений что откуда берется и что происходит не смог получить, потому сваял так как мог.
не судите строго.


Сам макрос кода по копированию.
Код
Sub Copy_paste_test()
    'В этом макросе нужно:
    '1) определить не пустой диапозон ячеек с товарами, тоесть в дипозон должен быть выбран товар
    '2) скопировать данный диапозон по ячейкам и вставить его в нужные ячейки базы
    Application.ScreenUpdating = False 'отключаем обновление экрана
    Dim forma As Worksheet, baza As Worksheet, smart As ListObject, lngI As Long 'назначаем переменные
    Set forma = Worksheets("Таблица исходная"):
    Set baza = Worksheets("Таблица для вставки"):
    Set smart = baza.ListObjects("ТаблицаЗначений"):
    If forma.Range("C15") > 0 Then 'проверяем ячейку в таблице на наличие значения, если значение в столбце количества больше 0 то вставляем всю строку в базу
    smart.ListRows.Add 'добавляем в "умную" таблицу строку ? без новой строки добавлять значения будет некуда.
    lngI = smart.ListRows.Count 'считаем количество строк с данными в "умной" таблице ? зачем считаем не понятно, но без подсчета не работает.
    forma.[C6].Copy: smart.DataBodyRange(lngI, 1).PasteSpecial Paste:=xlPasteValues 'ID клиента
    forma.[C5].Copy: smart.DataBodyRange(lngI, 2).PasteSpecial Paste:=xlPasteValues 'клиент
    forma.[C8].Copy: smart.DataBodyRange(lngI, 3).PasteSpecial Paste:=xlPasteValues 'id заказа
    forma.[C7].Copy: smart.DataBodyRange(lngI, 4).PasteSpecial Paste:=xlPasteValues '№ заказа
    'дальше идут данные из таблицы с товаром
    forma.[A15].Copy: smart.DataBodyRange(lngI, 5).PasteSpecial Paste:=xlPasteValues 'id номенклатуры
    forma.[B15].Copy: smart.DataBodyRange(lngI, 6).PasteSpecial Paste:=xlPasteValues 'наименование детали по заказу
    forma.[C15].Copy: smart.DataBodyRange(lngI, 7).PasteSpecial Paste:=xlPasteValues 'кол-во шт
    forma.[D15].Copy: smart.DataBodyRange(lngI, 8).PasteSpecial Paste:=xlPasteValues 'ед.изм
    forma.[E15].Copy: smart.DataBodyRange(lngI, 9).PasteSpecial Paste:=xlPasteValues 'вес 1 шт кг
    forma.[F15].Copy: smart.DataBodyRange(lngI, 10).PasteSpecial Paste:=xlPasteValues 'общий вес по позиции
    forma.[G15].Copy: smart.DataBodyRange(lngI, 11).PasteSpecial Paste:=xlPasteValues 'стоимость стали сумма
    forma.[H15].Copy: smart.DataBodyRange(lngI, 12).PasteSpecial Paste:=xlPasteValues 'Стоимость работ Сумма
    forma.[I15].Copy: smart.DataBodyRange(lngI, 13).PasteSpecial Paste:=xlPasteValues 'Общая себестоимость заказа
    forma.[J15].Copy: smart.DataBodyRange(lngI, 14).PasteSpecial Paste:=xlPasteValues 'цена за 1шт
    forma.[K15].Copy: smart.DataBodyRange(lngI, 15).PasteSpecial Paste:=xlPasteValues 'наценка РСК
    forma.[L15].Copy: smart.DataBodyRange(lngI, 16).PasteSpecial Paste:=xlPasteValues 'сумма наценки РСК
    forma.[M15].Copy: smart.DataBodyRange(lngI, 17).PasteSpecial Paste:=xlPasteValues 'сумма с наценкой
    forma.[N15].Copy: smart.DataBodyRange(lngI, 18).PasteSpecial Paste:=xlPasteValues 'цена за шт РСК
    End If
    If forma.Range("C16") > 0 Then 'проверяем ячейку в таблице на наличие значения, если значение в столбце количества больше 0 то вставляем всю строку в базу
    smart.ListRows.Add 'добавляем в "умную" таблицу строку ? без новой строки добавлять значения будет некуда.
    lngI = smart.ListRows.Count 'считаем количество строк с данными в "умной" таблице ? зачем считаем не понятно, но без подсчета не работает.
    forma.[C6].Copy: smart.DataBodyRange(lngI, 1).PasteSpecial Paste:=xlPasteValues 'ID клиента
    forma.[C5].Copy: smart.DataBodyRange(lngI, 2).PasteSpecial Paste:=xlPasteValues 'клиент
    forma.[C8].Copy: smart.DataBodyRange(lngI, 3).PasteSpecial Paste:=xlPasteValues 'id заказа
    forma.[C7].Copy: smart.DataBodyRange(lngI, 4).PasteSpecial Paste:=xlPasteValues '№ заказа
    'дальше идут данные из таблицы с товаром
    forma.[A16].Copy: smart.DataBodyRange(lngI, 5).PasteSpecial Paste:=xlPasteValues 'id номенклатуры
    forma.[B16].Copy: smart.DataBodyRange(lngI, 6).PasteSpecial Paste:=xlPasteValues 'наименование детали по заказу
    forma.[C16].Copy: smart.DataBodyRange(lngI, 7).PasteSpecial Paste:=xlPasteValues 'кол-во шт
    forma.[D16].Copy: smart.DataBodyRange(lngI, 8).PasteSpecial Paste:=xlPasteValues 'ед.изм
    forma.[E16].Copy: smart.DataBodyRange(lngI, 9).PasteSpecial Paste:=xlPasteValues 'вес 1 шт кг
    forma.[F16].Copy: smart.DataBodyRange(lngI, 10).PasteSpecial Paste:=xlPasteValues 'общий вес по позиции
    forma.[G16].Copy: smart.DataBodyRange(lngI, 11).PasteSpecial Paste:=xlPasteValues 'стоимость стали сумма
    forma.[H16].Copy: smart.DataBodyRange(lngI, 12).PasteSpecial Paste:=xlPasteValues 'Стоимость работ Сумма
    forma.[I16].Copy: smart.DataBodyRange(lngI, 13).PasteSpecial Paste:=xlPasteValues 'Общая себестоимость заказа
    forma.[J16].Copy: smart.DataBodyRange(lngI, 14).PasteSpecial Paste:=xlPasteValues 'цена за 1шт
    forma.[K16].Copy: smart.DataBodyRange(lngI, 15).PasteSpecial Paste:=xlPasteValues 'наценка РСК
    forma.[L16].Copy: smart.DataBodyRange(lngI, 16).PasteSpecial Paste:=xlPasteValues 'сумма наценки РСК
    forma.[M16].Copy: smart.DataBodyRange(lngI, 17).PasteSpecial Paste:=xlPasteValues 'сумма с наценкой
    forma.[N16].Copy: smart.DataBodyRange(lngI, 18).PasteSpecial Paste:=xlPasteValues 'цена за шт РСК
    End If
    If forma.Range("C17") > 0 Then 'проверяем ячейку в таблице на наличие значения, если значение в столбце количества больше 0 то вставляем всю строку в базу
    smart.ListRows.Add 'добавляем в "умную" таблицу строку ? без новой строки добавлять значения будет некуда.
    lngI = smart.ListRows.Count 'считаем количество строк с данными в "умной" таблице ? зачем считаем не понятно, но без подсчета не работает.
    forma.[C6].Copy: smart.DataBodyRange(lngI, 1).PasteSpecial Paste:=xlPasteValues 'ID клиента
    forma.[C5].Copy: smart.DataBodyRange(lngI, 2).PasteSpecial Paste:=xlPasteValues 'клиент
    forma.[C8].Copy: smart.DataBodyRange(lngI, 3).PasteSpecial Paste:=xlPasteValues 'id заказа
    forma.[C7].Copy: smart.DataBodyRange(lngI, 4).PasteSpecial Paste:=xlPasteValues '№ заказа
    'дальше идут данные из таблицы с товаром
    forma.[A17].Copy: smart.DataBodyRange(lngI, 5).PasteSpecial Paste:=xlPasteValues 'id номенклатуры
    forma.[B17].Copy: smart.DataBodyRange(lngI, 6).PasteSpecial Paste:=xlPasteValues 'наименование детали по заказу
    forma.[C17].Copy: smart.DataBodyRange(lngI, 7).PasteSpecial Paste:=xlPasteValues 'кол-во шт
    forma.[D17].Copy: smart.DataBodyRange(lngI, 8).PasteSpecial Paste:=xlPasteValues 'ед.изм
    forma.[E17].Copy: smart.DataBodyRange(lngI, 9).PasteSpecial Paste:=xlPasteValues 'вес 1 шт кг
    forma.[F17].Copy: smart.DataBodyRange(lngI, 10).PasteSpecial Paste:=xlPasteValues 'общий вес по позиции
    forma.[G17].Copy: smart.DataBodyRange(lngI, 11).PasteSpecial Paste:=xlPasteValues 'стоимость стали сумма
    forma.[H17].Copy: smart.DataBodyRange(lngI, 12).PasteSpecial Paste:=xlPasteValues 'Стоимость работ Сумма
    forma.[I17].Copy: smart.DataBodyRange(lngI, 13).PasteSpecial Paste:=xlPasteValues 'Общая себестоимость заказа
    forma.[J17].Copy: smart.DataBodyRange(lngI, 14).PasteSpecial Paste:=xlPasteValues 'цена за 1шт
    forma.[K17].Copy: smart.DataBodyRange(lngI, 15).PasteSpecial Paste:=xlPasteValues 'наценка РСК
    forma.[L17].Copy: smart.DataBodyRange(lngI, 16).PasteSpecial Paste:=xlPasteValues 'сумма наценки РСК
    forma.[M17].Copy: smart.DataBodyRange(lngI, 17).PasteSpecial Paste:=xlPasteValues 'сумма с наценкой
    forma.[N17].Copy: smart.DataBodyRange(lngI, 18).PasteSpecial Paste:=xlPasteValues 'цена за шт РСК
    End If

     ActiveWorkbook.Save
    Application.CutCopyMode = False
    Application.ScreenUpdating = True 'включаем обратно обновление экрана.
End Sub
Копирование не пустых значений и вставка в другую табицу, Необходимо из 1 таблицы скопировать только не пустые и вставить их в другую таблицы
 
Андрей VG, добрый вечер!
В принципе вариант рабочий. Единственное что если в исходную таблицу товары добавлять  через строку, а не подряд, то потом и пустые строки добавляются.

Цитата
Андрей VG написал:
ОБъясните, пожалуйста,Цитататолько не пустые
Касательно только не пустых, я подразумевал что ячейки в диапозоне по первой строке например А2:H2 должны быть заполнены значениями, это мы считаем не пустым значением, а если исходная таблица содержит заполненные А2:H2 то соотвественно остальные A3:H15 мы считаем пустыми.

Цитата
Андрей VG написал:
зачем это требование? Если вы добавляете данные в таблицу
Как новые строки необходимо добавлять так как не должно быть наложений, тоесть если мы добавляем новые значения, они не должны в таблицу для вставки записаться на уже имеющиеся значения.

Как писал выше, вариант в принципе рабочий, но мне его нужно связать с другими своими строками макроса, могли бы вы Андрей VG, более подробно рассказать что и как действует в макросе или дать комментарий к коду?? Я был бы весьма признателен. Так как не силен в написании макросов.


Код
Public Sub addNewRowsFromTable()
    Dim whishodniy As Worksheet, whBD As Worksheet, lobjDB As ListObject, lngI As Long
    Dim arrData
    Set whishodniy = Worksheets("Таблица исходная"): Set whBD = Worksheets("Таблица для вставки"): Set lobjDB = whBD.ListObjects("ТаблицаЗначений")
    lngI = whishodniy.Cells(whishodniy.Rows.Count, 1).End(xlUp).Row
    arrData = whishodniy.Range(whishodniy.Cells(2, whishodniy.UsedRange.Column), whishodniy.Cells(lngI, whishodniy.UsedRange.Columns.Count + whishodniy.UsedRange.Column - 1)).Value
    If lobjDB.DataBodyRange Is Nothing Then
        lobjDB.HeaderRowRange(1).Offset(1, 0).Resize(UBound(arrData, 1), UBound(arrData, 2)).Value = arrData
    Else
        lobjDB.DataBodyRange.Cells(lobjDB.DataBodyRange.Rows.Count, 1).Offset(1, 0).Resize(UBound(arrData, 1), UBound(arrData, 2)).Value = arrData
    End If
End Sub

За ранее спасибо!  
Изменено: met.constr - 21.07.2019 20:44:00
Копирование не пустых значений и вставка в другую табицу, Необходимо из 1 таблицы скопировать только не пустые и вставить их в другую таблицы
 
Добрый день Уважаемые знатоки, долго искал подходящий ответ на вопрос на форуме, но не нашел в силу того что не очень силен в макросах, но стараюсь разобраться.
Сейчас стоит следующая задача, необходимо из таблицы А2:H15 (лист: Таблица исходная) скопировать не пустые значения и потом добавить их как новые строки ниже в "Умную таблицу" (ТаблицаЗначений) на листе: Таблица для вставки. Вставлять данные необходимо не как формулы а как простое значение ячейки.

Как копировать просто значение по сроке и потом переносить их в умную таблицу я сделал, но вот задача в том что в таблице А2:H15 (лист: Таблица исходная)  может быть как 1 так и 5 и 12 и 20 значений.
В файл примера добавил небольшой макрос который сейчас у меня работает, но только по первой строке, а как сделать его так чтобы можно было копировать не пустые значения и сразу вставлять их все по нажатию кнопки я не  знаю.

Помогите пожалуйста решить эту задачу.
Ниже макрос который присутствует в файле (для наглядности).
Код
Sub Копирование_первой_строки()
Dim whishodniy As Worksheet, whBD As Worksheet, lobjDB As ListObject, lngI As Long
    Application.ScreenUpdating = False 'отключаем обновление экрана
    Set whishodniy = Worksheets("Таблица исходная"): Set whBD = Worksheets("Таблица для вставки"): Set lobjDB = whBD.ListObjects("ТаблицаЗначений")
    lobjDB.ListRows.Add 'добавляем в "умную" таблицу строку
    lngI = lobjDB.ListRows.Count 'считаем количество строк с данными в "умной" таблице
    'копируем и переносим как спец.вставка значений по каждой ячейке таблицы из формы с листа таблица исходная в умную таблицу листа для вставки
    whishodniy.[A2].Copy: lobjDB.DataBodyRange(lngI, 1).PasteSpecial Paste:=xlPasteValues
    whishodniy.[B2].Copy: lobjDB.DataBodyRange(lngI, 2).PasteSpecial Paste:=xlPasteValues
    whishodniy.[C2].Copy: lobjDB.DataBodyRange(lngI, 3).PasteSpecial Paste:=xlPasteValues
    whishodniy.[D2].Copy: lobjDB.DataBodyRange(lngI, 4).PasteSpecial Paste:=xlPasteValues
    whishodniy.[E2].Copy: lobjDB.DataBodyRange(lngI, 5).PasteSpecial Paste:=xlPasteValues
    whishodniy.[F2].Copy: lobjDB.DataBodyRange(lngI, 6).PasteSpecial Paste:=xlPasteValues
    whishodniy.[G2].Copy: lobjDB.DataBodyRange(lngI, 7).PasteSpecial Paste:=xlPasteValues
    whishodniy.[H2].Copy: lobjDB.DataBodyRange(lngI, 8).PasteSpecial Paste:=xlPasteValues
    ActiveWorkbook.Save 'сохраняем результат чтобы ничего не потерять
    Application.CutCopyMode = False
    Application.ScreenUpdating = True 'включаем обратно обновление экрана.
End Sub
Очень рассчитываю на помощь присутствующих!  
Зависимые выпадающие списки: убрать лишнее при выборе номенклатур
 
gling,Спасибо, буду искать подходящую модель группировки данных для того чтобы оптимизировать данный процесс. Может и правда макросы...
Если будет решение, отпишусь.

Еще раз спасибо за совет!  
Зависимые выпадающие списки: убрать лишнее при выборе номенклатур
 
Цитата
met.constr написал:
Просьба только дать комментарий, как это все работает (в кратце).
gling, кажется разобрался, через Индекс (поискпоз) в самом именованном диапозоне!
А возможно ли применить аналогичный алгоритм для справочника в одной таблице? (прилагаю сам справочник металла в сообщение)? или в таком случае работать не будет?

Так как писал выше таких справочников будет несколько, и они будут дополнятся. В плане таблицы (Справочник металла (как он есть)) будет проще организовать добавление строк в справочник, но ожно ли будет организовать аналогичный алгоритм работы и связки формулы через именованый диапозон Индекс(поискпоз)???  
Зависимые выпадающие списки: убрать лишнее при выборе номенклатур
 
gling, Спасибо за ответ! Так намного лучше!!!!

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

Решил задачу через именованые списки и таблицу соответствий (долго с ней парился, но довел до ума)

Вопрос к Вам ЗНАТОКИ!
Исходя из того что есть во вложении возможно ли решить данную задачу "более изящно" или может с помощью неизвестных мне формул и их связок вообще все просто можно сделать!?

Буду рад советам.
На данный момент за неимением лучшего, оставил так, но продолжаю поиски оптимального варианта.
Копирование данных из одной умной таблицы и вставка в другую на новом листе.
 
Цитата
kalmar написал:
а макрос точно нужен? Вам никто сейчас процедуры писать не будет через заполнения если они у Вас полностью совпадать будут, то пишите во второй таблице формулы
Тут пробелма в том, что таблица 1 служит как форма для ввода данных. После того как все заполнено, макрос передал данные в БД (лист 2) мы из таблицы 1 данные удаляем и вводим новые. Таким образом в листе 2 БД появится база со всеми данными внесенными через таблицу 1.
ДВССЫЛ и так использую но в этом случае он не подойдет так как данные не будут статичны. нужно именно копировать значения ячеек и всатвлять как значения

Цитата
...или просто (без умной таблицы) Код ? 1='1'!A2
вот тут не совсем понял?  
Копирование данных из одной умной таблицы и вставка в другую на новом листе.
 
Добрый день уважаемы форумчане. Есть задача в реализации одного проекта для себя.
Хочется построить некий инструмент оптимизации (автоматизации) скажем так своими силами.
Сейчас столкнулся с задачами которые можно решить через макрос.
Копал форум, интернет по теме VBA но ответа на свой вопрос не нашел.
описание задачи примерно следующее:
Есть лист 1  на котором расположена "умная таблица"  (specifikaciya) нужно брать и все данные этой таблицы копировать на лист 2 в другую умную таблицу (BD_zakazi)
Суть в том что таблица на листе 1 будет как некая форма ввода информации, и после ввода информации даныне должны попадать в базу (BD_zakazi)
Пробовал сам через запись макроса но получается коряво, так как (BD_zakazi) должна дополнятся вниз, тоесть при наличии в (BD_zakazi) 10 заполненных строк остальные записи должны перемещаться ниже.

Также прошу совета, подскажите какой нибудь видео курс по VBA чтобы понять принципы и хотябы отчасти разобраться в написании простых макросов типа копи-паст  

За ранее признателен за помощь!
Страницы: 1
Наверх