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

Страницы: 1 2 3 4 След.
Перенос ячеек (VBA): группировка входов и выходов работника
 
С.М.,Получилось очень круто!)
Огромное спасибо, самому такое слабо)
Перенос ячеек (VBA): группировка входов и выходов работника
 
Дмитрий Тарковский,скидываю
Перенос ячеек (VBA): группировка входов и выходов работника
 
Дмитрий Тарковский, в приложенном файлике вроде ничего не изменилось :)
Перенос ячеек (VBA): группировка входов и выходов работника
 
Мотя, спасибо за интерес к проблеме!)
Но получилось не совсем то, конечный вариант ожидается таким, прикладываю.
Перенос ячеек (VBA): группировка входов и выходов работника
 
kavaka08, можно поподробней? :)
Перенос ячеек (VBA): группировка входов и выходов работника
 
Прикладываю пример файлика.
Перенос ячеек (VBA): группировка входов и выходов работника
 
Всех приветствую!
Есть таблица выгрузки по ключам в которой по очереди идёт вход и выход (различные дубли уже убираются, по этому более-менее чисто).
Есть только когда человек вошел не вышел, или вышел не вошел (обычно такое у суточников).
В общем макрос ориентируясь по совпадению фамилии в столбце А проверяет наличие слова "Выход" и переносит его на одну строку ко "Входу".
Таким образом на одной строке дата и время входа и дата и время выхода.
Массив за месяц около 50 тыс. строк. Написал небольшой макрос который сам переносит диапазон по заданным условиям.
Есть проблема, что похоже офисному компу это сложно вытянуть и процедура просто зависает, домашний комп справляется нормально.

Может подскажите возможный вариант оптимизации?
Я так понимаю что дается трудно момент вырезки и вставки.
Код
Sub Копирование()
    Dim V As String
    V = 2
    While Range("A" & V).Value <> ""
    If Range("A" & V) = Range("A" & V - 1) Then

    If Range("D" & V) = "Выход" Then
    Application.CutCopyMode = False
    Range("B" & V, "E" & V).Cut Destination:=Range("G" & V - 1, "J" & V - 1)
    Range("K" & V - 1) = "Формула"
    Range("L" & V - 1) = "Формула2"
        End If
    Else
    If Range("D" & V) = "Выход" Then
    Application.CutCopyMode = False
    Range("B" & V, "E" & V).Cut Destination:=Range("G" & V, "J" & V)
    Range("K" & V) = "Формула"
    Range("L" & V) = "Формула2"
        End If
    End If
    V = V + 1
    Wend
End Sub
Сбор полной фразы в одной ячейке
 
МВТ, макрос очень крутой.
Но в файлике- примере не учтен еще один нюанс.
За 5 строчек перед началом каждой из табличек указывается ФИО заказчика,а за каждые 3 (то есть ниже на 2 ячейки ниже), указывается его номер. И так же это переносится в отдельный столбец под каждую дату и название услуги.
Но Макрос этого не учитывает(
Если интересно посмотреть, как приблезительно с учётом данных выглядит эта таблица вкладываю дополненны пример.
Сбор полной фразы в одной ячейке
 
JayBhagavan, спасибо! Ваш способ очень хорош!) буду пробовать)
Обожаю этот форум за отзывчивость! Вы лучшие!)
Сбор полной фразы в одной ячейке
 
