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

Страницы: 1 2 След.
VBA. Добавление в формулу имени страницы
 
doober, Благодарю, работает.
VBA. Добавление в формулу имени страницы
 
Добрый вечер. Нужно что-бы макрос добавлял на каждую страницу формулу которая будет содержать значение листа в соответствии с названием текущей страницы. т.е формула на листе 1.11.19 дожна выглядеть как

Код
=ИНДЕКС('C:\[1.xlsx]1.11.19'!C3:C3;)

на 2.11.19 и т.д

Код
=ИНДЕКС('C:\[1.xlsx]2.11.19'!C3:C3;)

Пример прилагаю. Так-же буду благодарен за вариант корректного завершения макроса при достижении конца документа.

Изменено: Phurba - 16.11.2019 20:30:38
Формула с динамическим именем страницы в формате даты
 
/close
Изменено: Phurba - 16.11.2019 18:39:53
Формула с динамическим именем страницы в формате даты
 
Добрый день.

Есть формула в файле 1 берущая данные из закрытого файла 2  
Код
=ИНДЕКС('C:\[2.xlsx]11.11.19'!O13:O13;)
имена страниц в файлах имеют формат дд.мм.гг, возможно ли динамически задать имя листа в формуле так, чтобы формула ссылалась на лист с тем же именем, как и тот на котором она находится.
Запуск макроса при изменении отслеживаемых файлов.
 
Спасибо! кажется все работает как нужно.
Запуск макроса при изменении отслеживаемых файлов.
 
Привязал к диапазону текстбокс, но никак не могу разобраться как его отслеживать, можно пример кода для события изменения текстбокса?
Запуск макроса при изменении отслеживаемых файлов.
 
Забыл поправить диапазон в примере, но макрос все-равно не выполняется даже при указании на одну ячейку. Время сохранения файла в ячейке меняеться, но макрос не реагирует. Возможно причина в использовании не стандартной формулы для ссылки?
Запуск макроса при изменении отслеживаемых файлов.
 
Добрый день!
В прилагаемом файле в ячейках D3,E3 отображается дата и время изменения файла расположенного по ссылке, данные ячеек обновляются каждые 10 секунд. Необходимо запустить макрос "postrenew" при изменении файла (данных в ячейке d3,e3)
При использовании данного макроса реакции на изменение значения D3,E3 не происходит.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("D3:E3")) Is Nothing Then
Call postrenew
End If
End Sub

Прошу помочь доработать этот макрос или альтернативное решение для отслеживания изменения файлов.

Сопоставление чисел с противоположными знаками в столбце
 
Казанский,Спасибо !
Сопоставление чисел с противоположными знаками в столбце
 
К сожалению обнаружился недостаток формулы, если среди совпадающих чисел, положительных будет больше отрицательных, то формула прибавляет их к общей сумме: (50;-50;50) результат оказывается равен 50. При подсчете положительных чисел без пары, проблема аналогична. Буду благодарен за вариант решения задачи макросом, если формулой учесть данные условия невозможно.
Сопоставление чисел с противоположными знаками в столбце
 
Казанский, спасибо! работает корректно.
Сопоставление чисел с противоположными знаками в столбце
 
Добрый день.
Имеется столбец чисел содержащий положительные и отрицательные числа (200, -155, 155, -50) , необходимо проверить является ли число отрицательным, и если да то имеется ли такое же положительные число в этом столбце ( -155 и 155 например) если положительно числа нет, то нужно прибавить это число к общей сумме отрицательных чисел без пары. До сих пор использовал следующую формулу =СУММПРОИЗВ(B2:B1001*(B2:B1001<0)*(1-СЧЁТЕСЛИ(B2:B1001;-B2:B1001))), но у нее есть недостаток, при совпадении одинаковых отрицательных чисел ( -50, 50, -50) второе число не учитывается в общей сумме как число без пары. Можно ли добавить в формулу учет повторных значений или применить для решения этой задачи макрос. Пример прилагаю.
Переменная в адресе гиперссылки
 
The_Prist, Спасибо, работает как нужно.

Karataev, Там есть массив, но видимо я недостаточно точно выразился, в любом случае спасибо.
Переменная в адресе гиперссылки
 
