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

Страницы: 1 2 След.
Динамический диапазон в диаграмме, Использование переменной для изменения диапазона диаграммы.
 
Круто, спасибо а как вы так сделали? ) Не пойму куда формулу добавлять?
Изменено: vikttur - 25.07.2021 09:56:43
Я только учусь
Динамический диапазон в диаграмме, Использование переменной для изменения диапазона диаграммы.
 
Добрый день, подскажите пожалуйста, как вставить данные строк в диапазон диаграммы?
Мне нужно чтобы в графике отображалась линия в заданном диапазоне из существующего массива данных.
Я только учусь
Макрос. Подстановка соответствующих значений из массива данных по выбору из списка.
 
gling, Спасибо.Приложил свой рабочий пример (значительно урезан), вроде все работает без сбоев.

Юрий М, Спасибо за примеры, изучаю. Пока все получается :)
Я только учусь
Макрос. Подстановка соответствующих значений из массива данных по выбору из списка.
 
сейчас добавил "ускорение" в код, вроде стало стабильнее.
Код
Private Sub Worksheet_Change(ByVal Target As Range)

    Application.DisplayAlerts = 0
    Application.ScreenUpdating = False
    Application.EnableEvents = False

    Dim pSheet As Worksheet, pCell As Range
    If Not Application.Intersect(Target, Me.Range("E7")) Is Nothing Then
        Set pSheet = ThisWorkbook.Worksheets("массив")
        Set pCell = pSheet.Range("A1:A13").Find(Me.Range("E7").Value, MatchCase:=True)
        If Not pCell Is Nothing Then
            Me.Range("E8:E15").Value = Application.Transpose(pCell.Offset(0, 1).Resize(1, 8).Value)
        End If
    End If

    Application.EnableEvents = True
    Application.ScreenUpdating = True
    Application.DisplayAlerts = 1

End Sub
Я только учусь
Макрос. Подстановка соответствующих значений из массива данных по выбору из списка.
 
сейчас понял что проблема даже не в этом, если даже ячейки очистить, то макросом происходит заполнение не соответствующие выбору из выпадающиго списка.
Например: при переборке списка в форму вставляются предыдущие значения... как будто остались в буфере. Возможно это из-за большого объема вставляемых значений в форму? У меня 33 записи заносятся в форму из массива.
все проверил еще на 20 раз... с массивом все в порядке.

Цитата
gling написал:
Попробуйте это
попробовал, но вставляемые значения в форму затираются.
Я только учусь
Макрос. Подстановка соответствующих значений из массива данных по выбору из списка.
 
Если интегрировать с отключением пересчета, все ровно не проходит... Excel виснет.
Работает если только в ручную.
Код
    ActiveSheet.EnableCalculation = False
    Range("F5:F7,F10:F19,K4:K10,K12:K29,O4:O8").ClearContents
    ActiveSheet.EnableCalculation = True
Я только учусь
Макрос. Подстановка соответствующих значений из массива данных по выбору из списка.
 
gling, разобрался, немного был невнимателен, действительно в очистку попал ячейка макроса по действию.
Код
Range("F5:F7,F10:F19,K4:K10,K12:K29,O4:O8").ClearContents

этот макрос работает только если вручну пред вставкой очищать, а можно как-то интегрировать в сам скрипт?  
Изменено: spacemakerman - 18.02.2018 10:18:18
Я только учусь
Макрос. Подстановка соответствующих значений из массива данных по выбору из списка.
 
Андрей VG, Спасибо!

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

пробовал настроить в ручную, но EXCEL зависает после исполнения макроса
Код
Sub clear()
    Range("F5:F7,F10:F19,K4:K10,K12:K29,O4:O8").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    'Range("F5:F7,F10:F19,K4:K10,K12:K29,O4:O8").Value = ""
    'Range("F4:F7,F10:F19,K4:K10,K12:K29,O4:O8").ClearContents
