Необходимо сделать формулы или макрос который будет оценивать необходимое количество машин для перевозки трубной продукции, исходя из следующих исходных данных 1. Кол-во отрезков трубы каждого диаметра 2. Возможность телескопической перевозки (труба в трубе) 3. максимальная загрузка в машину каждого диаметра
[URL=#]?[/URL] 1 2 3 4 5 6 7 8 9 10 11 12 13 Private Sub Workbook_Open() Dim ArrSheet Dim wSheet As Worksheet Dim i As Long With ThisWorkbook ReDim ArrSheet(1 To .Worksheets.Count) For Each wSheet In ThisWorkbook.Worksheets i = i + 1 ArrSheet(i) = wSheet.Name Next wSheet End With End Sub
А как записать не все листы в массив, а только с 3его?
по кнопке "Детализировать" на лист "Детализация продаж" копируются значения 1,2 и 4 столбца из таблицы выше после чего появляется форма следующего вида
Задачи следующие: 1. Если значения в ячейках не пустые, то по кнопке формы "Подтвердить" их нужно перенести в соответствующие строки листа "Детализация продаж", в строчку с последними заполненными первыми тремя столбцами.
2. Очистить ячейки формы от содержимого по кнопке формы "Очистить" без закрытия формы 3. Закрыть форму по кнопке "Закрыть", без выполнения каких либо функций
Именно так я изначально думал но спотыкнулся вот обо что. Файл Отчёт.xlsm один и его местоположение не меняется, а вот файлов КП тьма, и они разбросаны в довольно глубокой структуре папок. Поэтому тут именно нужно брать значения из КП и вставлять в статичный файл Отчет.xlsm.
Kuzmich написал: Эти ячейки всегда в одних и тех же местах...
Шапка всегда одинаковая, смещаются только Сумма (смещение суммы можно отследить количеством уникальных позиций в КП, этот парметр фиксируется на другом листе) и Дата (но датой в принципе можно принебречь, её можно заменить функцией Date()).
Задача передо мной тривиальная, но я не пойму логику построения её решения. Есть две книги, условно принимаем что они открыты по умолчанию. Из книги "КП.xlsm" по нажатию кнопки "перенести данные в отчёт" скопировать ячейки (отмеченные желтым) и вставить их в таблицу книги "Отчет.xlsm" в соответствующие столбцы первой незаполненной строки.
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
Sheets("Вывод").Select
n = Sheets("ввод").Cells(9, 1).Value ' Берется значение непустых строк с листа "ввод"
x = 18 ' Номер строки расположения 1 строчки таблицы
Do While I < n
Sheets("Вывод").Range("A19").EntireRow.Insert
I = I + 1' Добавление нужного кол-ва строк после 1 позиции таблицы
Loop
lr = Sheets("Вывод").Cells(Rows.Count, 1).End(xlUp).Row ' Вот это понятия не имею что делает)))
Sheets("Вывод").Select
Sheets("Вывод").Range("A18:O18").Select ' Выделение 1 позиции таблицы
Selection.AutoFill Destination:=Sheets("Вывод").Range("A18:O" & x + n), Type:=xlFillDefault ' "протягивание" 1 строчки на нужное кол-во строк.
Application.ScreenUpdating = True
End Sub
Суть у него следующая. Есть Лист "Ввод" там заносятся данные для расчета стоимости. Например на листе 5 заполненных строк. После нажатия на кнопку вид переключается на лист "Вывод" там под 1 позицией добавляется 4 (5 - 1, первая строка всегда заполнена) строки и потом 1 строка таблицы выделяется и перетаскивается с автозаполнением.
Однако, в случае если после 1 нажатия кнопки на листе "ввод" добавится позиция. То при повторном нажатии произойдет полный цикл - то есть к уже добавленным 4 строкам, добавиться еще 5, и данные задублируюся.
Идея проста. Сделать "зачистку" таблицы на листе "Вывод" до первой позиции. перед выполнением основного кода. Но вот как это сделать моих знаний тупо не хватит)))
Добрый день форумчане! Постараюсь описать всё как можно подробнее. заранее не могу оценить сложность вопроса, так как VBA для меня тёмный лес)) Не судите строго:
Есть файл расчета стоимости изделий. Основной расчет идёт на листе "ВВОД" там весь расчёт построен на функциях Excel. Прошу вас помочь с реализацией следующего функционала: - На листе "ВВОД" добавить кнопку, при клике на которую будет запускаться макрос: - На листе "Вывод" под 1 позицией, но над строкой "Итого" таблицы добавляется кол-во строк по кол-ву заполненных строк с листа "ВВОД" уменьшеное на 1 (так как 1 позиция уже есть) - и таблица заполняется значениями по формулам которые прописаны в 1 строчке - На листе "спецификация" задача полностью аналогична.
И еще. На странице "ВВОД" есть кнопка "построить маршрут с производства" - сделал её записью макроса - по сути его работа заключается в выделении ячейки A1 и перехода по ссылке которая записана в ячейку. ВОПРОС! Можно ли сделать так что бы кнопка напрямую ввела по заданной в самом макросе ссылке. что бы на листе не приходилось прятать эту ссылку.