Данные с http://www.profinanceservice.com/ не обновляются возможно потому, что для источника используется статическая ссылка и при обновлении информация берется из кеша.
Данные с http://www.profinanceservice.com/ не обновляются возможно потому, что для источника используется статическая ссылка и при обновлении информация берется из кеша.krosav4ig
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'включаем действие по клику Cancel = 1 On Error GoTo err 'если произойдет какая-нибудь ошибка, выполнить последнюю строку кода If Not Intersect(Target, Range("K4:K5000")) Is Nothing Then 'включаем макрос для данного диапазона ячеек With Target(1, 1) 'указываем, с какой ячейкой работать макросу With Application: .ScreenUpdating = 0: End With 'оптимизация производительности макроса Dim Name$: Name = Application.UserName 'задаём переменную Name, содержащую имя пользователя 'волшебство начинается Dim L&: L = Len(.Value) Dim D$, i&, tmp$, k$ Select Case Application.MoveAfterReturnDirection Case xlDown: D = "UP": Case xlUp: D = "DOWN" Case xlRight: D = "LEFT": Case xlLeft: D = "RIGHT" End Select k = "{F2}^{END}" & IIf(L, "%{ENTER}", "") & Now & " " & Name & ": {ENTER}{" & D & "}" Application.SendKeys k DoEvents 'волшебство закончилось ; ) With .Characters(L + 1, Len(.Value) - L - 1) .Font.Color = IIf(Name = "Иванов А." Or Name = "Андреев П." Or Name = "Васьков А.", vbBlue, vbBlack) 'выделяем дату\время\ФИО в комментарии определённого пользователя End With With .Characters(L + 1, Len(.Value) - L).Font .Name = Application.StandardFont: .Bold = 0: .Italic = 0 .Size = Application.StandardFontSize: .Strikethrough = 0 .Subscript = 0: .Superscript = 0: .ThemeFont = xlThemeFontNone .TintAndShade = 0: .Underline = xlUnderlineStyleNone .OutlineFont = 0: .Shadow = 0: .FontStyle = "обычный" End With .Characters(L).Font.ColorIndex = xlAutomatic End With Application.SendKeys "{F2}" End If err: 'следующая строка дожна быть обязательно выполнена With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With 'оптимизация производительности макроса End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'включаем действие по клику Cancel = 1 On Error GoTo err 'если произойдет какая-нибудь ошибка, выполнить последнюю строку кода If Not Intersect(Target, Range("K4:K5000")) Is Nothing Then 'включаем макрос для данного диапазона ячеек With Target(1, 1) 'указываем, с какой ячейкой работать макросу With Application: .ScreenUpdating = 0: End With 'оптимизация производительности макроса Dim Name$: Name = Application.UserName 'задаём переменную Name, содержащую имя пользователя 'волшебство начинается Dim L&: L = Len(.Value) Dim D$, i&, tmp$, k$ Select Case Application.MoveAfterReturnDirection Case xlDown: D = "UP": Case xlUp: D = "DOWN" Case xlRight: D = "LEFT": Case xlLeft: D = "RIGHT" End Select k = "{F2}^{END}" & IIf(L, "%{ENTER}", "") & Now & " " & Name & ": {ENTER}{" & D & "}" Application.SendKeys k DoEvents 'волшебство закончилось ; ) With .Characters(L + 1, Len(.Value) - L - 1) .Font.Color = IIf(Name = "Иванов А." Or Name = "Андреев П." Or Name = "Васьков А.", vbBlue, vbBlack) 'выделяем дату\время\ФИО в комментарии определённого пользователя End With With .Characters(L + 1, Len(.Value) - L).Font .Name = Application.StandardFont: .Bold = 0: .Italic = 0 .Size = Application.StandardFontSize: .Strikethrough = 0 .Subscript = 0: .Superscript = 0: .ThemeFont = xlThemeFontNone .TintAndShade = 0: .Underline = xlUnderlineStyleNone .OutlineFont = 0: .Shadow = 0: .FontStyle = "обычный" End With .Characters(L).Font.ColorIndex = xlAutomatic End With Application.SendKeys "{F2}" End If err: 'следующая строка дожна быть обязательно выполнена With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With 'оптимизация производительности макроса End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'включаем действие по клику Cancel = 0 On Error GoTo err 'если произойдет какая-нибудь ошибка, выполнить последнюю строку кода If Not Intersect(Target, Range("K4:K5000")) Is Nothing Then 'включаем макрос для данного диапазона ячеек With Target(1, 1) 'указываем, с какой ячейкой работать макросу With Application: .ScreenUpdating = 0: End With 'оптимизация производительности макроса Dim Name$: Name = Application.UserName 'задаём переменную Name, содержащую имя пользователя 'волшебство начинается Dim L&: L = Len(.Value) .Characters(L).Insert Right(.Value, 1) & IIf(L, vbLf, "") & Now & " " & Name & ": " Dim L2&: L2 = Len(Target.Characters.Text) Dim AL: Set AL = CreateObject("System.Collections.ArrayList") AL.Add "Иванов А.": AL.Add "Андреев П.": AL.Add "Васьков А." .Characters(L + 1, L2 - L - 1).Font.Color = IIf(AL.contains(Name), vbBlue, vbBlack) 'выделяем дату\время\ФИО в комментарии определённого пользователя Set AL = Nothing 'волшебство закончилось ; ) With .Characters(L + 1, L2 - L).Font .Name = Application.StandardFont: .Bold = 0: .Italic = 0 .Size = Application.StandardFontSize: .Strikethrough = 0 .Subscript = 0: .Superscript = 0: .ThemeFont = 0 .TintAndShade = 0: .Underline = -4142 .OutlineFont = 0: .Shadow = 0: .FontStyle = "обычный" End With .Characters(L2).Font.ColorIndex = xlAutomatic End With End If err: 'следующая строка дожна быть обязательно выполнена With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With 'оптимизация производительности макроса End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'включаем действие по клику Cancel = 0 On Error GoTo err 'если произойдет какая-нибудь ошибка, выполнить последнюю строку кода If Not Intersect(Target, Range("K4:K5000")) Is Nothing Then 'включаем макрос для данного диапазона ячеек With Target(1, 1) 'указываем, с какой ячейкой работать макросу With Application: .ScreenUpdating = 0: End With 'оптимизация производительности макроса Dim Name$: Name = Application.UserName 'задаём переменную Name, содержащую имя пользователя 'волшебство начинается Dim L&: L = Len(.Value) .Characters(L).Insert Right(.Value, 1) & IIf(L, vbLf, "") & Now & " " & Name & ": " Dim L2&: L2 = Len(Target.Characters.Text) Dim AL: Set AL = CreateObject("System.Collections.ArrayList") AL.Add "Иванов А.": AL.Add "Андреев П.": AL.Add "Васьков А." .Characters(L + 1, L2 - L - 1).Font.Color = IIf(AL.contains(Name), vbBlue, vbBlack) 'выделяем дату\время\ФИО в комментарии определённого пользователя Set AL = Nothing 'волшебство закончилось ; ) With .Characters(L + 1, L2 - L).Font .Name = Application.StandardFont: .Bold = 0: .Italic = 0 .Size = Application.StandardFontSize: .Strikethrough = 0 .Subscript = 0: .Superscript = 0: .ThemeFont = 0 .TintAndShade = 0: .Underline = -4142 .OutlineFont = 0: .Shadow = 0: .FontStyle = "обычный" End With .Characters(L2).Font.ColorIndex = xlAutomatic End With End If err: 'следующая строка дожна быть обязательно выполнена With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With 'оптимизация производительности макроса End Sub
=ЕСЛИ(в ячейке B2 есть значение;ЕСЛИ(в столбце B в строках от 1 до предыдущей было B2;"";вывести сумму значений из столбца C соответствующих B2);"")
удалять только макросом, без макроса можно только отфильтровать или использовать сводные Richman, потому что нужно, чтобы сумма по коду считалась только 1 раз и не дублировалась в строках ниже
Index,
Код
=ЕСЛИ(в ячейке B2 есть значение;ЕСЛИ(в столбце B в строках от 1 до предыдущей было B2;"";вывести сумму значений из столбца C соответствующих B2);"")
удалять только макросом, без макроса можно только отфильтровать или использовать сводные Richman, потому что нужно, чтобы сумма по коду считалась только 1 раз и не дублировалась в строках нижеkrosav4ig
-количество непустых значений во 2 строке (количество клиентов +1)
Код
(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)
-возвращает массив {0:1:2:3}, его же умножаем на 8 (шаг сдвига вправо) и получаем массив {0:8:16:24} (на столько ячеек вправо от J5 нужно сдвигаться, чтобы получать значения из необходимых столбцов всех клиентов)
считает количество ненулевых значений из выбранных формула
Код
МАКС(1;значение)
нужна чтобы избежать деления на 0 вы можете посмотреть как вычисляются отдельные фрагменты формулы, для этого нужно в строке формул выделить нужный фрагмент и нажать F9 Ну вот вроде и все
ну дык это и есть формула массива, вводится комбинацией Ctrl+Shift+Enter
-количество непустых значений во 2 строке (количество клиентов +1)
Код
(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)
-возвращает массив {0:1:2:3}, его же умножаем на 8 (шаг сдвига вправо) и получаем массив {0:8:16:24} (на столько ячеек вправо от J5 нужно сдвигаться, чтобы получать значения из необходимых столбцов всех клиентов)
считает количество ненулевых значений из выбранных формула
Код
МАКС(1;значение)
нужна чтобы избежать деления на 0 вы можете посмотреть как вычисляются отдельные фрагменты формулы, для этого нужно в строке формул выделить нужный фрагмент и нажать F9 Ну вот вроде и всеkrosav4ig
Alex_ST, свойство Creation date excel записывает сразу при создании книги (открытия excel) еще до сохранения и никогда не перезаписывается, свойство файла DateCreated записывается при первом сохранении этого файла. Если открыть старый файл и сохранить его как, то запишется только DateCreated. Вот и вся магия
Alex_ST, свойство Creation date excel записывает сразу при создании книги (открытия excel) еще до сохранения и никогда не перезаписывается, свойство файла DateCreated записывается при первом сохранении этого файла. Если открыть старый файл и сохранить его как, то запишется только DateCreated. Вот и вся магияkrosav4ig
а может у вас батарейка 2032 сдохла и время сбилось? хотя, тут скорее всего дело в чем-то другом, если это была бы батарейка, то время бы шло.
а может у вас батарейка 2032 сдохла и время сбилось? хотя, тут скорее всего дело в чем-то другом, если это была бы батарейка, то время бы шло.krosav4ig