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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 След.
Копирование таблицы из эксель в ворд через макрос
 
buchlotnik, вся я понял в чем была проблема, оказывается этот метод работает только на файлах docx, а у меня изначально был rtf. Спасибо за помощь!

Переписал макрос таким образом:
Код
Sub Макрос3()
Dim objWord As Object
Dim FileStart
Dim FileNew

'Set objWord = CreateObject("Word.Application")
adr = InputBox("Введите путь к папке с шаблоном")
adr2 = InputBox("Введите путь к папке куда сохранить документ")

FileSt = adr & "\Шаблон.docx"

'Set objDoc = objWord.Documents.Open(FileSt)
'objWord.Visible = True


Set objWord = CreateObject("Word.Application")
FileNew = adr2 & "\Перовское_Чистинское.docx"

Set objDoc = objWord.Documents.Open(FileSt)

objWord.Visible = True

Range(Cells(1, 1), Cells(13, 18)).Copy

objDoc.Bookmarks("Закладка").Range.Paste

objDoc.Tables(1).AutoFitBehavior (2)
End Sub
Изменено: DopplerEffect - 19 Июн 2019 10:17:01
Копирование таблицы из эксель в ворд через макрос
 
buchlotnik, Что то не получается, я так понимаю, что при копировании таблицы из Экселя в Ворд в Ворде не происходит автоматически преобразование ее в объект Tables, то есть нужно как то ее переконвертировать, но пока не получается.
Копирование таблицы из эксель в ворд через макрос
 
Добрый день! Написал следующий макрос для копирования таблицы из Эксель в Ворд, но проблема в том, что таблица не умещается в границы листа Ворда. Как можно уменьшить масштаб таблицы, что бы все колонки уместились? Помогите пожалуйста.
Код
Sub Макрос3()

Dim objWord As Object
Dim FileStart
Dim FileNew

'Set objWord = CreateObject("Word.Application")
adr = InputBox("Введите путь к папке с шаблоном")
adr2 = InputBox("Введите путь к папке куда сохранить документ")

FileSt = adr & "\Шаблон.rtf"

'Set objDoc = objWord.Documents.Open(FileSt)
'objWord.Visible = True


Set objWord = CreateObject("Word.Application")
FileNew = adr2 & "\Перовское_Чистинское.rtf"

Set objDoc = objWord.Documents.Open(FileSt)

objWord.Visible = True

Range(Cells(1, 1), Cells(13, 18)).Copy

objDoc.Bookmarks("Закладка").Range.Paste

End Sub
Ошибка содержимого книги из-за использования сортировки
 
