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

Страницы: 1 2 След.
Пустая ячейка при значении ЛОЖЬ в функции ЕСЛИ
 
Цитата
написал:
ДЛСТР(А1:А100)>0
Тоже поймал ступор с поиском решения. Ваше отлично помогло. Спасибо
Обработать текст 13 янв., 07:59:13 как дату, Как помочь екселю такое представление понимать датой или при вставке удалить " .,"
 
Отличное и оптимальное решение и сбоев побочных не дает. Спасибо.
Обработать текст 13 янв., 07:59:13 как дату, Как помочь екселю такое представление понимать датой или при вставке удалить " .,"
 
В макросе который обрабатывается по изменению на листе есть две проблемы - но в целом работает:
1. При действии удаление - вставляет  содержимое буфера
2. При вставке обработанного значения из соседнего столбца - преобразует в дату и добавляет строку или подобный символ (Пример ячейка Q9), что не дает распознать ячейку как дату
3. Периодами вываливается с ошибкой на алгоритм и макрос вообще перестает работать до перезагрузки
Код
Private Sub Worksheet_Change(ByVal Target As Range)
'On Error GoTo ErrorHandler
If Not Intersect(Target, Range("g9:z9")) Is Nothing Then
'If WorksheetFunction.Count(Intersect(Target, Range("g9:z9"))) > 0 Then
   Application.EnableEvents = False
   Application.Undo
   Dim MSForms_DataObject As Object
   Set MSForms_DataObject = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
   With MSForms_DataObject
   .GetFromClipboard
   Target = Replace(.GetText(1), ".,", "")
   End With
   Application.EnableEvents = True
       Set MSForms_DataObject = Nothing
'End If
End If
ErrorHandler:
End Sub
Обработать текст 13 янв., 07:59:13 как дату, Как помочь екселю такое представление понимать датой или при вставке удалить " .,"
 
После вставке в ячейку и дальнейшем удалении в ручную точки с запятой ексель автоформатирует текст в дату которую распознает - как автоматизировать данную операцию или какой то другой вариант.
Изменено: igorbych - 13.01.2022 14:10:23
Ссылка на смежный лист к нужной ячейке
 
все го то надо ..."Смена")&"!E7") циферку 7 поменять на значение ячейки от нужного листа) В файле так накручено что и у меня ногу сломит))

Код
ДВССЫЛ(НАЧАЛОСТРОКИ(ПСТР(ЯЧЕЙКА("filename";A2);ПОИСК("]";ЯЧЕЙКА("filename";A2))+1;31);"Смена")&"!E"&ЗНАЧЕН(O12)) 
в этом не правильном варианте не хватает того чтобы О12 было на том листе имя которое определяется началом формулы.

Код
=ДВССЫЛ(НАЧАЛОСТРОКИ(ПСТР(ЯЧЕЙКА("filename";A2);ПОИСК("]";ЯЧЕЙКА("filename";A2))+1;31);"Смена")&"!E"&ДВССЫЛ(СЦЕПИТЬ(НАЧАЛОСТРОКИ(ПСТР(ЯЧЕЙКА("filename";A1);ПОИСК("]";ЯЧЕЙКА("filename";A1))+1;31);"Смена"))&"!O12"))
Вот такой винегрет работает как надо - но сдается перемаслил я мощно)
Изменено: vikttur - 13.07.2021 22:59:28
Ссылка на смежный лист к нужной ячейке
 
