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

Вход

Регистрация

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

 

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

Результаты поиска
krosav4ig Дата: Пятница, 24.10.2014, 20:16 | Сообщение № 2081 | Тема: Аналог "примечания" в ячейке с текстом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

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


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

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

Автор - krosav4ig
Дата добавления - 24.10.2014 в 20:16
krosav4ig Дата: Четверг, 23.10.2014, 16:56 | Сообщение № 2082 | Тема: Формула для автоматической замены значений
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Данные с http://www.profinanceservice.com/ не обновляются возможно потому, что для источника используется статическая ссылка и при обновлении информация берется из кеша.


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДанные с http://www.profinanceservice.com/ не обновляются возможно потому, что для источника используется статическая ссылка и при обновлении информация берется из кеша.

Автор - krosav4ig
Дата добавления - 23.10.2014 в 16:56
krosav4ig Дата: Четверг, 23.10.2014, 16:50 | Сообщение № 2083 | Тема: Формула для автоматической замены значений
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
lenacia, а в профиле указали 2013 ;) , вот я и предложил формулу )


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

Автор - krosav4ig
Дата добавления - 23.10.2014 в 16:50
krosav4ig Дата: Четверг, 23.10.2014, 12:51 | Сообщение № 2084 | Тема: Формула для автоматической замены значений
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
lenacia, те две формулы работают только начиная с excel 2013.


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеlenacia, те две формулы работают только начиная с excel 2013.

Автор - krosav4ig
Дата добавления - 23.10.2014 в 12:51
krosav4ig Дата: Среда, 22.10.2014, 22:15 | Сообщение № 2085 | Тема: Формула для автоматической замены значений
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Решение одной формулой. Актуально с версии Excel 2013
Код
=--ПОДСТАВИТЬ(ФИЛЬТР.XML(ВЕБСЛУЖБА("http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req="&ТЕКСТ(СЕГОДНЯ();"Д.М.ГГГГ"));"//Valute[CharCode=""USD""]/Value");",";ПСТР(1/2;2;1))



