Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Записи участника (krosav4ig) - Мир MS Excel

Результаты поиска
krosav4ig Дата: Четверг, 30.10.2014, 13:37 | Сообщение № 2061 | Тема: макросом для нарезки на несколько файлов
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
здесь смотрели?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениездесь смотрели?

Автор - krosav4ig
Дата добавления - 30.10.2014 в 13:37
krosav4ig Дата: Среда, 29.10.2014, 23:06 | Сообщение № 2062 | Тема: Сохранить и заменить название файла
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]ну и от меня печенька
вместо
[vba]
Код
"C:\Users\User\Desktop\Еркин\АКБ и продажи\АКБ и продажи ВОСТОК.xlsx"
[/vba]
можно написать
[vba]
Код
Environ("userprofile") & "\Desktop\Еркин\АКБ и продажи\АКБ и продажи ВОСТОК.xlsx"
[/vba][/offtop]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[offtop]ну и от меня печенька
вместо
[vba]
Код
"C:\Users\User\Desktop\Еркин\АКБ и продажи\АКБ и продажи ВОСТОК.xlsx"
[/vba]
можно написать
[vba]
Код
Environ("userprofile") & "\Desktop\Еркин\АКБ и продажи\АКБ и продажи ВОСТОК.xlsx"
[/vba][/offtop]

Автор - krosav4ig
Дата добавления - 29.10.2014 в 23:06
krosav4ig Дата: Среда, 29.10.2014, 00:12 | Сообщение № 2063 | Тема: преобразование даты в числовой формат в диапазоне без цикла
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте. Помогите пожалуйста с разобраться с проблемой. Написал процедуру сортировки больших массивов через arraylist. Работает, сортирует, скорость вроде неплохая (1048576 элементов менее, чем за минуту :o ), но возникла проблема при выгрузке дат на лист. Выгружаются они в текстовом формате, чтобы получить числовой формат я заменяю точки на / (в 320 строке), но после замены оказывается, что день и месяц меняются местами, и некоторые даты (те, в которых перед первой точкой число более 12) остались текстом. Заменяю вручную через - все заменяется и получаются правильные даты. Помогите разобраться в причинах такого поведения. В принципе если 140 строку заменить на[vba]
Код
ALD.Add cell.Formula
[/vba] и 320 на[vba]
Код
.Numberformat = "dd.mm.yyyy"
[/vba] то все работает правильно, но я хочу понять почему не получается сделать это заменой. Спасибо
К сообщению приложен файл: ArrayListSort1.xlsb (26.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 29.10.2014, 00:15
 
Ответить
СообщениеЗдравствуйте. Помогите пожалуйста с разобраться с проблемой. Написал процедуру сортировки больших массивов через arraylist. Работает, сортирует, скорость вроде неплохая (1048576 элементов менее, чем за минуту :o ), но возникла проблема при выгрузке дат на лист. Выгружаются они в текстовом формате, чтобы получить числовой формат я заменяю точки на / (в 320 строке), но после замены оказывается, что день и месяц меняются местами, и некоторые даты (те, в которых перед первой точкой число более 12) остались текстом. Заменяю вручную через - все заменяется и получаются правильные даты. Помогите разобраться в причинах такого поведения. В принципе если 140 строку заменить на[vba]
Код
ALD.Add cell.Formula
[/vba] и 320 на[vba]
Код
.Numberformat = "dd.mm.yyyy"
[/vba] то все работает правильно, но я хочу понять почему не получается сделать это заменой. Спасибо

Автор - krosav4ig
Дата добавления - 29.10.2014 в 00:12
krosav4ig Дата: Вторник, 28.10.2014, 12:41 | Сообщение № 2064 | Тема: Остатки , если в них содержится формула, выделить др. цветом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
UDF[vba]
Код
Function ЕФОРМУЛА(ByRef cell As Range)
     ЕФОРМУЛА = cell(1).HasFormula
End Function
[/vba]
и условное форматирование
К сообщению приложен файл: 8167867.xls (34.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеUDF[vba]
Код
Function ЕФОРМУЛА(ByRef cell As Range)
     ЕФОРМУЛА = cell(1).HasFormula
End Function
[/vba]
и условное форматирование

Автор - krosav4ig
Дата добавления - 28.10.2014 в 12:41
krosav4ig Дата: Вторник, 28.10.2014, 11:58 | Сообщение № 2065 | Тема: вставка Даты создания файла в ячейку
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Зачем обижать то?

я не хотел :(


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Зачем обижать то?

я не хотел :(

Автор - krosav4ig
Дата добавления - 28.10.2014 в 11:58
krosav4ig Дата: Вторник, 28.10.2014, 11:39 | Сообщение № 2066 | Тема: вставка Даты создания файла в ячейку
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а может у вас батарейка 2032 сдохла и время сбилось?
хотя, тут скорее всего дело в чем-то другом, если это была бы батарейка, то время бы шло.


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 28.10.2014, 11:50
 
Ответить
Сообщениеа может у вас батарейка 2032 сдохла и время сбилось?
хотя, тут скорее всего дело в чем-то другом, если это была бы батарейка, то время бы шло.

Автор - krosav4ig
Дата добавления - 28.10.2014 в 11:39
krosav4ig Дата: Вторник, 28.10.2014, 11:23 | Сообщение № 2067 | Тема: вставка Даты создания файла в ячейку
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Alex_ST, свойство Creation date excel записывает сразу при создании книги (открытия excel) еще до сохранения и никогда не перезаписывается, свойство файла DateCreated записывается при первом сохранении этого файла. Если открыть старый файл и сохранить его как, то запишется только DateCreated. Вот и вся магия


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеAlex_ST, свойство Creation date excel записывает сразу при создании книги (открытия excel) еще до сохранения и никогда не перезаписывается, свойство файла DateCreated записывается при первом сохранении этого файла. Если открыть старый файл и сохранить его как, то запишется только DateCreated. Вот и вся магия

Автор - krosav4ig
Дата добавления - 28.10.2014 в 11:23
krosav4ig Дата: Понедельник, 27.10.2014, 23:38 | Сообщение № 2068 | Тема: вставка Даты создания файла в ячейку
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Подключите Microsoft Scripting Runtime (Tools - References)

а можно и не подключать, если вместо[vba]
Код
Dim objFSO As Scripting.FileSystemObject
Set objFSO = New Scripting.FileSystemObject
[/vba]написать[vba]
Код
Dim objFSO: Set objFSO = CreateObject("Scripting.FileSystemObject")
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 27.10.2014, 23:38
 
Ответить
Сообщение
Подключите Microsoft Scripting Runtime (Tools - References)

а можно и не подключать, если вместо[vba]
Код
Dim objFSO As Scripting.FileSystemObject
Set objFSO = New Scripting.FileSystemObject
[/vba]написать[vba]
Код
Dim objFSO: Set objFSO = CreateObject("Scripting.FileSystemObject")
[/vba]

Автор - krosav4ig
Дата добавления - 27.10.2014 в 23:38
krosav4ig Дата: Понедельник, 27.10.2014, 17:42 | Сообщение № 2069 | Тема: Как построить график спирали Архимеда в Excel?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
методом научного тыка

http://www.cyberforum.ru/post4325261.html
К сообщению приложен файл: 7090872.xls (45.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 27.10.2014, 22:03
 
Ответить
Сообщениеметодом научного тыка

http://www.cyberforum.ru/post4325261.html

Автор - krosav4ig
Дата добавления - 27.10.2014 в 17:42
krosav4ig Дата: Воскресенье, 26.10.2014, 22:23 | Сообщение № 2070 | Тема: как найти и удалить нужные строки в Excel 2003
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
1 оформите код тегом Код VBA (кнопка #)
2 почитайте вот тут


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение1 оформите код тегом Код VBA (кнопка #)
2 почитайте вот тут

Автор - krosav4ig
Дата добавления - 26.10.2014 в 22:23
krosav4ig Дата: Воскресенье, 26.10.2014, 22:17 | Сообщение № 2071 | Тема: Сцепить два столбца
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
файле показан пример

неа


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
файле показан пример

неа

Автор - krosav4ig
Дата добавления - 26.10.2014 в 22:17
krosav4ig Дата: Воскресенье, 26.10.2014, 03:39 | Сообщение № 2072 | Тема: Ср арифм данных в массиме с определенным шагом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
ну дык это и есть формула массива, вводится комбинацией Ctrl+Shift+Enter
Код
=СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1))))/МАКС(1;СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))))