End Sub
что не так...? я так догадываюсь что происходит конфликт с макросом на текущем листе, который активируется по действию в определенной ячейке... но диапазон очистки эта ячейка не входит... ничего не понимаю (
Изменено: spacemakerman - 18.02.2018 10:09:37
Я только учусь
Экспорт DOC в PDF через VBA EXCEL
 
Апострофф, Спасибо попробую
Дмитрий Щербаков, Спасибо за развернутый ответ! Буду разбираться )
Я только учусь
Экспорт DOC в PDF через VBA EXCEL
 
Добрый день!
Что не так? Почему не работает
Код
Sub ExportDocPDF()
Dim objWord As Object, objDocument As Object
    Set objWord = CreateObject("word.application")
    Set objDocument = objWord.Documents.Open(Filename:="C:\template.docx")
    objDocument.ExportAsFixedFormat OutputFileName:="C:\template.pdf", ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=False
   'ActiveDocument.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\template.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    objDocument.Close: objWord.Quit
    Set objDocument = Nothing: Set objWord = Nothing
    
End Sub
Изменено: spacemakerman - 17.02.2018 20:59:00
Я только учусь
Выбор диапазона ячеек по меткам
 
Цитата
Sanja написал: Тогда уж лучше так. Будут перебираться листы, имя которых начинается на 'diagram'.
Да так намного оптимальнее, но я еще не умею так делать :)
А если у листов разные названия?

Цитата
Sanja написал: И вопрос в Коде прокомментируйте. Зачем там эта строка?
это следы моих эксперементов, прошу прощения, забыл убрать (код поправил)
Изменено: spacemakerman - 17.02.2018 18:20:16
Я только учусь
Выбор диапазона ячеек по меткам
 
Sanja, спасибо )

скорей так
Код
Sub ExportArea()
Sheets("diagram").Activate
arrMaker = Array("a", "b", "c")
On Error Resume Next
With ActiveSheet.UsedRange
    For I = 0 To UBound(arrMaker)
        Set iCell = .Find(arrMaker(I))
        If Not iCell Is Nothing Then
            fAddress = iCell.Address
            Do
                sAddress = iCell.Address
                Set iCell = .FindNext(iCell)
            Loop While Not iCell Is Nothing And iCell.Address <> fAddress
        End If
        .Range(fAddress, sAddress).Select
        MsgBox "Выбран диапазон: " & .Range(fAddress, sAddress).Address
        
    Next
Sheets("diagram2").Activate
arrMaker = Array("a", "b", "c")
On Error Resume Next
With ActiveSheet.UsedRange
    For I = 0 To UBound(arrMaker)
        Set iCell = .Find(arrMaker(I))
        If Not iCell Is Nothing Then
            fAddress = iCell.Address
            Do
                sAddress = iCell.Address
                Set iCell = .FindNext(iCell)
            Loop While Not iCell Is Nothing And iCell.Address <> fAddress
        End If
        .Range(fAddress, sAddress).Select
        MsgBox "Выбран диапазон: " & .Range(fAddress, sAddress).Address
    Next
End With
End With
End Sub
Изменено: spacemakerman - 17.02.2018 18:15:31 (убрал лишние строки "objBook.Visible = True" обновил вложения)
Я только учусь
Выбор диапазона ячеек по меткам
 
Добрый день!
Спасибо больше еще раз за предложенное решение.
Но сейчас столкнулся с проблемой - и не могу понять как сделать что бы срабатывало на разных листах

эти варианты не работают (
Код
With Sheets("diagram").Activate.UsedRange
With Sheets("diagram").UsedRange
With ActiveSheet("diagram").Activate.UsedRange
Я только учусь
Замена значений из Excel в Word c сохранением docx-файла
 
Цитата
vikttur написал:
Вариант с закладками (bookmarks)
Сейчас наткнулся на маленький нюанс в решении с закладками - если в теле документа несколько одинаковых значений - это решается выделением через ctrl, но если одинаковые значения в теле документа и колонтитуле, то приходится дописывать в макрос строчки :) Но это мелочи)