upd.
сделал более универсальную формулу. код валюты берется из A1 (там пользовательский формат), дата берется из С1 (если пусто, то СЕГОДНЯ() )
Код
=ПОДСТАВИТЬ(ФИЛЬТР.XML(ВЕБСЛУЖБА("http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req="&ТЕКСТ(ЕСЛИ(ЕЧИСЛО(C1);C1;ЕСЛИОШИБКА(ДАТАЗНАЧ(C1);СЕГОДНЯ()));"ДД.ММ.ГГГГ"));"//Valute[CharCode="""&ПРОПИСН(A1)&"""]/Value");",";ПСТР(1/2;2;1))/ФИЛЬТР.XML(ВЕБСЛУЖБА("http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req="&ТЕКСТ(ЕСЛИ(ЕЧИСЛО(C1);C1;ЕСЛИОШИБКА(ДАТАЗНАЧ(C1);СЕГОДНЯ()));"ДД.ММ.ГГГГ"));"//Valute[CharCode="""&ПРОПИСН(A1)&"""]/Nominal")
К сообщению приложен файл: 8201493.xls (71.5 Kb) · 9327383.xls (64.5 Kb)


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

Сообщение отредактировал krosav4ig - Четверг, 23.10.2014, 00:34
 
Ответить
СообщениеРешение одной формулой. Актуально с версии Excel 2013
Код
=--ПОДСТАВИТЬ(ФИЛЬТР.XML(ВЕБСЛУЖБА("http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req="&ТЕКСТ(СЕГОДНЯ();"Д.М.ГГГГ"));"//Valute[CharCode=""USD""]/Value");",";ПСТР(1/2;2;1))



upd.
сделал более универсальную формулу. код валюты берется из A1 (там пользовательский формат), дата берется из С1 (если пусто, то СЕГОДНЯ() )
Код
=ПОДСТАВИТЬ(ФИЛЬТР.XML(ВЕБСЛУЖБА("http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req="&ТЕКСТ(ЕСЛИ(ЕЧИСЛО(C1);C1;ЕСЛИОШИБКА(ДАТАЗНАЧ(C1);СЕГОДНЯ()));"ДД.ММ.ГГГГ"));"//Valute[CharCode="""&ПРОПИСН(A1)&"""]/Value");",";ПСТР(1/2;2;1))/ФИЛЬТР.XML(ВЕБСЛУЖБА("http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req="&ТЕКСТ(ЕСЛИ(ЕЧИСЛО(C1);C1;ЕСЛИОШИБКА(ДАТАЗНАЧ(C1);СЕГОДНЯ()));"ДД.ММ.ГГГГ"));"//Valute[CharCode="""&ПРОПИСН(A1)&"""]/Nominal")

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

Excel 2007,2010,2013
lenacia, после импорта используйте формулы
курс usd
Код
=ИНДЕКС(www.profinanceservice;2;2)

курс eur
Код
=ИНДЕКС(www.profinanceservice;3;2)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеlenacia, после импорта используйте формулы
курс usd
Код
=ИНДЕКС(www.profinanceservice;2;2)

курс eur
Код
=ИНДЕКС(www.profinanceservice;3;2)

Автор - krosav4ig
Дата добавления - 22.10.2014 в 18:26
krosav4ig Дата: Среда, 22.10.2014, 13:00 | Сообщение № 2087 | Тема: Разбиение данных, идущих через запятую
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
обратите внимание на
Код
СТРОКА()-9
9 - это номер строки первой ячейки с формулой
если ошибку выдает в столбце код, то возможно там у в исходном диапазоне есть объединенные ячейки, если так, то в формуле перед последней скобкой допишите ;1


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеобратите внимание на
Код
СТРОКА()-9
9 - это номер строки первой ячейки с формулой
если ошибку выдает в столбце код, то возможно там у в исходном диапазоне есть объединенные ячейки, если так, то в формуле перед последней скобкой допишите ;1

Автор - krosav4ig
Дата добавления - 22.10.2014 в 13:00
krosav4ig Дата: Среда, 22.10.2014, 12:47 | Сообщение № 2088 | Тема: Разбиение данных, идущих через запятую
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно и с объединенными, нужно разъединить ячейку, ввести формулу, потом объединить обратно и протянуть, но
Цитата
объединенные ячейки=ЗЛО©
К сообщению приложен файл: 9201747.xlsx (12.8 Kb)


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

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

Excel 2007,2010,2013


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

Автор - krosav4ig
Дата добавления - 22.10.2014 в 12:04
krosav4ig Дата: Среда, 22.10.2014, 11:10 | Сообщение № 2090 | Тема: Разбиение данных, идущих через запятую
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
вариант
К сообщению приложен файл: 9568657.xlsx (13.1 Kb)


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

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

Excel 2007,2010,2013
Тут было
Код
=ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(A11)-ДЛСТР(ПОДСТАВИТЬ(A11;",";))=ЧСТРОК(СМЕЩ(Лист1!$A$3;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1;СЧЁТЗ(СМЕЩ(Лист1!$A:$A;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1))));A11;ЕСЛИ(ДЛСТР(A11)>1;A11&",";",")&ИНДЕКС(""&СМЕЩ(Лист1!$A$3;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1;СЧЁТЗ(СМЕЩ(Лист1!A:A;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1)));1+ДЛСТР(A11)-ДЛСТР(ПОДСТАВИТЬ(A11;",";))));",0,";",,")

должны быть включены итеративные вычисления
на ячейке с формулой F2->Enter , зажать F9
К сообщению приложен файл: 9051797.xls (70.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеТут было
Код
=ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(A11)-ДЛСТР(ПОДСТАВИТЬ(A11;",";))=ЧСТРОК(СМЕЩ(Лист1!$A$3;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1;СЧЁТЗ(СМЕЩ(Лист1!$A:$A;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1))));A11;ЕСЛИ(ДЛСТР(A11)>1;A11&",";",")&ИНДЕКС(""&СМЕЩ(Лист1!$A$3;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1;СЧЁТЗ(СМЕЩ(Лист1!A:A;;ПОИСКПОЗ(A9;Лист1!$1:$1;)-1)));1+ДЛСТР(A11)-ДЛСТР(ПОДСТАВИТЬ(A11;",";))));",0,";",,")

должны быть включены итеративные вычисления
на ячейке с формулой F2->Enter , зажать F9

Автор - krosav4ig
Дата добавления - 22.10.2014 в 02:09
krosav4ig Дата: Среда, 22.10.2014, 01:29 | Сообщение № 2092 | Тема: Аналог "примечания" в ячейке с текстом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Что отправляется командой Application.SendKeys "^{END}"

Ctrl+End
так надо что ли?
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'включаем действие по клику
    On Error GoTo err
     If Not Intersect(Target, Range("K4:K5000")) Is Nothing Then 'включаем макрос для данного диапазона ячеек
         With Target(1, 1) 'указываем, с какой ячейкой работать макросу
             With Application: .ScreenUpdating = 0: .EnableEvents = 0: End With
             Dim Name$: Name = Application.UserName
             Dim L&: L = Len(.Value)
             Dim char, arr&(), i&
             ReDim arr(L + (L > 0))
             For i = 1 To L: arr(i - 1) = .Characters(i, 1).Font.Color: Next
             'если ячейка изначально пуста, то включаем макрос без перевода на новую строку
             .Value = .Value & IIf(L, vbLf, "") & Now & " " & Name & ": "
             For i = 1 To L: .Characters(i, 1).Font.Color = arr(i - 1): Next
             'With .Characters(InStr(.Value, Name), Len(Name)) ' если раскомментировать эту строку и закометировать следующую, то выделится только имя пользователя
             With .Characters(L + 1, Len(.Value) - L - 1)
                 .Font.Color = IIf(Name = "krosav4ig", vbRed, vbBlue)
             End With
             .Characters(Len(.Value)).Font.ColorIndex = xlAutomatic
             Application.SendKeys "^{END}"
         End With
     End If
     Cancel = 0
     If err.Number Then MsgBox "Ошибка " & err.Number & " (" & err.Description & ") в Worksheet_BeforeDoubleClick модуля Лист2"
err:
With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Что отправляется командой Application.SendKeys "^{END}"

Ctrl+End
так надо что ли?
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'включаем действие по клику
    On Error GoTo err
     If Not Intersect(Target, Range("K4:K5000")) Is Nothing Then 'включаем макрос для данного диапазона ячеек
         With Target(1, 1) 'указываем, с какой ячейкой работать макросу
             With Application: .ScreenUpdating = 0: .EnableEvents = 0: End With
             Dim Name$: Name = Application.UserName
             Dim L&: L = Len(.Value)
             Dim char, arr&(), i&
             ReDim arr(L + (L > 0))
             For i = 1 To L: arr(i - 1) = .Characters(i, 1).Font.Color: Next
             'если ячейка изначально пуста, то включаем макрос без перевода на новую строку
             .Value = .Value & IIf(L, vbLf, "") & Now & " " & Name & ": "
             For i = 1 To L: .Characters(i, 1).Font.Color = arr(i - 1): Next
             'With .Characters(InStr(.Value, Name), Len(Name)) ' если раскомментировать эту строку и закометировать следующую, то выделится только имя пользователя
             With .Characters(L + 1, Len(.Value) - L - 1)
                 .Font.Color = IIf(Name = "krosav4ig", vbRed, vbBlue)
             End With
             .Characters(Len(.Value)).Font.ColorIndex = xlAutomatic
             Application.SendKeys "^{END}"
         End With
     End If
     Cancel = 0
     If err.Number Then MsgBox "Ошибка " & err.Number & " (" & err.Description & ") в Worksheet_BeforeDoubleClick модуля Лист2"
err:
With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]

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

Excel 2007,2010,2013
UDF СцепитьЕсли
Код
=СцепитьЕсли(СМЕЩ(Лист1!A3;;ПОИСКПОЗ(A9;Лист1!1:1;)-1;СЧЁТЗ(СМЕЩ(Лист1!A:A;;ПОИСКПОЗ(A9;Лист1!1:1;)-1)));">0";СМЕЩ(Лист1!A3;;ПОИСКПОЗ(A9;Лист1!1:1;)-1;СЧЁТЗ(СМЕЩ(Лист1!A:A;;ПОИСКПОЗ(A9;Лист1!1:1;)-1)));", ")
К сообщению приложен файл: f1.xls (52.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеUDF СцепитьЕсли
Код
=СцепитьЕсли(СМЕЩ(Лист1!A3;;ПОИСКПОЗ(A9;Лист1!1:1;)-1;СЧЁТЗ(СМЕЩ(Лист1!A:A;;ПОИСКПОЗ(A9;Лист1!1:1;)-1)));">0";СМЕЩ(Лист1!A3;;ПОИСКПОЗ(A9;Лист1!1:1;)-1;СЧЁТЗ(СМЕЩ(Лист1!A:A;;ПОИСКПОЗ(A9;Лист1!1:1;)-1)));", ")

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

Excel 2007,2010,2013
mrdc, вот кстати ссылка на тему ADO и SQL запросов к данным в книгах excel


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеmrdc, вот кстати ссылка на тему ADO и SQL запросов к данным в книгах excel

Автор - krosav4ig
Дата добавления - 21.10.2014 в 00:38
krosav4ig Дата: Понедельник, 20.10.2014, 19:58 | Сообщение № 2095 | Тема: Аналог "примечания" в ячейке с текстом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как-то так
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'включаем действие по клику
     If Not Intersect(Target, Range("K4:K5000")) Is Nothing Then 'включаем макрос для данного диапазона ячеек
             With Target(1, 1) 'указываем, с какой ячейкой работать макросу
                 Dim Name$: Name = Application.UserName
                 If IsEmpty(Target) Then 'если ячейка изначально пуста, то включаем макрос без перевода на новую строку
                     .Value = Now & " " & Name & ": "
                 Else
                     .Value = .Value & vbLf & Now & " " & Name & ": "
                 End If
                 'With .Characters(InStr(.Value, Name), Len(Name)) ' если раскомментировать эту строку и закометировать следующую, то выделится только имя пользователя
                 With .Characters(Len(.Value), 1)
                     .Font.Color = IIf(Name = "Иванов А.", vbRed, vbBlue)
                 End With
                 Application.SendKeys "^{END}"
             End With
         End If
Cancel = 0
End Sub
[/vba]


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

Сообщение отредактировал krosav4ig - Вторник, 21.10.2014, 00:02
 
Ответить
Сообщениекак-то так
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'включаем действие по клику
     If Not Intersect(Target, Range("K4:K5000")) Is Nothing Then 'включаем макрос для данного диапазона ячеек
             With Target(1, 1) 'указываем, с какой ячейкой работать макросу
                 Dim Name$: Name = Application.UserName
                 If IsEmpty(Target) Then 'если ячейка изначально пуста, то включаем макрос без перевода на новую строку
                     .Value = Now & " " & Name & ": "
                 Else
                     .Value = .Value & vbLf & Now & " " & Name & ": "
                 End If
                 'With .Characters(InStr(.Value, Name), Len(Name)) ' если раскомментировать эту строку и закометировать следующую, то выделится только имя пользователя
                 With .Characters(Len(.Value), 1)
                     .Font.Color = IIf(Name = "Иванов А.", vbRed, vbBlue)
                 End With
                 Application.SendKeys "^{END}"
             End With
         End If
Cancel = 0
End Sub
[/vba]

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

Excel 2007,2010,2013
mrdc, в формуле gling, для последнего значения замените СТРОКА() на 1, для предпоследнего - на 2
добавление значений занимает около 1 минуты, вне зависимости добавляем одно значение или массив.

Автопересчет формул включен? Если да, то попробуйте добавлять данные при отключенном автопересчете, потом выполнить запустить пересчет клавишей F9. выделить диапазон с формулами, которые нужно пересчитать и выполнить макрос
[vba]
Код
Sub пересчет()
      Selection.Calculate
End Sub
[/vba]


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

Сообщение отредактировал krosav4ig - Понедельник, 20.10.2014, 19:41
 
Ответить
Сообщениеmrdc, в формуле gling, для последнего значения замените СТРОКА() на 1, для предпоследнего - на 2
добавление значений занимает около 1 минуты, вне зависимости добавляем одно значение или массив.

Автопересчет формул включен? Если да, то попробуйте добавлять данные при отключенном автопересчете, потом выполнить запустить пересчет клавишей F9. выделить диапазон с формулами, которые нужно пересчитать и выполнить макрос
[vba]
Код
Sub пересчет()
      Selection.Calculate
End Sub
[/vba]

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

Excel 2007,2010,2013
еще вариант для разнообразия
для C3 формула
Код
=ПОИСКПОЗ(;СЧЁТЕСЛИ(СМЕЩ($A11:$A20000;СТРОКА($A$1:$A$20000););C1);)

для C5
Код
=ПОИСКПОЗ(1;СЧЁТЕСЛИ(СМЕЩ($A11:$A20000;СТРОКА($A$1:$A$20000););C1);)

формулы массивные, вводятся по Crtl+Shift+Enter


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениееще вариант для разнообразия
для C3 формула
Код
=ПОИСКПОЗ(;СЧЁТЕСЛИ(СМЕЩ($A11:$A20000;СТРОКА($A$1:$A$20000););C1);)

для C5
Код
=ПОИСКПОЗ(1;СЧЁТЕСЛИ(СМЕЩ($A11:$A20000;СТРОКА($A$1:$A$20000););C1);)

формулы массивные, вводятся по Crtl+Shift+Enter

Автор - krosav4ig
Дата добавления - 20.10.2014 в 14:58
krosav4ig Дата: Понедельник, 20.10.2014, 13:31 | Сообщение № 2098 | Тема: Найти текстовую ячейку (1) среди других текстовых (0)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Код
=СМЕЩ(A1;ПОИСКПОЗ(1;1^A1:A8);)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Код
=СМЕЩ(A1;ПОИСКПОЗ(1;1^A1:A8);)

Автор - krosav4ig
Дата добавления - 20.10.2014 в 13:31
krosav4ig Дата: Воскресенье, 19.10.2014, 01:23 | Сообщение № 2099 | Тема: Открытия папки через VBA
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
небольшая поправка
[vba]
Код
Sub ОткрытьПапкуТекущейКниги()
Dim sh: Set sh = CreateObject("Wscript.Shell")
sh.Run """" & ActiveWorkbook.Path & """": Set sh = Nothing
End Sub
[/vba]
если нужно открыть какую-то определенную папку, то путь к ней пишите вместо ActiveWorkbook.Path


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениенебольшая поправка
[vba]
Код
Sub ОткрытьПапкуТекущейКниги()
Dim sh: Set sh = CreateObject("Wscript.Shell")
sh.Run """" & ActiveWorkbook.Path & """": Set sh = Nothing
End Sub
[/vba]
если нужно открыть какую-то определенную папку, то путь к ней пишите вместо ActiveWorkbook.Path

Автор - krosav4ig
Дата добавления - 19.10.2014 в 01:23
krosav4ig Дата: Суббота, 18.10.2014, 23:07 | Сообщение № 2100 | Тема: Открытия папки через VBA
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Dim sh: Set sh = CreateObject("Wscript.Shell")
sh.Run (ActiveWorkbook.Path): Set sh = Nothing
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[vba]
Код
Dim sh: Set sh = CreateObject("Wscript.Shell")
sh.Run (ActiveWorkbook.Path): Set sh = Nothing
[/vba]

Автор - krosav4ig
Дата добавления - 18.10.2014 в 23:07
Поиск:

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