Код
СЧЁТЗ($2:$2)
-количество непустых значений во 2 строке (количество клиентов +1)
Код
(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)
-возвращает массив {0:1:2:3}, его же умножаем на 8 (шаг сдвига вправо) и получаем массив {0:8:16:24} (на столько ячеек вправо от J5 нужно сдвигаться, чтобы получать значения из необходимых столбцов всех клиентов)
Код
СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1))
возвращает массив значений из необходимых столбцов
Код
СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))
считает сумму выбранных значений
Код
СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))
считает количество ненулевых значений из выбранных
формула
Код
МАКС(1;значение)
нужна чтобы избежать деления на 0
вы можете посмотреть как вычисляются отдельные фрагменты формулы, для этого нужно в строке формул выделить нужный фрагмент и нажать F9
Ну вот вроде и все


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 26.10.2014, 03:43
 
Ответить
Сообщениену дык это и есть формула массива, вводится комбинацией Ctrl+Shift+Enter
Код
=СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1))))/МАКС(1;СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))))

Код
СЧЁТЗ($2:$2)
-количество непустых значений во 2 строке (количество клиентов +1)
Код
(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)
-возвращает массив {0:1:2:3}, его же умножаем на 8 (шаг сдвига вправо) и получаем массив {0:8:16:24} (на столько ячеек вправо от J5 нужно сдвигаться, чтобы получать значения из необходимых столбцов всех клиентов)
Код
СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1))
возвращает массив значений из необходимых столбцов
Код
СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))
считает сумму выбранных значений
Код
СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))
считает количество ненулевых значений из выбранных
формула
Код
МАКС(1;значение)
нужна чтобы избежать деления на 0
вы можете посмотреть как вычисляются отдельные фрагменты формулы, для этого нужно в строке формул выделить нужный фрагмент и нажать F9
Ну вот вроде и все