VistaSV30, я не могу точно сказать. Т.к. мне ее присылают уже в таком виде. И договориться о другом виде нет возможности. Не исключено и копирование из ворда ((
Сбор полной фразы в одной ячейке
 
Всем привет!
Помогите придумать решение.
В таблице все значения указаны в одной строчке, но название услуги зачем-то разбито(или разбивается само) на еще некоторые строчки.
А мне нужно, чтобы полное название было собранно в одной ячейке в той же строке где указана остальная информа-ция.
Таблица довольно большая, может достигать более 6700 строк, по этому собирать кусочки слов в одну ячейку ручками - времязатратно.
Колдовство с формулами ЕЧИСЛО- ЕПУСТО не к чиму не привели, получалось только что полностью фраза собиралась только к концу пустой строки, а нужно на оборот (чтобы полностью была в первой).
Файлик с примером прикладываю, как и где должны собираться услуги при этом оставляя строки без информации так же пустыми или с отметкой по которой пожмно будет потом фильтрануть и удалить.
Как прописать выделение цветом, если формула не срабатывает
 
alexthegreat, Спасибо за подсказки, разобрался, сделал =)
Как прописать выделение цветом, если формула не срабатывает
 
alexthegreat, в данный момент если мне нужно посчитать баксы на 5 июня, а в табличке курсы протянуты только до 4 июня, он ставит курс на 4 июня (последняя дата которая есть)
Как прописать выделение цветом, если формула не срабатывает
 
Всем привет! Есть работающая формула.
Код
=ЕСЛИ($AA748="USD";ОКРУГЛ(AM748*ВПР($L748;USD!$A:$B;2;1);2);ЕСЛИ($AA748="EUR";ОКРУГЛ(AM748*ВПР($L748;EUR!$A:$B;2;1);2);ЕСЛИ($AA748="RUR";AM748;"")))
Которая, как не сложно догадаться, в одной из ячеек смотрит какая стоит валюта и какая дата, затем идет на страничку с этой валютой и находит в табличке курс на дату, умножает сумму валюты на курс рубля.
Вопрос. Можно как-нибудь сделать, чтобы сумма была красного цвета если формула не находит нужную дату в валютной таблице?
Автоматическое определение не резидентов., формула или функция
 
Пытливый, формула супер. Очень просто и работает!)  
Автоматическое определение не резидентов., формула или функция
 
Конечно, пример во вложении.
Столбцы W и X
Автоматическое определение не резидентов., формула или функция
 
Всем привет!
У меня два столбца рядом с юр.лицами, а следующей в котором указывается резидент это или нет.
Я вижу тут два варианта. Либо на другом листе создать таблицу с наименованием всех юр.лиц и проставить резидент/не резидент и применять функцию ВПР.
Либо использовать функцию или формулу которая будет смотреть какой язык используется в соседней ячейке. Если написано по русский- значит резидент, если по английски - значит не резидент.
Такое вообще возможно?
Общая сумма складывает из разных сумм.
 
Вопрос похоже снят, я отыскал готовый вариант :)
Общая сумма складывает из разных сумм.
 
Извиняюсь.  :)  
Во вложении файлик пример. Лишнее все удалил, оставил только цифры.
Там по столбцу F  идут суммы.
Хочется подобный функционал.
На странице Лист1, в А1 вписать общую сумму которую нужно найти, и эти суммы выгружаются в столбец В2, или даже можно не суммы а номер из столбца А,страницы лист2. Чтобы потом строчки с этими номера вынести на другой лист и обозначить как найденные, чтобы повторно входили в другие общие числа.
Я понял, что по коду указанному выше мне нужно заменить

Код
Set InputRange = Range("F1", Range("F1").End(xlDown))
 
с А на F - это столбец от куда берется суммы для поиска.
В D2 нужно указать количество строчек, до какой макрос будет перебирать суммы, если опять же правильно понял.
Изменено: Spaunrus - 20.02.2015 14:34:06
Общая сумма складывает из разных сумм.
 
Цитата
Sanja пишет: а Ваш случай это какой?
Если суммы все находятся в столбце F а общая сумма которая должна получится в J2.
Общая сумма складывает из разных сумм.
 
