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

Страницы: 1
PowerPivot. Общие итоги. Расчет среднего значения, Не могу понять почему в общих итогах некорректно рассчитывается среднее значение
 
Сломал голову. Не могу понять почему в общих итогах некорректно рассчитывается среднее значение. В книге была пара запросов PQ формирующих базу данных. (удалил облегчить файл) и сводная таблица, для которой рассчитаны 3 меры (+2 промежуточные). Сейчас первые три столбца с итогами правильно посчитались, но на большем количестве данных также была ошибка.  Глубоко понимания DAX и Power Pivot - нет.   Помогите разобраться, пожалуйста.
Изменено: Deymos85 - 08.07.2025 14:52:06
Автоматическая протяжка случайных чисел
 
Добрый день!

Может кто-нибудь подсказать по какому принципу Эксель заполняет ячейки протяжкой если это не нумерация?

Например, последние два числа получены протяжкой:

8,2
9
10,2
10,4
10,75
12
12,53666667
13,2352381


Понятно, что это какая-то прогрессия, но хотелось бы знать четкий алгоритм.
Изменено: Deymos85 - 24.10.2024 09:45:03
Требуется мудреная автоматическая нумерация приложений, Нумерация должная быть в несколько уровней по различным критериям, подробное описание в файле-примере
 
Помогите, пожалуйста)) Нумерация должная быть в несколько уровней по различным критериям, подробное описание в файле-примере.
Эксель перестал отображать всё... Даже кнопки управления
 
Добрый день, помогите кто, чем может?

Запустил протестировать макрос, но результат неожиданный...

Во всех книгах пропадает отображение всего окна при попытке каких либо манипуляций, доступна только кнопка "закрыть", но при ее нажатии появляется тоже пустое диалоговое окно, которое тоже можно только закрыть.
Грешил на Application.ScreenUpdating = False, думал забыл поставить Application.ScreenUpdating = True  по завершении, но нет Application.ScreenUpdating = True присутствует в коде. Я даже запустил Application.ScreenUpdating = True в отдельном коде, не помогло.
В чем может быть дело?
Код прилагаю:
Код
Sub Оптравить_в_БД()

Dim arr As Variant
Dim arr2 As Variant
Application.ScreenUpdating = False
Application.DisplayAlerts = False


arr = Array(Range("J1").Value)

   With ActiveWorkbook
   
arr2 = Array(.Name)

Workbooks.Add
ActiveWorkbook.SaveAs FileName:= _
        "\\nas\Departs\_Калькуляции\" & "1_Выгрузка_" & arr(0) & ".xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        Sheets.Add.Name = "Вс"
        Sheets.Add.Name = "РАСЧЕТ"

    Windows(arr2(0)).Activate
    Sheets("РАСЧЕТ").Select
    ActiveSheet.Unprotect "2010"
    Cells.Select
    Selection.Copy
    Windows("1_Выгрузка_" & arr(0) & ".xlsx").Activate
    Sheets("РАСЧЕТ").Select
    Cells.Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
    Windows(arr2(0)).Activate
    Sheets("Вс").Select
    Cells.Select
    Selection.Copy
    Windows("1_Выгрузка_" & arr(0) & ".xlsx").Activate
    Sheets("Вс").Select
    Cells.Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("W4:Y4").Select
    Selection.FormulaR1C1 = "=1"
        Sheets("РАСЧЕТ").Select
    ActiveWorkbook.Close SaveChanges:=True
    
    Windows(arr2(0)).Activate

    Sheets("РАСЧЕТ").Select
    Range("A1").Activate
    ActiveSheet.Protect "2010"
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End With
End Sub
Изменено: Deymos85 - 17.05.2023 15:54:51
"Сохранить копию как" во вновь созданную папку в выбранной директории
 
Добрый день форумчане!

Изучил здесь одну тему:
Как макросом сохранить копию текущего файла?

применил, понравилось, но хочется большего...

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

