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

Страницы: 1
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
Формула с динамическим именем страницы в формате даты
 
Добрый день.

Есть формула в файле 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

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

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

Нужно вставить переменную указывающую номер строки в гиперссылку, пытался задать через .address, но что-то не получилось.
Код
ActiveCell.FormulaR1C1 = _
         "=HYPERLINK(""#Лист1!""&address(5,1),""ссылка"")"
Формула суммирования с условием
 
Добрый день, возникла необходимость в нетривиальном решении подсчета суммы чисел в стобце: найти в столбце отрицательные числа, и суммировать те из них, что не имеют равного им положительного значения, при этом игнорируя остальные положительные числа в столбце. Пример прилагаю.
Суммировать данные с нескольких листов по условию
 
Добрый вечер, помогите правильно преобразовать формулу для корректной работы в 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
Вставка значения ячейки в формулу макроса.
 
Добрый вечер.
Код
sht.Cells(16, 21).FormulaR1C1 = "=(R[-8]C-R[-14]C)*7%+R[-14]C-R[-11]C-R[-6]C"

Возможно ли заменить 7% на значение ячейки другого листа, по типу Sheets("123").Cells(7, 15).
Сортировка данных по листам.
 
Доброго вечера уважаемые!
Прошу помочь с доработкой макроса, на первый лист планируется выгружать данные в диапазоне до 200 строк и 10 столбцов для последующего распределения по листам. На листы данные с первого нужно добавлять последовательно, не перезаписывая, а добавляя к уже существующим, после чего сортировать по столбцу даты.
При удалении части строк на первом листе, что-то ломаеться.. видимо нужна проверка пустых строк.
Изменено: Phurba - 11.04.2016 23:56:40
Фильтрация работы макроса по дню недели.
 
Доброго вечера уважаемые!
Возник следующий вопрос: при работе данного макроса создаются листы с последовательными датами в названии, для воскресений необходимо добавить дополнительную ячейку  и изменить значение одной из формул для понедельников. Возможно, ли встроить в макрос фильтр на выполнение этих действий для листов чье имя содержит дату выпадающую соответственно на вс. и пн.?
Код
Sub AddSheetsvv()
Dim i As Integer, NameSheet As String
Application.ScreenUpdating = False
For i = 2 To 15
NameSheet = i
Sheets("def").Copy After:=Sheets(Sheets.Count)
Sheets("def (2)").Cells(1, 6) = Sheets("Оглавление").Cells(i, 1)
Sheets("def (2)").Name = Sheets("Оглавление").Cells(i, 1)
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = False
Sheets("def").Select
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
End Sub

Скрытый текст
Страницы: 1
Наверх