Спасибо, но не совсем понял ваш код, вы присваиваете arrAddress(5, 1) = "1:1" и ссылка будет постоянно ссылаться на ячейку 1:1
Мне нужно вставить в гиперссылку переменную i которая работает внутри цикла:
Код
Sub sdfg()
Dim i As Integer
    For i = 2 To 50
гиперрссылка с i
    Next
End Sub
Макрос для добавления файла PDF, DOC и др. в книгу Excel
 
Сам adobe'ом не пользуюсь, но попробуйте так.
Код
Private Sub CommandButton1_Click()
Dim FilesToOpen
    FilesToOpen = Application.GetOpenFilename _
      (FileFilter:="All files (*.*), *.*", _
      MultiSelect:=False, Title:="Files to Merge")

    ActiveSheet.OLEObjects.Add(Filename:=FilesToOpen, Link:= _
        False, DisplayAsIcon:=True, IconFileName:= _
        """C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"" ""%1""" _
        , IconIndex:=0, IconLabel:= _
        FilesToOpen).Select
End Sub
Переменная в адресе гиперссылки
 
Цитата
Karataev написал:
address(5,1)
Да это 5 строка 1 столбца, но вместо указания строки мне нужно использовать переменную i , которая будет соответственно изменять адрес ссылки с изменением номера строки.
Изменено: Phurba - 07.01.2017 15:34:37
Переменная в адресе гиперссылки
 
Добрый вечер.

Нужно вставить переменную указывающую номер строки в гиперссылку, пытался задать через .address, но что-то не получилось.
Код
ActiveCell.FormulaR1C1 = _
         "=HYPERLINK(""#Лист1!""&address(5,1),""ссылка"")"
Формула суммирования с условием
 
Большое спасибо! всё работает
Формула суммирования с условием
 
Добрый день, возникла необходимость в нетривиальном решении подсчета суммы чисел в стобце: найти в столбце отрицательные числа, и суммировать те из них, что не имеют равного им положительного значения, при этом игнорируя остальные положительные числа в столбце. Пример прилагаю.
Суммировать данные с нескольких листов по условию
 
Спасибо, но как ни пробовал выдает ошибку синтаксиса.
INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-20]C[-15]),1,FIND(""]"",CELL(""имяфайла"",R[-20]C[-15])),""""),""ДД.ММ.ГГ"")&""'!o""&ROW(R[-12]C[-1]))
INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-20]C[-15]),1,FIND(""]"",CELL(""имяфайла"",R[-20]C[-15])),"""")-6,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-12]C[-1]))
Может быть можно через двссыл, вписать две страницы в виде диапазона?
Суммировать данные с нескольких листов по условию
 
Первый вариант для фиксированных страниц работает, =СУММ('27.06.16:03.07.16'!O9),
но как в макросе вставить имя листа в формулу в виде переменной?
Код
ActiveCell.FormulaR1C1 = "=SUM('27.06.16:03.07.16'!R[-7]C[-1])"
Суммировать данные с нескольких листов по условию
 
Формула суммирует данные из ячейки O9 шести предыдущих листов и листа на котором находиться, то есть за неделю. В книге имена листов организованы по датам в порядке возрастания в формате ДД.ММ.ГГ
В формуле отталкиваясь от имени текущего листа, например 10.07.15 через двссыл получаем 9.07.15 / 8.07.15 - 4.07.15 и данные их ячеек O9.
Попробовал сделать через именованную, но там формула сразу привязалась к активному листу и независимо от размещения выдавала значения только с него.
Можно через макрос вставлять необходимую формулу адресно обращаясь к именам листов, но не хотелось бы делать такую жесткую привязку.
Суммировать данные с нескольких листов по условию
 
