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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 След.
Проверить условие, что в массиве данных есть последовательность из n чисел, каждое из которых больше числа i.
 
vikttur, спасибо работает!)
Проверить условие, что в массиве данных есть последовательность из n чисел, каждое из которых больше числа i.
 
Добрый день! Помогите пожалуйста. Есть массив из чисел, записанный в строку. Мне нужно проверить утверждение, что в этом массиве содержится последовательность из 4 чисел, стоящих друг за другом, каждое из которых больше 7.

Данную задачу я смог решить с помощью введения доп строки и использования в этой строке формул массива, которые проверяли каждую из последовательностей. А далее я суммировал полученные результаты из формул массивов и выдавал утверждение.

Но мне бы хотелось данную задачу решить без доп строки (одной формулой), пока не знаю как, может кто сможет помочь? Файл прилагаю, в файле набор чисел - это 4 строка, доп строка с формулами массивов - 5 и итоговый результат в строке 6.
Оптимизировать макрос для Виндус под Мак
 
Пока нашел исполнителя сам, вопрос снимается до выяснения.
Нужно отсортировать данные в таблице Excel
 
Добрый день! Пишу в личку.  
Оптимизировать макрос для Виндус под Мак
 
Добрый день!
Имеется макрос в Эксель, работающий на виндус. Макрос открывает окно для выбора файлов, далее открывает по очереди выбранные файлы и собирает из них данные из определенных столбцов. Далее по полученным данным формируется сводная (SQL запросом). Код не сложный и не объемный, выкладываю ниже. Нужно оптимизировать, что бы данный макрос работал на Маке.

Если часть запроса, где подключается библиотека для SQL запроса сложно реализовать на Маке, то можно без него, я заменю на стандартную сводную в Эксель, главное, что бы данные собирались из других файлов во вкладку "Временная таблица".

Бюджет 500 р. Файл вышлю на почту исполнителю.
Код
Application.ScreenUpdating = False
nm = ActiveWorkbook.Name
 
Range(Worksheets("Сводная").Cells(2, 1), Worksheets("Сводная").Cells(1048576, 4)).ClearContents
Range(Worksheets("Временная таблица").Cells(2, 1), Worksheets("Временная таблица").Cells(1048576, 4)).Clear


Dim avFiles
'по умолчанию к выбору доступны файлы Excel(xls,xlsx,xlsm,xlsb)
avFiles = Application.GetOpenFilename _
        ("Excel files(*.xls*),*.xls*", 1, "Выбрать Excel файлы", , True)
If VarType(avFiles) = vbBoolean Then
    'была нажата кнопка отмены - выход из процедуры
    Exit Sub
End If
    'avFiles - примет тип String
For Each x In avFiles
    Workbooks.Open x
    nm2 = ActiveWorkbook.Name
    n = Cells(Rows.Count, 17).End(xlUp).Row
    n2 = Workbooks(nm).Worksheets("Временная таблица").Cells(Rows.Count, 1).End(xlUp).Row + 1
    For i = 5 To n
        Workbooks(nm).Worksheets("Временная таблица").Cells(n2, 1) = Cells(i, 17)
        Workbooks(nm).Worksheets("Временная таблица").Cells(n2, 2) = Cells(i, 18)
        Workbooks(nm).Worksheets("Временная таблица").Cells(n2, 3) = Cells(i, 19)
        Workbooks(nm).Worksheets("Временная таблица").Cells(n2, 4) = Cells(i, 25)
        n2 = n2 + 1
    Next i
    Workbooks(nm2).Close
Next





'Подключаем библиотеку SQL
Dim CON As Object 'New ADODB.Connection
Dim RS As Object 'New ADODB.Recordset
Dim arrS

Set CON = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.Recordset")