Код
ДВССЫЛ(НАЧАЛОСТРОКИ(ПСТР(ЯЧЕЙКА("filename";A2);ПОИСК("]";ЯЧЕЙКА("filename";A2))+1;31);"Смена")&"!E7")
Помогите допилить ссылку чтобы она брала значение не с E7 а с колонки Е и номер строки брала в ячейке О12 не текущего листа а искомого НАЧАЛОСТРОКИ(ПСТР(ЯЧЕЙКА("filename";A2);ПОИСК("]";ЯЧЕЙКА("filename";A2))+1;31)
Посчитать минимальный средний балл уменьшение влияния от старости
 
Цитата
vikttur написал:
Какие оценки плохие, какие хорошие?
Плохие -1 (2, 3 - опускаем пренебрегаем, слишком нет смысла заморачиваться)
отличные -5 (4 ку опускаем)
Цитата
vikttur написал:
Они могут меняться местами в нижней таблице?
Да это не стабильные цифры внутри недели может быть разное количество оценок и соотношение плохих и хороших исходя из диапазона B8:E9
Цитата
vikttur написал:
Почему В1:Е9 - неизменяемая ссылка
Этот диапазон создан вручную исходя из известных данных указанных в диапазоне B8:E9
Цитата
vikttur написал:
Отмирают... это надо как-то учитывать?
Думаю нет это проще если что скорректировать вручную или формулой на проверку превышение лимита 150 оценок в диапазоне B8:E9
Посчитать минимальный средний балл уменьшение влияния от старости
 
Цитата
vikttur написал:
1. Почему в исходном диапазоне единицы выше пятерок? Это запутывает. Они же идут ниже пятерок.
Сами исходности для заполнения ряда чисел сделаны таблично а приоритет начало отображения плохих оценок связан с тем чтобы рассчитать худший вариант, потому как соотношение их внутри недели неизвестно.
Цитата
vikttur написал:
2. Первая неделя - 46 пятерок, Проверяем -  в таблице только 32.  4-я неделя 12 пятерок (есть только 11).
Не досмотрел - там идет ограничение 150 оценок поэтому более старые оценки отмирают - их вообщем то можно скорректировать в таблице диапазона B8:E9

Цитата
vikttur написал:
3. Почему в формлах используются данные до столбца К, а исходный диапазон только до Е?
Подкинули то количество недель чтобы набралось последних 150 оценок. В теории может быть так что оценок в каждой недели суммарно будет меньше и тогда количество недель добавляется - но это ручное разнесение исходя из диапазона B8:E9
Посчитать минимальный средний балл уменьшение влияния от старости
 
Да эту формулу переработать так чтобы она таблицу с оценками B11-K160 могла учесть исходя из подсчета этих оценок в диапазоне B8-E9
Посчитать минимальный средний балл уменьшение влияния от старости
 
Каждой оценке дается уменьшение влияния от старости (150 оценок). Надо посчитать минимальный средний балл, когда в каждой недели более новые оценки будут плохие (Единицы), а потом отличные (пятерки). Если заранее известно количество этих оценок внутри недели.

Как можно переелать формулу
Код
СУММПРОИЗВ(A11:A160;M11:M160)/СУММ(A11:A160) 
используя  таблицу в диапазоне B8-E9 (без использовния доп. вычислений)

не знаю как лаконичнее изъясниться. Есть формула чтобы она работала надо вручную сделать нужный ряд из исходных данных. Чтобы не устраивать регулярные извращения - связь же есть диапазона B8-E9 с итоговым значением = поэтому думаю есть какое то решение для просчета.
Изменено: igorbych - 28.07.2020 20:15:11
Поиск где нет формулы в листах которые не содержат часть слова
 
1. Полностью копировал, Офис 16.
2. Сделал через and немного громоздко но думаю на быстродействие не повлияет
Поиск где нет формулы в листах которые не содержат часть слова
 
Так понятно, заработало. Только часть доработки не пускает алгоритм .SpecialCells(xlCellTypeConstants) - если просто Cells = тогда все нормально.
Цитата
БМВ написал: If Not iSh.Name Like "*Смена*" Then
и чтобы снять еще вопрос как доработать чтобы сразу указать по мимо "Смена" еще и другие части слов или отдельные листы полностью Например "Лист1"
Поиск где нет формулы в листах которые не содержат часть слова
 
Not Like - Тоже так сразу подумал - но дает, ошибка не правильные аргументы!
Поиск где нет формулы в листах которые не содержат часть слова
 
Помогите переделать чтобы поиск велся на всех листах где в имени листа нет символов"Смена"
Код
Sub NoFormula() ' поиск где нет формулы
Dim iSh As Worksheet
Dim iCl As Range
Dim iStr$
For Each iSh In Worksheets
    If iSh.Name Like "*Смена*" Then  'Смена*
        For Each iCl In iSh.Range("H11:J129").Cells
            If iCl.HasFormula = False Then
                If IsEmpty(iStr) Then
                    iStr = "Лист - " & iSh.Name & ", ячейка - " & iCl.Address(0, 0) & vbCrLf
                Else
                    iStr = iStr & "Лист - " & iSh.Name & ", ячейка - " & iCl.Address(0, 0) & vbCrLf
                End If
            End If
        Next
    End If
Next
MsgBox iStr
End Sub
Выделение листов из списка ячеек, При отсутствии листа как вывести значение этой ячейки
 
Спасибо Игорь. Чуть понял.
Выделение листов из списка ячеек, При отсутствии листа как вывести значение этой ячейки
 

Подскажите как при отсутствии листа вывести значение этой ячейки.

Код
Private Sub Кнопка37_Щелчок() 
'Водители 
  On Error GoTo ErrorHandler   
  Dim arr() 
  Dim c As Range, i& 
  i = -1     
  For Each c In Sheets("График").Range("G5:AS5").Cells         
    If Trim(c) <> "" Then           
      i = i + 1             
      ReDim Preserve arr(i)             
      arr(i) = Trim(c)         
    End If     
  Next Worksheets(arr).Select
  
GoTo Ends:
 
ErrorHandler:   
MsgBox ("В списке есть водитель которого нет в базе") ' Добавить значение не найденного листа 
Ends:  
End Sub 
Изменено: igorbych - 08.06.2020 08:04:48
Обрезка текста в ячейке после второго пробела
 
Все тайное становится явным, особенно невидимое - оказался неразрывный пробел с кодом 160
Таких пробелов интересных оказалось помимо 32 еще четыре https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D1%80%D0%B0%D0%B7%D1%80%D1%8B%D0%B2%D0­%BD%D1%8B%D0%B9_%D0...
Обрезка текста в ячейке после второго пробела
 
vikttur, что за колдовство, Ваша формула не работает.
Если после первой сцепки двух пробелов стереть именно второй пробел и опять его поставить - все работает.
Обрезка текста в ячейке после второго пробела
 
Цитата
Все_просто написал:
=ЛЕВСИМВ(A1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1))
А если пробелов случайно нет!
Код
=ЛЕВСИМВ(A1;ЕСЛИОШИБКА(ПОИСК(" ";A1;ЕСЛИОШИБКА(ПОИСК(" ";A1);0)+1);ДЛСТР(A1)))
Появление странных ярлыков, Как их предотвращать, удалять и сократить имя ярлыка
 