Jack Famous, Спасибо, а куда необходимо вставлять этот код? Попробовал повесить на событие открытия книги, "x" заменил на полный путь и название текущего файла, но у меня просто серый экран возникает..(
Ускорение работы фильтров в эксель
 
Спасибо, посмотрю.  
Ускорение работы фильтров в эксель
 
Добрый день! Подскажите пожалуйста, если на больших данных тормозит эксель с фильтрами, возможно ли ускорить эту работу с помощью макросов? Или же в стандартном фильтре уже все оптимизировано и не получится сделать быстрее? Была мысль, что может использовать SQL и выводить результат запроса на новый лист, но это не совсем удобно, хотелось бы классическим фильтром.
Ошибка содержимого книги из-за использования сортировки
 
Юрий М, понял, ну вот я тоже соглашаюсь и вроде работает. Думал, что как то можно убрать эту, все таки не удобно. Спасибо за ответ.
p.s. по картинкам принято на будущее.  
Ошибка содержимого книги из-за использования сортировки
 
Добрый день! Помогите пожалуйста разобраться. В общем есть файл с макросом, когда запускаю макрос, все нормально отрабатывает, далее сохраняю файл. А при повторном открытии файла вылетают ошибки содержимого (скрины во вложении). Опытным путем удалось определить, что это возникает из-за части макроса:
Код
'Сортировка
    Application.AddCustomList ListArray:=Array("Готовая продукция на складе", "Упаковка финишМЦ", "Покраска порошковая ( Покраска МЦ)", "Реестр заданий на ОПО (общий) 4 День", "Реестр заданий на ОПО (общий) 3 День", "Реестр заданий на ОПО (общий) 2 День", "Реестр заданий на ОПО (общий) 1 День", "Реестр заданий на ОПО (общий)", "Комплектация МЦ (Склад МЦ)", "Заготовительный-Станочная группа", "МТО", "Разработка КТД и ПЗ")
    ActiveWorkbook.Worksheets("МСводный реестр заданий").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("МСводный реестр заданий").Sort.SortFields.Add Key:=Range(Cells(5, 1), Cells(n, 1)), _
        SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
        "Готовая продукция на складе, Упаковка финишМЦ, Покраска порошковая ( Покраска МЦ), Реестр заданий на ОПО (общий) 4 День, Реестр заданий на ОПО (общий) 3 День, Реестр заданий на ОПО (общий) 2 День, Реестр заданий на ОПО (общий) 1 День, Реестр заданий на ОПО (общий), Комплектация МЦ (Склад МЦ), Заготовительный-Станочная группа, МТО, Разработка КТД и ПЗ", DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("МСводный реестр заданий").Sort
        .SetRange Range(Cells(5, 1), Cells(n, 57))
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Если эту часть убрать и запускать изначально макрос с файлом без этой части, то при последующих открытиях этого файла ошибка не возникает. Что это может быть и как это убрать можно?
Изменено: DopplerEffect - 10 Июн 2019 11:01:58
Убрать из ячейки все кроме цифр
 
Спасибо!
Убрать из ячейки все кроме цифр
 
Добрый день!
Подскажите пожалуйста, кто знает, как можно макросом удалить из ячейки все символы, кроме цифр?
Пропорционально распределить потребность по товарам с определенным условием
 
Vik_tor, в том то и дело, я не знаю реально как должно быть, просто если кто то сталкивался с подобным может знает решение более менее оптимальное.  
Пропорционально распределить потребность по товарам с определенным условием
 
Добрый день!
Помогите пожалуйста решить задачу. Условия следующие:
1. Есть товар, по которому рассчитана потребность к заказу (500)
2. Данный товар можно заказать у нескольких производителей
3. Есть данные по месячным продажам товара каждого из производителей и остаткам на складе.
4. Нужно распределить потребность к заказу по всем производителям наиболее оптимальным образом, учитывая продажи и остатки.

Вообще изначально, если бы в условии не нужно было учитывать остатки, то все решается банальной пропорцией относительно продаж, но в случае когда нужно учесть еще остатки у меня возникла сложность с математикой. На мой взгляд тут нужно получить некий алгоритм расчета, при котором при заказе товара у поставщиков итоговые остатки получатся в точности пропорционально продажам, при этом сумма заказа товара по поставщикам будет равняться рассчитанной потребности (500).

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

Буду благодарен за любые наводки.
 
Сортировка по определенному правилу через VBA (по алфавиту не подойдет)
 
V,Спасибо!
Сортировка по определенному правилу через VBA (по алфавиту не подойдет)
 
V, текст один и тот же, а есть такая сортировка штатная? А как ее на VBA реализовать, мне бы просто как называется метод и я найду сам, а то гугл моего вопроса не понимает)
Все нашел где этот список добавляется, записал макрокодером.  
Изменено: DopplerEffect - 26 Апр 2019 10:33:08
Сортировка по определенному правилу через VBA (по алфавиту не подойдет)
 
Добрый день! Подскажите пожалуйста, есть определенная таблица, в ней есть поле, определяющее характеристику строки (в примере это значения Группа начальная, Группа средняя, Группа конечная). Мне нужно макросом сгруппировать строки таким образом, что бы вначале были строки с Группой начальной, потом с Группой средней и потом с Группой конечной. Наложение стандартного фильтра не вариант, т.к. порядок фраз никак не завязан на алфавите.
Ошибка при написании формулы в сводной таблице, которая выводит текстовое значение
 
Андрей VG, спасибо за ответ, а если нет возможности установить на рабочую машину доп надстройку, можно ли как то решить данную проблему стандартными средствами экселя без применения макросов?
Ошибка при написании формулы в сводной таблице, которая выводит текстовое значение
 
Добрый день!
Подскажите пожалуйста кто знает, во вложении пример файла со сводной таблицей. В сводной таблице в поле Рейтинг забита формула:
Код
=ЕСЛИ('Кол-во сделок'<5;"отстающий";0)
В случае вывода числа, формула работает, но при выводе текста "отстающий" выдает ошибку, как можно решить эту проблему?  
Проверить условие, что в массиве данных есть последовательность из 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, эх, хотел я избежать сводных, но походу не вариант, только макросом или сводную лепить. Спасибо за ответ!
Группировка данных по дням, неделям, месяцам
 
Добрый день! Есть таблица в Эксель, в одной колонке идут даты. Нужно сгруппировать данные таким образом (типа инструмента группировка), что бы таблица изначально была свернута, нажимаю плюс, выходят месяца по списку, нажимаю плюс перед каждым месяцем выходят недели в этом месяце, нажимаю еще плюс перед неделей и выходят даты. Подскажите пожалуйста есть ли какой то стандартный инструмент позволяющий это сделать? Желательно что бы при добавлении новых дат, автоматически группировка расширялась.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 След.
Наверх