Автор - krosav4ig
Дата добавления - 26.10.2014 в 03:39
krosav4ig Дата: Суббота, 25.10.2014, 22:37 | Сообщение № 2073 | Тема: Как просуммировать одинаковые строчки с последующим удаление
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Index,
Код
=ЕСЛИ(в ячейке B2 есть значение;ЕСЛИ(в столбце B в строках от 1 до предыдущей было B2;"";вывести сумму значений из столбца C соответствующих B2);"")

удалять только макросом, без макроса можно только отфильтровать
или использовать сводные
Richman, потому что нужно, чтобы сумма по коду считалась только 1 раз и не дублировалась в строках ниже
К сообщению приложен файл: Index-1-.xls (47.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 25.10.2014, 22:51
 
Ответить
СообщениеIndex,
Код
=ЕСЛИ(в ячейке B2 есть значение;ЕСЛИ(в столбце B в строках от 1 до предыдущей было B2;"";вывести сумму значений из столбца C соответствующих B2);"")

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

Автор - krosav4ig
Дата добавления - 25.10.2014 в 22:37
krosav4ig Дата: Суббота, 25.10.2014, 21:46 | Сообщение № 2074 | Тема: Как просуммировать одинаковые строчки с последующим удаление
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
в параметрах поля значений должна быть сумма вместо количества


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениев параметрах поля значений должна быть сумма вместо количества

Автор - krosav4ig
Дата добавления - 25.10.2014 в 21:46
krosav4ig Дата: Суббота, 25.10.2014, 21:44 | Сообщение № 2075 | Тема: Как просуммировать одинаковые строчки с последующим удаление
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
т.к. со сводной я опоздал, то держите вариант на формулах
К сообщению приложен файл: 2208047.xls (68.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениет.к. со сводной я опоздал, то держите вариант на формулах

Автор - krosav4ig
Дата добавления - 25.10.2014 в 21:44
krosav4ig Дата: Суббота, 25.10.2014, 20:46 | Сообщение № 2076 | Тема: Ср арифм данных в массиме с определенным шагом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а обязательно это делать макросом?


upd.
заменил файл
К сообщению приложен файл: 3173210.xlsm (33.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 25.10.2014, 21:17
 
Ответить
Сообщениеа обязательно это делать макросом?


upd.
заменил файл

Автор - krosav4ig
Дата добавления - 25.10.2014 в 20:46
krosav4ig Дата: Суббота, 25.10.2014, 19:27 | Сообщение № 2077 | Тема: Защита от дурака. Ввод в форму только цифр.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеРабота с модулями классов

Автор - krosav4ig
Дата добавления - 25.10.2014 в 19:27
krosav4ig Дата: Суббота, 25.10.2014, 16:18 | Сообщение № 2078 | Тема: Заменить последниюю запятую в ячейке
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно так [vba]
Код
=ПОДСТАВИТЬ(A4;", "&ИНДЕКС({"АО";"ГБУ ДОУ";"ЗАО";"ИП";"НКО";"ОАО";"ОДО";"ООО";"ОП";"ПБОЮЛ";"ЧП";"ЧУП"};ПОИСКПОЗ(;ПОИСК(", "&{"АО";"ГБУ ДОУ";"ЗАО";"ИП";"НКО";"ОАО";"ОДО";"ООО";"ОП";"ПБОЮЛ";"ЧП";"ЧУП"};A4);-1));)
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеможно так [vba]
Код
=ПОДСТАВИТЬ(A4;", "&ИНДЕКС({"АО";"ГБУ ДОУ";"ЗАО";"ИП";"НКО";"ОАО";"ОДО";"ООО";"ОП";"ПБОЮЛ";"ЧП";"ЧУП"};ПОИСКПОЗ(;ПОИСК(", "&{"АО";"ГБУ ДОУ";"ЗАО";"ИП";"НКО";"ОАО";"ОДО";"ООО";"ОП";"ПБОЮЛ";"ЧП";"ЧУП"};A4);-1));)
[/vba]

Автор - krosav4ig
Дата добавления - 25.10.2014 в 16:18
krosav4ig Дата: Суббота, 25.10.2014, 15:48 | Сообщение № 2079 | Тема: Аналог "примечания" в ячейке с текстом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[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
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 25.10.2014, 16:45
 
Ответить
Сообщение[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
[/vba]

Автор - krosav4ig
Дата добавления - 25.10.2014 в 15:48
krosav4ig Дата: Суббота, 25.10.2014, 14:49 | Сообщение № 2080 | Тема: Ср арифм данных в массиме с определенным шагом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
leskris, xls файл в студию deal , или тему вообще закроют


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеleskris, xls файл в студию deal , или тему вообще закроют

Автор - krosav4ig
Дата добавления - 25.10.2014 в 14:49
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!