Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 15 След.
Копия листа, с очисткой всех формул и макросов
 
Ок, попробую, спасибо
Вы оказались правы, знак "/", не давал сохраниться файлу. Иногда проблема перед глазами, а я пытаюсь рыть глубже!
Еще раз спасибо!
Изменено: adamm - 27 Июл 2019 11:28:15
Копия листа, с очисткой всех формул и макросов
 
Вроде все работало, и начала выскакивать ошибка runtime error 1004, после работы кода выгрузки в новую книгу, но файл создается под названием "книга...", возникает  ошибка в строке
Код
ActiveWorkbook.SaveAs [q1]
гугл дал решение https://support.microsoft.com/ru-ru/help/210684/copying-worksheet-programmatically-causes-run-time-error-1004-in-excel
Но я так и не в понял, что к чему
Изменено: adamm - 27 Июл 2019 10:20:41
Копия листа, с очисткой всех формул и макросов
 
Скажем она не то, что вновь созданная, а копия листа, очищенная от формул, skais675, просто в курсе о чем я, так как он помог мне в написании кода
Копия листа, с очисткой всех формул и макросов
 
skais675, можно ещё одно уточнение, как в новь создавшейся книге стереть все макросы на сайте поискал, есть варианты программным способом, но все не мой вариант. Как понимаю данный код стирает только кнопку
Код
ActiveSheet.Shapes.Range(Array("CommandButton1")).Delete

Копия листа, с очисткой всех формул и макросов
 
skais675,большущее спасибо, в очередной раз выручаете!!!
Копия листа, с очисткой всех формул и макросов
 
Всем привет!
Есть вот такой не сложный код:

Код
Private Sub CommandButton1_Click()
    ActiveSheet.Select
    ActiveSheet.Copy
    ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs [q1]
    ActiveSheet.Range("$A$9:$O$30").AutoFilter Field:=2, Criteria1:="<>-"
End Sub
Но есть маленькая проблема, код выгружает вместе с кнопкой на которой и сидит сам макрос, в результате остается связь сданной книгой. Возможно выгрузить чистые данные без кнопок и связей, короче чистый файл
Изменено: adamm - 26 Июл 2019 15:32:45
Выборка значений по условию из таблицы
 
Максим В., спасибо, разобрался все не так уж и сложно!
Выборка значений по условию из таблицы
 
Всем привет!
Есть таблица с двумя столбцами, Имя и ФИО, нужно отобрать все значения из ФИО по условию в столбце Имя, то есть нужен результат фильтрации столбца Имя
QueryTable импорт формулы массива
 
sokol92, немного не разобрался как применить данный код на диапазон ячеек, пробовал в коде изменить, но выдает ошибку?

skais675, все бы ничего, но проблема в том, что данные с шаблона подгружаются через запрос в книгу, а далее копируются на листы и проблема в том, что когда запрос выгружает формулы с шаблона они принимают вид не массивной функции, а соответсвенно стандартным копированием не обойтись, в чём собственно и весь сыр бор.
Привязка формул разных книг к одной
 
Оставил пока все как есть, вроде все работает, в результате имею 78 имен в диспетчере), три общих кода для трех листов, и один запрос, с подключением к шаблону
Изменено: adamm - 24 Июл 2019 11:23:08
Привязка формул разных книг к одной
 
Спасибо! теперь вроде как понятно.
На просторах нарыл вот такое решение https://excelvba.ru/code/NamesList, вот только жалко, что нет обратного решения)
Привязка формул разных книг к одной
 
БМВ, А уточните пожалуйста, чем код в #22 посте отличается?
Но опять же если я уже ввел в диспетчер имен имя, в дальнейшем мне его нужно только заменять (саму формулу), ведь на листе оно уже будет существовать, как имя, или я что то ппутаю? ДА в идеале бы конечно, код упростить до возможности только создать в диспетчер имя на основании данных с листа "справочно"
Изменено: adamm - 24 Июл 2019 10:54:35
Привязка формул разных книг к одной
 
Цитата
БМВ написал:
Вот этого то и опасаюсь :-)
Уже пробовал, все работает!
По сути код в дальнейшем можно упростить, до
Код
Sub Всего_замечаний()
ThisWorkbook.Worksheets("Основные линии").Names.Add Name:="Всего_замечаний", RefersToR1C1:=Sheets("Справочно").Range("AR2").FormulaR1C1
End Sub
Так как имена уже будут созданы, их можно просто менять, при необходимости
Изменено: adamm - 24 Июл 2019 10:19:25
Привязка формул разных книг к одной
 
БМВ,
Ну по сути, так и есть, 2 код это только одна формула, на каждую формулу свой код, для примера я выложил только одну формулу. Далее я наверное его объединю убрав End Sub и Sub в промежутках.
Привязка формул разных книг к одной
 
На данный момент организовал выгрузку данных следующим образом:
1. С шаблона выгружаю формулы через QueryTables
Код
Sub Запрос_формул_основные()
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;D\formula.txt", Destination:=Sheets("Справочно").Range("AR2"))
        .Name = "formula"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = True
        .RefreshStyle = 0
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1251
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierNone
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
     
    End With