Код
Sub Combinator2()
    Dim Data() As Variant, goal As Double, sel_count As Integer, prec As Double, t As Single, AddSum As Double
    Const LIMIT = 1000000
    Randomize
    
    prec = Range("D5").Value
    sel_count = Range("D2").Value
    goal = Range("D4").Value
    
    Set OutRange = Range("D8")
    Set InputRange = Range("A1", Range("A1").End(xlDown))
    input_count = InputRange.Cells.Count
    Data = InputRange.Value
    t = Timer

    Do
     AddSum = 0
     For j = 1 To sel_count
      RandomIndex = Int(Rnd * (input_count - j + 1) + j)
      RandomValue = Data(RandomIndex, 1)
      AddSum = AddSum + RandomValue
      Data(RandomIndex, 1) = Data(j, 1)
      Data(j, 1) = RandomValue
     Next j
     If Abs(AddSum - goal) <= prec Then
      Range("D3").Value = AddSum
      Debug.Print Timer - t, iterations
      MsgBox "Подбор завершен. Необходимая точность достигнута."
      Range(OutRange, OutRange.End(xlDown)).ClearContents
      OutRange.Resize(sel_count, 1).Value = Data
      Exit Sub
     End If
     iterations = iterations + 1
    Loop While iterations <= LIMIT
    Debug.Print Timer - t
    MsgBox "Достигнут лимит попыток. Решение не найдено."
End Sub 
Общая сумма складывает из разных сумм.
 
Почитал тему. Первый вариант не получился, на одном из этапов не хочет соглашаться со словом "Бинарное"
А вот макрос указанный ниже заинтересовал. Но я не могу понять ,как его отредактировать для моего случая(
Общая сумма складывает из разных сумм.
 
Всем привет!
Снова я. И наверно я единственный у вас на форуме, кто придумывает дурацкие задачи))
Даже тему толком нормально не смог обозвать :)
В общем такая суть.
Возможно ли вообще каким-то способом реализовать что-то подобное.
К примеру на пустом листе в А1 вписываю сумму к примеру 4 500 676,20
На остальных листах по всей книге в  столбце F написаны более мелкие суммы (в остальных столбцах другие данные типо валюты и прочего).
Далее запускается макрос и он начинает перебирать все суммы до тех пор пока из мелких не получится та же что в А1, либо до тех пор пока не кончатся варианты.

Я предпологаю что если такой макрос и возможен, то он будет работать ооочень долго, пока все варианты переберт.
В конечном итоге было бы не плохо, если он нашел суммы то закрашевает строчку к примеру в фиолетовый, и в следующий раз при поиске те которые закрашены в фиолетовый уже не просматривал, избегая попадания одной и той же суммы.
Вшить формулу в используемую ячейку.
 
Leanna,Супер спасибо!)
Вшить формулу в используемую ячейку.
 
Михаил С., с Вашим макросом, та же ситуация (
Вшить формулу в используемую ячейку.
 
Leanna, тут проблема всплыла, что если пачкой копировать названия в столбец, то срабатывает Debug (
Это возможно вообще поправить?( Может я многого хочу(
Вшить формулу в используемую ячейку.
 
Цитата
Leanna пишет: В функции InStr(1, LCase(Target.Value), "хлеб"  ;)  - всё слово должно обязательно писаться в нижнем регистре
Бесподобно и восхитительно!)
Работает!) Спасибо огромное!)))
Вшить формулу в используемую ячейку.
 
Так, со столбцом просто отлично. А как мне добавить сюда еще пару условий?)
Вшить формулу в используемую ячейку.
 
Присмотрелся к коду. Тут же получается что только при условии если А1 Хлеб, тогда А1 становится Черствый хлеб"
А если нужно, чтобы оно применялось по всему столбцу?
Ну и желательно как-то так, чтобы можно было дописать условия.

Код
If InStr(1, Target.Value, "Хлеб") > 0 Then
        Application.EnableEvents = False
        Range("A1") = "Черствый хлеб"
   If InStr(1, Target.Value, "Лук") > 0 Then
        Range("A1") = "Зеленый Лук"
        Application.EnableEvents = True
 
что-то типо того. На весь столбец. И то есть если я где-то в столбце А ввиду одно из указанных слов, он уже поменяет с условием указанном в макросе.
Вшить формулу в используемую ячейку.
 
Нужно, чтобы не реагировал ^_^
А еще пытаюсь сделать, чтобы он применялся ко всему столбцу А, но он сразу перестает работать вообще(
Страницы: 1 2 3 4 След.
Наверх