прикрепил на всякий случай рабочий скрипт с заменой, может кому пригодится )
Я только учусь
Замена значений из Excel в Word c сохранением docx-файла
 
vikttur, Вы бомибический оптимизатор  8-0
Со своим кодом разобрался, но у Вас прям перфект! )) Спасибо! ))

Про закладки не знал, очень удобно!  :idea:
Но с созданием папки макросом проблема, ни в какую не хочет, такое вообще возможно?
Я только учусь
Замена значений из Excel в Word c сохранением docx-файла
 
срабатывает только если так, но новый путь не создается
Код
objDocument.SaveAs ThisWorkbook.Path & "\" & NewPatchName & ".docx"
Я только учусь
Замена значений из Excel в Word c сохранением docx-файла
 
Цитата
vikttur написал:
Проверьте, если ли расширение в Вашем NewPatchName
Спасибо, есть полный путь с именем файла, который будет генерироваться в зависимости от условий.



Цитата
vikttur написал:
О колонтитуле: сделайте там закладку и заполняйте ее:
как это сделать и где?
не совсем понимаю как применить Ваши коды (
Я только учусь
Замена значений из Excel в Word c сохранением docx-файла
 
Добрый день!
Собираю макрос который по меткам в Word заменяет значения на значения из ячеек в Excel и сохраняет документ по новому пути и присваивает новое имя из соответствующей ячейки.
файл template.docx - должен оставаться неизменным.
Помогите разобраться с колонтитулом и сохранением, почему-то не срабатывает (

Код
Sub ReplaceLabelDocSave()

    Dim objDocument As Object
    ColonText = Sheets("Лист1").Cells(4, 1).Text  'ячейка от куда берется значение для замены колонтитула
    NewPatchName = Sheets("Лист1").Cells(5, 1) 'имя файла и папки
    
 Set objWord = CreateObject("Word.Application")
    If Err.Number Then
       MsgBox "Не могу открыть Word!"
       Exit Sub
    End If
      
 Set objDocument = objWord.Documents.Open(Filename:="C:\temp2018\template.docx") 'Открываем документ
 
    'Замена колонтитула
 objDocument.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter 'Открываем нижний колонтитул
 Set objDocument = objWord.ActiveDocument
    With objWord.Selection
        .Find.ClearFormatting
        .Find.Replacement.ClearFormatting
        .Find.Text = "@колонтитул"
        .Find.Replacement.Text = ColonText
        .Find.Execute Replace:=wdReplaceAll
    End With
      objDocument.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument 'Закрываем колонтитул
      
    'Заменяем метки на значения из ячеек
    With objWord.Selection.Find
       .Text = "@метка1"
       .Replacement.Text = Range("A1")
       .Wrap = 1
       .Execute Replace:=2
       .Text = "@метка2"
       .Replacement.Text = Range("A2")
       .Wrap = 1
       .Execute Replace:=2
       .Text = "@метка3"
       .Replacement.Text = Range("A3")
       .Wrap = 1
       .Execute Replace:=2
    End With
    
     
    objWord.ActiveDocument.SaveAs Filename:=NewPatchName   'Сохранение документа в новую папку с новым именем
    
    objDocument.Close
    objWord.Quit
  
End Sub
Изменено: spacemakerman - 17.02.2018 01:35:38
Я только учусь
Макрос. Подстановка соответствующих значений из массива данных по выбору из списка.
 
хороший макрос, но без комментариев, с моим уровнем программирования сложно разобраться.
Я только учусь
Макрос. Подстановка соответствующих значений из массива данных по выбору из списка.
 
спасибо отправил на ym ) и еще раз большое спасибо за помощь! )
Я только учусь
Макрос. Подстановка соответствующих значений из массива данных по выбору из списка.
 
Как записывать данные из формы в массив разобрался, но как извлекать не пойму, нужен хотя бы принцип. Час рыскал по форуму, есть много решений но больше на основе формул, остальное не совсем подходит.