Формула через двссыл собирает числа с шести листов и ссылкой на ячейку с седьмого.
Код
=ДВССЫЛ("'"&ТЕКСТ(ЗАМЕНИТЬ(ЯЧЕЙКА("имяфайла";A1);1;НАЙТИ("]";ЯЧЕЙКА("имяфайла";A1));"")-1;"ДД.ММ.ГГ")&"'!o"&СТРОКА(O9))
при вставке одной ссылки работает нормально в виде
Код
ActiveCell.FormulaR1C1 = _
        "=INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-19]C[-15]),1,FIND(""]"",CELL(""имяфайла"",R[-19]C[-15])),"""")-1,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-11]C[-1]))"
полная формула
Скрытый текст
через макрорекодер
Код
ActiveCell.FormulaR1C1 = _
        "=SUM(INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-20]C[-15]),1,FIND(""]"",CELL(""имяфайла"",R[-20]C[-15])),"""")-1,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-12]C[-1])),INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-20]C[-15]),1,FIND(""]"",CELL(""имяфайла"",R[-20]C[-15])),"""")-2,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-12]C[-1])),INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-20]C[-" & _
        "IND(""]"",CELL(""имяфайла"",R[-20]C[-15])),"""")-3,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-12]C[-1])),INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-20]C[-15]),1,FIND(""]"",CELL(""имяфайла"",R[-20]C[-15])),"""")-4,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-12]C[-1])),INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-20]C[-15]),1,FIND(""]"",CELL(""имяфайла"",R[-20]C[-15])),"""")-5,""ДД.ММ.Г" & _
        "o""&ROW(R[-12]C[-1])),INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-20]C[-15]),1,FIND(""]"",CELL(""имяфайла"",R[-20]C[-15])),"""")-6,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-12]C[-1])),R[-12]C[-1],)"


получается вроде аналогично с первой, но при записи в ячейку выдает ошибку "run-time error 1004 application-defined or object-defined error"
Суммировать данные с нескольких листов по условию
 
Добрый вечер, помогите правильно преобразовать формулу для корректной работы в vba.
.FormulaLocal работать отказалась
Код
Range("Q7").FormulaR1C1 = _
        "=SUM(INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-15]C[-16]),1,FIND(""]"",CELL(""имяфайла"",R[-15]C[-16])),"""")-1,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-7]C[-2])),INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-15]C[-16]),1,FIND(""]"",CELL(""имяфайла"",R[-15]C[-16])),"""")-2,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-7]C[-2])),INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-15]C[-16" & _
        "D(""]"",CELL(""имяфайла"",R[-15]C[-16])),"""")-3,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-7]C[-2])),INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-15]C[-16]),1,FIND(""]"",CELL(""имяфайла"",R[-15]C[-16])),"""")-4,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-7]C[-2])),INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-15]C[-16]),1,FIND(""]"",CELL(""имяфайла"",R[-15]C[-16])),"""")-5,""ДД.ММ.ГГ"")" & _
        "ROW(R[-7]C[-2])),INDIRECT(""'""&TEXT(REPLACE(CELL(""имяфайла"",R[-15]C[-16]),1,FIND(""]"",CELL(""имяфайла"",R[-15]C[-16])),"""")-6,""ДД.ММ.ГГ"")&""'!o""&ROW(R[-7]C[-2])),R[-7]C[-2],)"

Формула массива с фильтром суммирования по дате.
 
Благодарю, то что нужно.
Формула массива с фильтром суммирования по дате.
 
Доброго вечера, уважаемые  знатоки.
Можно ли использовать формулу массива для вычисления значений выбранных по диапазону дат столбцов.
То есть введя в две ячейки дату начальную и конечную, получить вычисление значений ячеек для всего выбранного диапазона.
Пример прилагаю.
Изменено: Phurba - 17.05.2016 22:00:44
Вставка значения ячейки в формулу макроса.
 
Недосмотрел увы, но нужна формула в ячейке
Проще похоже просто 4 формулы вписать с if, но тем не менее буду благодарен за варианты решения, на будущее.
sht.Cells(16, 21).FormulaR1C1 = "=(R[-8]C-R[-14]C)*(INDIRECT(""'Оглавление'!N""&ROW(R[-21]C[-2])))%+R[-14]C-R[-11]C-R[-6]C"
Пришел пока к такому виду,  но как вставить переменную на место номера строки или прибавить/вычесть из нее.
Изменено: Phurba - 26.04.2016 01:15:46
Вставка значения ячейки в формулу макроса.
 
Спасибо, кажется в таком виде работает корректно.
Проценты проставляются на разные страницы документа через другую функцию.
Изменено: Phurba - 26.04.2016 01:13:50
Вставка значения ячейки в формулу макроса.
 
Вычленил участок с ошибкой.
Изменено: Phurba - 26.04.2016 00:10:34
Вставка значения ячейки в формулу макроса.
 
Application-defined or object-defined  error
похоже ошибка где-то в макросе, буду искать.
Изменено: Phurba - 25.04.2016 23:41:19
Страницы: 1 2 След.
Наверх