Листов достаточно много, уже раз переносил так полистно, тяжеловато. Может встречали макрос чтобы создавал имя по очередно со старой книги и затем копировал данные всего листа?
Появление странных ярлыков, Как их предотвращать, удалять и сократить имя ярлыка
 
В результате скорее всего каких то сбоев когда ексель вылетает или еще каких либо причин в проекте Екселя появляются клоны ярлыков листов которых в принципе нет и начинает у них увеличиваться имя ярлыка добавлением цифр.
Я выделял в старом документе листы и переносом или копированием переносил их в новый документ. Но так исчезают клоны ярлыков, но наросты в имени ярлыка остаются.
Как это все правильно делать и предотвращать?
Изменено: igorbych - 12.05.2020 09:40:04
Не выполняются макросы после использования Ctrl+Break
 
Присоединяясь к вопросу, тоже было не раз - при наличии каких либо ошибок в макросе Ексель зависает и нажатие Ctrl+Break не помогает. Через некоторое время Ексель говорит произошла критическая ошибка и предлагает перезагрузить Ексель. Затем любые обращения к макросам ведет в ходе выполнения к приостановке алгоритма этим же сообщением. "Code execution has been interrupted" Действительно помогло полная перезагрузка компьютера.
Определить последнюю ячейку в нужном столбце
 
Спасибо, работает.
Определить последнюю ячейку в нужном столбце
 
Необходимо скопировать диапазон ячеек от B11 до последней ячейки в столбце E.
Пытаюсь определить последнюю ячейку - определяет последнюю строку по первому столбцу где значения в строках ниже.
Помогите разобраться.
Код
Private Sub Worksheet_Activate()
    Dim LastRow As Long
    With ActiveSheet
     LastRow = .Cells(.Rows.Count, "E").End(xlUp).Row
    End With
    MsgBox LastRow
End Sub
Как удалить окно активации надстройки плекс
 
Кое как отлегло - после многочисленных активаций в панели надстроек и снятии флажков. Думал сума сойду.
Как удалить окно активации надстройки плекс
 
Не могу ни чего сделать пока оно не закрыто
Поиск даты и времени с заданной погрешностью, Надо макросом сделать поиск даты указанной в ячейке А1 плюс минус погрешность указанной в B1
 
Цитата
БМВ написал:
то перечитайте правила форума.
Сообщения в теме как раз не касаются названия темы. Если что то не так напишите в личку. Зачем тут раздувать да еще и загадками.
Поиск даты и времени с заданной погрешностью, Надо макросом сделать поиск даты указанной в ячейке А1 плюс минус погрешность указанной в B1
 
Цитата
Юрий М написал:
А что, Excel у Вас не установлен?  
Если не трудно расшифруйте тайную мысль, быстро не доходит до меня)
Поиск даты и времени с заданной погрешностью, Надо макросом сделать поиск даты указанной в ячейке А1 плюс минус погрешность указанной в B1
 
В книге много листов, на каждом много столбцов с данными. Надо сделать поиск ближайшего значения и потом по кнопке далее делать переход к другому ближайшему значению даты со временем.
Столбцы не привязаны к какому то правилу но с право от каждого столбца даты и времени есть столбец с числами.
Желательно
1. поиск даты указанной в ячейке А1 плюс минус погрешность указанной в B1
2. условие второе при нахождении нужной даты - проверка значения в столбце с право от числа. Поисковое значение вводить в C1 и его погрешность в D1

Например найти платеж 25.11.2019 07:40 (указано в A1) на сумму 220 р (указано в C1) Погрешность даты 30 минут (указано в B1) и 10 отклонение от значения (Указано в D1)
Изменено: igorbych - 01.12.2019 19:03:47
Есть ли событие на выделение строки?
 
Спасибо, заработало.
Страницы: 1 2 След.
Наверх