Код
Sub Save_Copy_As()   
'---------------------------------------------------------------------------------------   
' Procedure    : Save_Copy_As   
' Author       : Alex_ST   
' Topic_HEADER : Как макросом сохранить копию текущего файла?   
' Topic_URL    : http://www.planetaexcel.ru/forum.php?thread_id=16506   
' DateTime     : 08.02.12, 12:00   
' Purpose      : Сохранение копии активного файла   
' Notes        : Путь сохранения копий хранится в коллекции .Names книги (в именованном диапазоне)   
'---------------------------------------------------------------------------------------   
   Const sPath_in_Names = "Path4SaveCopyAs"   ' имя элемента коллекции .Names, в котором должен храниться путь для сохранения копий файла   
   Dim sSuff$: sSuff = " [" & Format(Now, "yyyy/mm/dd hh-mm'ss''") & "]"    ' суффикс к имени файла копии - дата и время сохренения копии файла   
   Dim FileName, sExp$, sDirPath$, sFullFilePath$, sNewPath$   
   Dim bReadOnlyRecommended As Boolean  
   With ActiveWorkbook   
      FileName = .Name   ' например, "Книга1.xls"   
      sExp = Right(FileName, Len(FileName) - InStrRev(FileName, ".") + 1)   ' расширение файла вместе с точкой (например, ".xls")   
      FileName = Left(FileName, Len(FileName) - Len(sExp)) & sSuff & sExp   ' например, "Книга1 [2012.02.06 15-24'39''].xls"   
      On Error Resume Next  
      sDirPath = .Names(sPath_in_Names).Value   ' считать из коллекции .Names значение, ранее сохраненное под именем sPath_in_Names   
      If Err Then .Names.Add sPath_in_Names, .Path & "\": sDirPath = .Names(sPath_in_Names).Value   ' если считать не удалось, значит путь ранее не задавался и он для первого раза задаётся равным ActiveWorkbook.Path   
      sDirPath = Mid(sDirPath, 3, Len(sDirPath) - 3)   ' убрать из считанного значения в начале "= и в конце "   
      sDirPath = sDirPath & IIf(Right(sDirPath, 1) = "\", "", "\")  ' на всякий случай (если имя было задано в ручную и при этом не верно - без слэша)   
      .Names(sPath_in_Names).Value = sDirPath   ' запомнить путь сохранения копий в коллекции .Names под именем sPath_in_Names   
      sFullFilePath = sDirPath & FileName   ' полный путь сохранения вместе с полным именем копии   
REPEAT_:   
      FileName = Application.GetSaveAsFilename(InitialFileName:=sFullFilePath, _   
                                               FileFilter:="Excel Files (*" & sExp & "), *" & sExp & ", All Files (*.*),*.*", _   
                                               Title:="Сохранение копии файла")   'задать путь сохранения и имя копии файла в окне выбора   
      If VarType(FileName) = vbBoolean Then Exit Sub   ' если нажали "Отмена", то FileName = False, если "Сохранить" - полный путь к файлу вместе с его именем   
      If FileName = .FullName Then MsgBox "Здесь нельзя сохранить файл под таким именем!", 16, "Ошибка": GoTo REPEAT_   
      sDirPath = Left(FileName, InStrRev(FileName, "\"))   ' путь к папке сохранения копий без имени файла   
      .Names(sPath_in_Names).Value = sDirPath   ' запомнить выбранный в диалоге путь в коллекции .Names под именем sPath_in_Names   
      bReadOnlyRecommended = .ReadOnlyRecommended   ' запомнить параметры исходного файла   
      .ReadOnlyRecommended = --(MsgBox("Рекомендовать открывать файл только для чтения?", 36) - 7)   ' MsgBox Argument 4==vbYesNo 32==vbQuestion, MsgBox Return Values: vbYes=6, vbNo=7   
      .SaveCopyAs FileName   
      .ReadOnlyRecommended = bReadOnlyRecommended   ' восстановить параметры исходного файла   
   End With  
End Sub
Изменено: Deymos85 - 01.04.2022 12:31:26
Флажек не видит значение "ЛОЖЬ-ИСТИНА" установленное в ячейку макросом
 
Добрый день.

Помогите научить флажек видить))

Если в ячейку, к которой привязан флажек, значение  "ЛОЖЬ-ИСТИНА" вносить вручную, то флажек переключается, но если его установить макросом, так не происходит.

Добавление кусочка:

   With Selection
       arr = .Value
       .NumberFormat = "General"
       .Value = arr
   End With

Не помогло, хотя помогает с переключателями, но там числовые значения...
Изменено: Deymos85 - 30.03.2022 13:51:09
Оглавление по страницам области печати
 
Добрый день.

Имеется документ сформированный в экселе.
В документе имеются разделы, по наименованиям которых необходимо сделать оглавление на первой странице.
Документ динамический (скрываются строки фильтром), наименования разделов оказываются на разных страницах области печати.
Подскажите, пожалуйста, можно как-то реализовать автоматическое изменение оглавления?
Запуск формы двойным кликом по ячейке
 
Здоровья, вам, форумчане.

Нужна помощь хочу запускать форму по двойному клику на ячейку но ничего не получается.
Есть файл в котором форма запускается при кликах на любую ячейку кроме нужной (А1).

Вариант кода:

Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address = "$A$1" Then MForm1.show
    End If
End Sub


тоже не помогает
Изменено: Deymos85 - 25.12.2019 20:00:40
Получить в сводной таблице среднее значение суммированных диапазонов
 
Помогите, пожалуйста. В сводной таблице в значениях выбрана "сумма по полю" в итогах тоже соответственно сумма, можно ли получить среднее значение суммированных значений в итогах? в примере нужный итог в сводной таблице3. Требуется тот же итог в сводной таблице 1.
Изменено: Deymos85 - 02.11.2018 10:18:57
Перенос значения Textbox на определенную позицию в массиве на листе
 
Доброго дня, форумчане!

Помогите, пожалуйста, дилетанту, а то он завис)))
В примере,  нажатие кнопки "ввод данных" приводит к установлению значений найденных через ВПР в массиве на листе в тексбоксы.
1. не получается изменить значение текстбокса вручную, почему?
2. как внесенное вручную изменение значение текстбокса, внести в массив на листе при нажатии кнопки "выполнить расчет"?