End Sub
2. Далее для каждой формулы, прописал код для копирования в имена, да немного топорно, но лучше чем ручками каждый раз вставлять
Код
Sub Всего_замечаний()
Sheets("Основные линии").Range("BH3").Formula = Sheets("Справочно").Range("AR2").Formula
On Error Resume Next
ThisWorkbook.Worksheets("Основные линии").Names("Всего_замечаний").Delete
On Error GoTo 0
ThisWorkbook.Worksheets("Основные линии").Names.Add Name:="Всего_замечаний", RefersToR1C1:=Sheets("Основные линии").Range("BH3").FormulaR1C1
Sheets("Основные линии").Range("BH3").Formula = "=Всего_замечаний"
End Sub
QueryTable импорт формулы массива
 
Упростил пример
QueryTable импорт формулы массива
 
Гуру VBA, с большим сожалением, ну ни как не могу сообразить как работает данная функция, перечитал десять раз тему, перепробовал разные варианты.
param rg диапазон - что за диапазон?
param fArray формула массива (должна начинаться на знак равенства) - это ссылка на ячейку или нужно подставить формулу?
return True при успехе; False при неудаче - то же не совсем понятно?

Ну уж простите меня, но код для меня это, пока темный лес
QueryTable импорт формулы массива
 
sokol92, не ожидал, спасибо большое, а можете уточнить как работает функция, не совсем понял параметр rg диапазон, который присваивает формулу массива. Параметр fArray это ссылка на ячейку в которой находиться формула массива, return выводит лож или истину?
QueryTable импорт формулы массива
 
БМВ,Ок, понял. Да работает через имена, спасибо!
QueryTable импорт формулы массива
 
БМВ, спасибо!
Сказать честно, с экселем работаю, как ни первый год, но про интернациональный формат не совсем понял, вы имели ввиду R1C1?
А по итогам, код работает, только в книгу подгружать формулы буду не через PQ, а через QueryTables хотя по сути одно и то же
QueryTable импорт формулы массива
 
В результате, через PQ создаю запрос и подгружаю в каждую книгу формулы, а их в свою очередь тупо макросом копирую в нужные ячейки, формулу массива ввожу ручками
QueryTable импорт формулы массива
 
Цитата
skais675 написал:
просто копировать формулы
Да я ведь так и делал, сопировал формулу, и вставил в формате R1C1, но так как длинна формулы более 255 знака код выдает ошибку
QueryTable импорт формулы массива
 
Цитата
skais675 написал:
сделайте шаблон
В обоих случаях так и получается, что через PQ что через QueryTables, но в итоге проблема одна формулы массива не работают, то есть не вставляются {}. Или я, вас не правильно понял?  
QueryTable импорт формулы массива
 
Ну вот опять, вернулись к разбитому корыту(
QueryTable импорт формулы массива
 
ZVI, спасибо! Но формулы вставляются ни как массивные, только первая отрабатывает, остальные нет
Изменено: adamm - 22 Июл 2019 07:52:31
Привязка формул разных книг к одной
 
Касаемо сроков время не ограничено
Касаемо бюджета, сложно сказать, если взять в расчёт, то, что часть работы мною сделана, но это опять же субъективно, вам все равно придётся вникать во все тонкости и понимания задания, так, что оставляю этот вопрос вам, но отпишитесь сначала в личку по стоимости, если с меня штаны не сваляться значит договоримся)  
Привязка формул разных книг к одной
 
Приветствую форумчане!
Вопрос обсуждался в двух темах:
1. https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=118857&TITLE_SEO=118857-privyazka-formul-raznykh-knig-k-odnoy&MID=984518#message984518
2. https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=118970&TITLE_SEO=118970-querytable-import-formuly-massiva&MID=985383#message985383

Кратко, что пытаюсь реализовать: есть книга в которой прописаны формулы, "без равно", "книга формул", скажем так это оригиналы, далее я эти формулы "клонирую" в другие книги, а их много, ручками это долго, и вот мне нужно, связать эти формулы оригиналы с остальными рабочими книгами, то есть если я меняю в оригинале они меняются и в рабочих книгах.

Но полного, решения я так и не нашёл.
Вот, вот решение почти есть, но на финале вылазит очередная проблема.
По большей части склоняюсь выводить формулы из шаблона через запрос QueryTable, но опять проблема в том, что не могу приклеить к формуле массив и трансформировать их.
QueryTable импорт формулы массива
 
Всем привет!
Прочитал статью: http://www.askit.ru/custom/vba_office/m11/11_07_excel_querytable_object.htm
Использую следующий код для использования импорта формул из текстового файла:
Код
Sub Макрос2()
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;D:\formula.txt", Destination:=Range("Bh2"))
        .Name = "formula"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1251
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierNone
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False 
    End With
End Sub

Но в статье нет информации, как обозначить, что формула является массивной?
И есть ли возможность транпортировать диапазон из вертикального в горизонтальный?
Привязка формул разных книг к одной
 
В очередной раз всем привет!
Воспользовался советом artyrH, первым способом, при помощи кода, но вот не хочет он работать с моим файлом...
Привязка формул разных книг к одной
 
artyrH, спасибо, попробую адаптировать под свою формулу, но боюсь будет не просто) у меня трехэтажные формулы, в примере я упростил формулу.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 15 След.
Наверх