Задача.
Есть 2 листа - форма и массив с данными.
Нужно чтобы по выбору из списка определенного значения, данные (соответствующие выбранному значению) из массива вставлялись в соответствующие ячейки (схему приложил)
При вставке значений в ячейки предыдущая информация в ячейках формы стирается.
Изменено: spacemakerman - 15.02.2018 10:04:10
Я только учусь
Зеркальный ввод в ячейки на разных листах
 
приложил
Я только учусь
Зеркальный ввод в ячейки на разных листах
 
Добрый день.
Помогите разобраться, подобная тема с зеркальным вводом у же была >> http://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=8&TID=44099
Не хватает знаний как указанный принцип разделить на 2-3 листа
Нужно чтобы значения (текст, цифры) вводились одновременно в определенные ячейки с разных листов.
Изменено: spacemakerman - 09.02.2018 18:45:29 (приложил пример)
Я только учусь
TextBox и СЦЕПИТЬ, Нужно поместить в TextBox текст из нескольких ячеек
 
Цитата
vikttur написал:
Название темы должно отражать суть задачи.
Я только учусь
TextBox и СЦЕПИТЬ, Нужно поместить в TextBox текст из нескольких ячеек
 
Сцепляю текст из нескольких ячеек и вывожу в отельную ячейку,
В фигуре (textbox) делаю ссылку на эту сцепленную ячейку, но в фигуре отображается только часть сцепленного - видно что стоит какое-то ограничение на отображение, как лучше сделать? )
Пример приложил.
Изменено: spacemakerman - 06.02.2018 15:16:43 (приложил пример)
Я только учусь
Доработать макрос расчета площади/периметра CorelDraw 2017
 
Цитата
Андрей VG написал:
Думаю, вам проще обратиться на профильный  форум .
Спасибо за наводку, попробую.
Я только учусь
Доработать макрос расчета площади/периметра CorelDraw 2017
 
Цитата
Андрей VG написал:
Хотелось бы увидеть диапазон адекватности в вашем понимании.
обратившись с проблемой в автосервис меня никто не спрашивал какой у меня диапазон адекватности - меня проконсультировали и ответили, что ремонт будет стоить не меняя запчасти 700р. или 3500р. с ориг.запчастями или 1500р. с аналогами.
Я только учусь
Доработать макрос расчета площади/периметра CorelDraw 2017
 
Готов расстаться с адекватной работе суммой. Либо можно бартером - может кому дизайн нужен? )
Я только учусь
Доработать макрос расчета площади/периметра CorelDraw 2017
 
Цитата
Юрий М написал:
Вы бы лучше сами озвучили бюджет - избежите лишней переписки.
И не пишите через 1-2 строки.
К сожалению нет опыта такого рода сотрудничества - не готов оценить.
Все задачи описаны, поэтому сколько эта доработка может занять времени - для специалиста должно быть очевидным. Дальше все зависит от того сколько стоит ваше время - у всех по разному, поэтому готов рассмотреть предложения.
Я только учусь
Доработать макрос расчета площади/периметра CorelDraw 2017
 
Добрый день!

Есть макрос который нужно доработать!
Основные задачи:
1) Макрос должен работать под CorelDraw 2017 64бит
2) Считать площадь/периметр с учетом текущего масштаба документа и выводить площадь с учетом указанных единиц измерений.
3) Считать несколько выбранных объектов, сгруппированных с подгруппами в том числе.
4) Считать скомбинированные объекты.
Существующий интерфейс макроса устраивает – главное чтобы корректно и без ошибок считал
К заданию приложен макрос и Corel-файл с подробным описанием функционала https://yadi.sk/d/zJREKla93NB5bg
Предложение по вознаграждению пишите в ЛС (оплата через PayPal / сбер)

Скрытый текст
Изменено: spacemakerman - 24.09.2017 12:01:30
Я только учусь
Страницы: 1 2 След.
Наверх