Спасибо.
Закрыть Excel полностью из под макроса Outlook
 
Вопрос чисто эстетический.
Макрос аутлука открыл эксель, запустил макрос экселя, обработал файл, закрыл книгу.
Эксель остался запущен, как его закрыть
Код
Sub raschet()
Dim XLApp As Object
Set XLApp = CreateObject("Excel.Application")
XLApp.Workbooks.Open ("C:\MyDocs\Расчет.xlsm")
XLApp.Application.Visible = True
XLApp.Application.Run "'Расчет.xlsm'!macro"
XLApp.Workbooks.Close
End Sub
Отправка макросом через аутлук
 
Код
    Set OutMail = OutApp.CreateItem(0)

    'заполняем поля сообщения
    With OutMail
        .To .Cells(i, 1).Offset(1, 52).Value
        .Subject = "Расчетный листок" & "_" & Format(Date, "mmmm/yyyy")
        .Body = ""
        .Attachments.Add ThisWorkbook.Path & "\" & .Cells(i, 1).Offset(1, 0).Value & "_" & Format(Date, "mmmm/yyyy") & ".xlsx"
        .Send
    End With
Помогите разобраться почему ругается на строку:             .To .Cells(i, 1).Offset(1, 52).Value   ?
Разделить лист на файлы с неравным диапазоном строк, диапазоны строк ограничены одинаковым значением в столбце A
 
Добрый день! помогите пожалуйста! Собственно вопрос только в том, как выделить диапазон автоматически, пример файла прилагается.

ЗЫ: в принципе значение по которому нужно нарезать всегда находиться в ячейке (А4).
Изменено: Deymos85 - 22.08.2016 10:16:20
Запрос (диалоговое окно) на изменение значений в ячейках
 
Здравствуйте! помогите, подскажите. Можно ли реализовать в макросе запрос как на картинке. Чтобы он отобразил значения которые уже имеются в ячейках, с возможностью их изменения.
Макрос для распределения одного длинного столбца на несколько коротких и обратно
 
Добрый день! Подскажите как можно быстренько разложить один столбец на несколько. Собственно, что требуется сделать описано в примере
Убрать часть текста в ячейке с помощью макроса
 
Здравствуйте! Пытался задать вопрос в старой теме, но никто не отвечает, а предложенные ранее решения не помогают  ((

Подскажите как с помощью макроса можно отсечь часть значения в выделенной ячейке по определенному символу, в том числе символ. В моем случае "/"
например:
10*0,75/52,3
или
5*1,5/3,5

Отсечь нужно то что "/"
т.е. результат:
52,3
или
3,5
Переместить значение ячейки при двух условиях
 
Здравствуйте!  Помогите, начинающему. Что я сделал не так? Выдает ошибку - 13 Type mismatch. Пробовал много вариантов везде одна и та же ошибка. Код пишу на ощупь. Прилагаю изначальный вариант.
Код
Sub 1()
If IsEmpty(Range("D202")) = True And (Range("C8:D8") = "перенести") = True Then
    Range("D203").Cut Destination:=Range("D202")
End If
End Sub
Удалить строки по значению в столбце, если такого значения нет в столбце на другом листе
 
Здравствуйте! И снова я за помощью. Суть: в столбце А на первом листе есть коды, и в столбце А на втором листе тоже есть коды, но не полный набор. Нужно удалить на первом листе строки с кодами которых нет на втором листе.
Для одинаковых значений в А подставить большее значение в С из В
 
Спасите. 17 тысяч строк. Для одинаковых значений в столбце А нужно выбрать лишь одно самое большое (маленькое) значение в столбце В и подставить его в столбец С
Страницы: 1
Наверх