CON.Provider = "Microsoft.ACE.OLEDB.12.0"
CON.ConnectionString = "Data Source=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & "; Extended Properties=""Excel 12.0 Xml;HDR=YES"""
CON.Open

'Заполняем шаблон
RS.Open "SELECT ИНН, КПП, Наименование, SUM(Сумма) FROM [Временная таблица$] GROUP BY ИНН, КПП, Наименование", CON
If RS.EOF Then
    RS.Close
Else
    Worksheets("Сводная").Range("A2").CopyFromRecordset RS
    RS.Close
End If

Application.ScreenUpdating = True
MsgBox "Готово"



 
Изменено: DopplerEffect - 8 Апр 2019 08:07:04
Отсутствует представление данных XSLT
 
Добрый день! Уважаемые участники форума, кто нибудь знаком с работой макросов на Маке, помогите пожалуйста. Написал макрос на Винде, а на маке при открытии файла выдает следующий текст ошибки: "Не удается открыть XML-файл поместить реузльтат восстановления в Пример таблицы6xml, так как отсутствет представление данных XSLT. Таблица Unspecified error Местоположение: Строка 2, столбец 79.

Не представляю что ему может в макросе не нравится...файл пример прилагаю, там есть скрипт в модуле листа1 и скрипты в пользовательских формах, не очень много. Буду благодарен если подскажете, где несостыковка винды и мака может быть.
Не получается сравнить дату из Textbox с датой в ячейке
 
Sanja,работает спасибо!
Не получается сравнить дату из Textbox с датой в ячейке
 
Добрый день! Помогите пожалуйста разобраться, у меня есть Textbox, в котором я пишу дату в формате dd.mm.yyyy и есть ячейка на листе книги с таким же форматом. В макросе я пишу сравнение следующим образом:
Код
If cells(i,8) > = Format(Textbox, "dd/mm/yyyy") then
Но почему то эксель не хочет сравнивать как надо это условие, я полагаю, что формат нужно переводить другим образом?
Нужно в Экселе сделать блок схему, что бы к ее условиям можно было обращаться из макроса
 
Продолжая тему, в общем создал я нарисованную блок схему, внутри нее в ячейках писал условия. Вроде даже ничего получилось. Но вот вопрос, а можно ли создать таким образом, что бы можно было блок схему изменять, ветвления в ней другие делать, условия другие прописывать, добавлять/удалять блоки и.т.д. Слышал, что такое в принцепе делают с помощью привязки кода к блокам и писания диспетчера, который будет запускать код из блоков в соответствии со связями. Но вот подтверждения возможности этого в Эксель не нашел. Может кто то слышал или в курсе такой штуки?
Нужно в Экселе сделать блок схему, что бы к ее условиям можно было обращаться из макроса
 
vikttur, мне тоже не нравится, но для визуализации и удобства заполнения данных легче именно в блок схему писать данные( , ладно попробую обращаться к фигуре напрямую из макроса, как написал Пытливый...посмотрю что выйдет или вообще изменю представление на удобное...

Спасибо откликнувшимся!)
Нужно в Экселе сделать блок схему, что бы к ее условиям можно было обращаться из макроса
 
Добрый день! Есть определенная блок схема (во вложении), по ней будет работать макрос, но нужно, что бы она была на листе в Эксель и при необходимости можно было бы менять значения в ромбиках и что бы макрос работал по новым данным. На данный момент я придумал сделать прозрачную фигуру и в ячейки листа внутри фигуры писать эти самые значения, а потом макросом к ним обращаться. Но по мне это какой то костыль, может есть какое то более красивое решение? Может быть даже блок схему разместить не на листе, а на userform...Подскажите пожалуйста с идеей если кто то в курсе инструментов для реализации подобного.
Группировка данных по дням, неделям, месяцам
 
skais675, эх, хотел я избежать сводных, но походу не вариант, только макросом или сводную лепить. Спасибо за ответ!
Группировка данных по дням, неделям, месяцам
 
Добрый день! Есть таблица в Эксель, в одной колонке идут даты. Нужно сгруппировать данные таким образом (типа инструмента группировка), что бы таблица изначально была свернута, нажимаю плюс, выходят месяца по списку, нажимаю плюс перед каждым месяцем выходят недели в этом месяце, нажимаю еще плюс перед неделей и выходят даты. Подскажите пожалуйста есть ли какой то стандартный инструмент позволяющий это сделать? Желательно что бы при добавлении новых дат, автоматически группировка расширялась.
Ошибка при вставке данных макросом из Эксель в Ворд
 
Спасибо )))
Ошибка при вставке данных макросом из Эксель в Ворд
 
Добрый день!
Написал Макрос в Эксель, сделал позднее связывание, но почему то при копировании и вставке данных в Ворд возникает ошибка: object doesn't support this property or method.

Код макроса:
Код
Worksheets("КП").Select
n = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(1, 1), Cells(n, 7)).Copy

Dim WordObj As Object  'Объект Word.application
Dim WordDoc As Object   'Создаваемый документ

Set WordObj = CreateObject("Word.Application")
WordObj.Visible = True
Set WordDoc = WordObj.Documents.Add
Selection.PasteExcelTable False, False, False

На последней строке как раз выдает ошибку.

Помогите пожалуйста.
Не получается копирование таблицы с картинками VBA
 
Андрей VG, ну как бы да,  я где то глупость написал? Ну может картинка не увеличивается, но она начинает выходить за рамки ячейки.

Хотя да, я че т заработался...Вопрос снят)
Изменено: DopplerEffect - 18 Фев 2019 09:26:39
Не получается копирование таблицы с картинками VBA
 
Добрый день! Помогите пожалуйста, задача скопировать диапазон ячеек на другой лист через макрос, в некоторых ячейках есть картинки. Незадача в том, что при вставке картинка увеличивается в размерах и выходит за границы ячейки, а мне нужно полное копирование вместе с текущими размерами. Файл пример прилагаю, ниже код макроса. Как это можно исправить?
Код
Range(Worksheets("Исходный лист").Cells(1, 1), Worksheets("Исходный лист").Cells(1, 2)).Copy
Worksheets("Сюда копировать").Select
Cells(1, 1).Select
ActiveSheet.Paste
 
Парсинг сайта
 
Добрый день!
Нужен исполнитель для парсинга сайта, описание задачи и сайта сброшу откликнувшемуся человеку на E-mail. Код парсера должен быть открытым для последующей работы с ним. По цене 2000 р., в случае необходимости изменения бюджета готов обсуждать.
Вызов определенной процедуры, соответствующей наименованию переменной
 
Юрий М, Прочитал про данный метод, получилось, спасибо))  
Код
Application.Run "'Лист Microsoft Excel (2).xlsx'!Module2." & Переменная

БМВ, хмм, не совсем понял в чем недостаток данного моего желания)). У меня просто есть массив, в зависимости от значений которого должна запускаться определенная процедура. Сейчас у меня записаны десятки условий вызова разных процедур, я их хотел просто все удалить. Мне кажется так красивее будет.
Вызов определенной процедуры, соответствующей наименованию переменной
 
Добрый день! Уважаемые участники форума, у меня есть процедура из которой вызывается другая типа:
Код
Sub Тест()
Call Module1.Тест2
End sub
Можно ли наименование Тест2 записать как то в виде переменной, что бы тоже самое выполняло? Типа вот такого:
Код
Sub Тест()
Переменная = "Тест2"
Call Module1.Переменная
End sub
Подскажите пожалуйста кто знает, не нашел подтверждения возможности такой штуки, попытки также успехом не увенчались.
Изменено: DopplerEffect - 2 Фев 2019 22:46:59
В процедуре модуля получить значение Textbox формы
 
А все, разобрался, спасибо!
Код
Call Module1.Запись(TextBox1)

Код
Sub Запись(TextBox1)

MsgBox TextBox1

End Sub
Изменено: DopplerEffect - 1 Фев 2019 14:05:37
В процедуре модуля получить значение Textbox формы
 
Добрый день! Помогите пожалуйста советом, у меня есть 2 пользовательские формы. В каждой есть Элемент TextBox1 и Кнопка. При нажатии кнопки должно выводиться сообщение на экран из TextBox1. Что бы не плодить в каждой форме процедуру вывода на экран сообщения, я записал данную процедуру в модуле книги и вызываю ее при нажатии на кнопку в формах. Незадача в том, что данные из TextBox1 моей активной формы не передаются в модуль книги. Пробовал объявить в модуле глобально:
Код
public textbox1
Но результатов это не дало...Есть конечно идея, объявить дополнительно глобальную переменную и передавать ей значение TextBox1, и уже потом использовать ее, но может есть способ более красивый, что бы не плодить дополнительные переменные? Файл пример прилагаю.
Алгоритм подбора оптимальных деталей по длине
 
MCH,

1. Приоритетов по отрезам нет
2. В реальности элементов будет около 3-4
3. Размеры реалистичны
4. Обрезки выбрасываются

Спасибо за наводку по задаче, сейчас буду смотреть.
Алгоритм подбора оптимальных деталей по длине
 
Добрый день!
Помогите пожалуйста, пишу макрос для определенного расчета и застопорился на отдельном блоке. Суть следующая: Имеется n количество деталей, для каждой детали есть минимальная длина и максимальная длина (деталь может отрезаться). Есть задача разместить детали на конструкции таким образом, что бы все детали разместились по всей длине конструкции.

Ограничения:
1. Макрос в первую очередь должен выбирать такой набор деталей что бы их число было наименьшим (это условие в приоритете)
2. Макрос должен выбирать как можно меньшие по длине детали.

Во вложении прилагаю пример с правильными и не правильными результатами.

Не могу придумать алгоритм, по которому обрабатывать данную логику.
Пользовательская форма, формирующаяся исходя из найденных значений в таблице.
 
Михаил Лебедев, Спасибо, интересное решение.
Пользовательская форма, формирующаяся исходя из найденных значений в таблице.
 
Nordheim, класс, спасибо!  
Пользовательская форма, формирующаяся исходя из найденных значений в таблице.
 
Добрый день!
Помогите пожалуйста найти решение или идею, каким способом это реализовать. В общем есть файл, в нем есть список артикулов с характеристиками A1:B10. Мне нужно выбрать из этого списка один артикул с заранее известным условием (характеристика = 1) и записать данный артикул в ячейку G2. Для этого я использую данный макрос:
Код
Sub Для_примера()

For i = 2 To 10
    If Cells(i, 2) = 1 Then
        Cells(2, 7) = Cells(i, 1)
    End If
Next i

End Sub
Теперь собственно вопрос, в нашем примере 2 артикула обладают данной характеристикой, но макрос в итоге запишет последний найденный. Каким образом можно реализовать, что бы в таком случае вылетало сообщение с возможностью выбора того или иного артикула и записывался бы тот, который выберет пользователь?

То есть желательно бы иметь форму, которая будет заполняться подходящими артикулами, при нажатии на которые будет происходить выбор.
Изменено: DopplerEffect - 29 Янв 2019 07:41:12
Требуется разработка макроса (платно)
 
Обсудили, задача не из стандартных, пока думаю как лучше сделать решение. Если кто то хочет взять работу я уступлю, что бы не задерживать заказчика.  
Требуется разработка макроса (платно)
 
Добрый день! Давайте посмотрим файл. Написал на почту.
Ошибка Overflow error 6 при занесении в массив значений из умной таблицы.
 
Вроде сам нашел причину. В некоторых ячейках формат был Дата, при использовании типа Value2 ошибка исчезла, так же при выборе формата "общий" ошибка исчезает.  
Страницы: 1 2 3 4 5 6 7 8 9 10 11 След.
Наверх