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

Страницы: 1 2 След.
Отсортировать и из сортированного выбрать наибольшее.
 
Nic70y
работает.
Отсортировать и из сортированного выбрать наибольшее.
 
Подскажите, пожалуйста, что неправильно:
=НАИБОЛЬШИЙ(А1:А5;"<5")
Формула должна выдавать наибольшее из диапазона, но при этом меньшее 5. спасибо.
поиск значений по критерию
 
Ivan.kh, пока не понял. При изменении значений Е1 и Е2 выдаёт ошибку. Формулу ещё не "прочёл".
Не подойдёт, потому-что значения не обязательно по порядку 4-5-6-7-4-5... , точнее, почти всегда не по порядку.
Но, у меня в рабочем файле есть столбец, с отсортированными значениями столбца В функцией НАИМЕНЬШИЙ. Пытаюсь его задействовать, пока безрезультатно. Вот как он выглядел бы в данном примере:
F
1   4
2   4
3   5
4   5
5   6
6   7
Изменено: proshin - 27.11.2013 20:32:44
поиск значений по критерию
 
Ivan.kh, не понял вашего вопроса. Пока мучаю функции, но ничего не выходит. У меня два столбца с данными:

    А    В    
1   а   4    
2   б   5    
3   в   6
4   г    7
5   д   4
6   е   5

Моя цель - на основе этих данных такая таблица:

    С   D    
1   а    4     это чего хочу    
2   д    4    

    С   D    
1   а    4 это что сейчас есть, не знаю как "перескочить".
2   а    4  

Число 4 в D2 как частный случай, который не могу побороть функциями ИНДЕКС и ПОИСКПОЗ.
Значения для столбца  D выдаёт независимо столбец Е. Например в D1 =Е1 и тд.
В ячейке С1 формула =ИНДЕКС(A:A;ПОИСКПОЗ(E1;B:B  ;)  )
В С2 соответсвенно =ИНДЕКС(A:A;ПОИСКПОЗ(E2;B:B  ;)  )
Как видно, формула несовершенна.

p.s. "данное" число не обязательно минимальное.
Изменено: proshin - 27.11.2013 20:03:40
поиск значений по критерию
 
Я, конечно, стесняюсь спросить, но..
мне ничего не остаётся кроме "ручного" перебора функцией ЕСЛИ?
поиск значений по критерию
 
Никак не скумекаю, не подскажете формулу:
    А    В    С   D   E    F
1   а   4     а    4    а   4
2   б   5     a    4    д   4
3   в   6
4   г    7
5   д   4
6   е   5

В столбце с и d дублируются значения, а должно быть как в e и f. Используются функции поискпоз и индекс. Нужна формла для ячейки с2.
В столбце F выводятся значения для стобца D - f1-d1,f2-d2. То есть в f1 и f2 значения совпали, значит в с2 формула не должна останавливаться, а искать дальше такое-же значение вниз по столбцу. К столбцу Е привязываться нельзя, он для наглядности.
Изменено: proshin - 27.11.2013 12:29:08
Автоматическая работа Excel'а, макросы по расписанию
 
Только что закончил документ с тексбоксами Юрия, и от решил на радостях опять немного поиграть с циклическими ссылками. Как я "возрадовался", когда, например, узнал, что:

Код
Private Sub TextBox1_Change()
     If Range("A2") = 0 Then
            If [A1] <> 0 Then [A2].Value = [A3].Value
      End Sub

=

Код
=ЕСЛИ(A2=0;ЕСЛИ(A1<>1;A3;0);A2) в ячейку A2

я мог бы спокойно обойтись стандартными средствами. Бесценный опыт. Ещё раз огромное спасибо.
Изменено: proshin - 25.11.2013 03:38:33
Автоматическая работа Excel'а, макросы по расписанию
 
Всё заработало в точности, как я хотел. Всем спасибо за терпение.
Юрий М, с меня магарыч.
Автоматическая работа Excel'а, макросы по расписанию
 
Извините, но не "появляется". Может, из-за того, что версию на 2013 сменил? На Вашем примере "Вместо счётчика" появляется, но в свойствах я не нашёл, как изменить А1 на другую ячейку.
Изменено: proshin - 24.11.2013 16:56:12
Автоматическая работа Excel'а, макросы по расписанию
 
Юрий М, я понял, что надо "нажать на кнопочку"  Режим конструктора. Но тексбокса я там не нашёл, только в юзерформе, но как и что я не понял. Пожалуйста, напишите - нажал туда, далее сюда..
Автоматическая работа Excel'а, макросы по расписанию
 
Так и не вышло связать эти два условия, ни Next, ни ElseIf не помогают, Может, кто-нибудь подскажет, как правильно?
Автоматическая работа Excel'а, макросы по расписанию
 
Узнал про:

  • Exit Sub – чтобы прервать выполнение кода раньше времени;
  • Select Case (условие, тот же Column, например) – чтобы определить перечень условий;
  • If – Then – ElseIf – ElseIf… - End If – то же, что и предыдущий.
Ещё возьмите на вооружение совет: если Вы при изменении выполняете изменение, то чтобы не зациклить код, например, при пересечении условий, обрамляйте код отключением и включением Application.EnableEvents = False/True.

Но как ими пользоваться ещё не усвоил. Прошу помочь. Задача:
1.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Test As Range
    Set Test = Range("A3")
    Static Oldvalue As Variant
    If Test > Oldvalue Then
     Call first
     Oldvalue = Test
    End If
End Sub
2.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Test As Range
    Set Test = Range("B3")
    Static Oldvalue As Variant
    If Test > Oldvalue Then
     Call Second
     Oldvalue = Test
    End If
End Sub

А может каким-то другим способом?
Автоматическая работа Excel'а, макросы по расписанию
 
Помогите же пожалуйста. Мучаюсь, но ничего не получается.
Ну как поменять привязку ТекстБокса на другую ячейку? И решит ли это  мою задачу?

Я попробовал другим путём, но тоже неудача:
1.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Test As Range
    Set Test = Range("A3")
    Static Oldvalue As Variant
    If Test > Oldvalue Then
     Call first
     Oldvalue = Test
    End If
End Sub
2.

Код
 Sub first
     If Range("A2") = 0 Then
        If [A3] > 0 Then [A2].Value = [A3].Value
        End If
End Sub

Эта связка работает без моего участия, меня всё устраивает, макрос срабатывает единожды когда от него требуется.
Но вот все попытки дополнить эту связку провалились. Например, то-же самое в столбце В. Если тупо скопировать первый код "вниз" на Worksheet'е, заменив ячейку и макрос, то ругается: "Compile error: Ambiguous name detected: Worksheet_Change". Внятной инфы или примера, как это побороть пока не нашёл, попытки объединить эти два условия в один Sub тоже провалились.
Изменено: proshin - 24.11.2013 06:35:46 (дополнение)
Автоматическая работа Excel'а, макросы по расписанию
 
Да вот только не из А1, в этой ячейке нет полезной инфы.
Изменено: proshin - 23.11.2013 02:57:48
Автоматическая работа Excel'а, макросы по расписанию
 
Юрий М, спасибо!
Код
Private Sub TextBox1_Change()
     If Range("A2") = 0 Then
           If [A3] > 0 Then [A2].Value = [A3].Value
           End If
End Sub
Я правильно понял, что при изменении ячейки А1 "это моё условие" выполняется/не выполняется по условию? Нет возможности испытать, так как ячейка А1 уже занята "внешними" данными.  Нет ли возможности заменить А1 на другую?
Автоматическая работа Excel'а, макросы по расписанию
 
Цитата
в режиме дизайнера текстбокс, в свойствах привязываете его к своей ячейке, затем
для меня и это магия. Будьте добры, подскажите алгоритм к этой части текста.
Автоматическая работа Excel'а, макросы по расписанию
 
Hugo, спасибо. но я не понимаю элементарных для вас формул, и поэтому, свой пример составить тоже не смогу. Что такое Me.TextBox1, как это всё связать - я не знаю.
Автоматическая работа Excel'а, макросы по расписанию
 
не понимаю. а где искать и что делать тоже. что такое текстбокс я тоже не знаю, я могу только менять переменные в

Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Range("C1") = "" Then
    If [A2] >= [A3] Then [C1].Value = [B1].Value
   End If
   End Sub
а задачу я описал. даже не знаю, с чего начать, задачу решить надо, а знаний 0
Автоматическая работа Excel'а, макросы по расписанию
 
Спасибо, но всё равно тяжело понять как-же связать эти два примера
 
Код
 Private Sub TextBox1_Change()
    If Me.TextBox1 = "Text" Then [B6] = [B6] + 1
End Sub
и

Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Range("C1") = "" Then
    If [A2] >= [A3] Then [C1].Value = [B1].Value
   End If
   End Sub

и изменится ли всё-таки тогда С1 при А2>A3 без моего участия, ведь А1 и В1 заполняются "извне", от них "пляшут" все остальные?
никак не получается
Автоматическая работа Excel'а, макросы по расписанию
 
Юрий М, не нашёл(не определил)..
Автоматическая работа Excel'а, макросы по расписанию
 
Меня бы наверное устроило что-то простое типа:

Код
Sub Zapusk()
            Application.OnTime TimeValue("18:00:00"), "Proce"
        End Sub

Но у меня все автоматические операции в  текстбоксе, типа той-же:

Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Range("C1") = "" Then
    If [A2] >= [A3] Then [C1].Value = [B1].Value
      End If
      End Sub

И я не знаю как это вместе связать, и что означает вообще термин текстбокс. Просьба помочь связать эти два кода и подсказать, что забивать в поиске по этому вопросу - "тексбокс excel" - ничего не выдаёт. Сорри за дикий оффтоп.
Автоматическая работа Excel'а, макросы по расписанию
 
Подскажите новичку, какие мне функции(операторы) подойдут. На лист загружаются данные из внешних источников. Задача - автоформатирование получаемых данных. Проблема в том, что мои простенькие макросы не работают АВТОМАТИЧЕСКИ по выполнению условия, а только если вручную хаотично "тыкать" по любым ячейкам (по выполнению условия для макроса ес-но).

Вот примерчик. В ячейке А1 - обновляемое извне время, в ячейке В1 - данные, загружаемые извне. Ячейка С1 должна заполниться без моего участия.

Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Range("C1") = "" Then
    If [A2] >= [A3] Then [C1].Value = [B1].Value
            End If
            End Sub


Я новичок и не знаю, с чего начать, куда смотреть. Я вижу решение двумя путями
-периодически заставлять запускаться макросы раз в опр. время.
-заставить всё-же их запуститься по выполнению условия. Может, если ввести ещё дополнительную ячейку, которая бы меняла значение 0("") на 1 при выпонении условия? Просто попалось много вопросов типа "запуск макроса при изменении ячейки", но не успел ещё в них разобраться.
Заранее спасибо за помощь.
Единоразовое заполнение ячейки по условию.
 
Не знаю. Только активекс в настройках был отключен. Вобщем, из-за настроек самого экселя скорее всего.
Я уже понял, что одним примером не обойдёшься. Надо заняться VB серьёзно. Ещё раз спасибо.
Единоразовое заполнение ячейки по условию.
 
Заработало! Сейчас попробовал и всё получилось. Огромное вам спасибо от всей души, вы даже не представляете, как мне помогли. Это всё-равно, что с мануфактуры на станок перейти!
Только один вопрос, таких макросов мне надо несколько, значит мне надо открыть на вкладке Разработчик "Visual Basic" и прямо под составленным вами Private "Sub TextBox1_Change()" можно составлять Private Sub TextBox2_Change() и тд?

Может в настройках что не так было.
Единоразовое заполнение ячейки по условию.
 
Заработало!
Единоразовое заполнение ячейки по условию.
 
Да, макросы все разрешены, версия 2007. Я заполняю А1 любым числом, но А2 не меняется. Подскажите, как правильно. Извиняюсь, совсем не вьехал.
Единоразовое заполнение ячейки по условию.
 
Юрий М, спасибо за помощь. Только почему-то не запускается макрос. По итерационным вычислениям нормальной справки тоже не нашёл.
Я правильно понял, что нужен макрос, запускающийся один раз при выполнении условия(н-р А1<>0)?
Тогда если кому-то будет не трудно, помогите составить ОДНОРАЗОВЫЙ макрос для ячейки А3:
ЕСЛИ А1=1, ТО =А2
А если можно обойтись формулами, то подскажите где копать? Ещё раз задача: в ячейку А3:
ЕСЛИ А1=1; ПРИ ЭТОМ А2<>0; ТО =А2. Как только ячейка А3 заполнилась первый разчислом отличным от ноля, больше она изменяться не должна, при том, что в ячейках А1 и А2 далее будут происходить изменения.
Изменено: proshin - 03.11.2013 23:32:23
Единоразовое заполнение ячейки по условию.
 
нет. не текстом, числом!
Единоразовое заполнение ячейки по условию.
 
Прикреплять нечего, т.к. данные на листах обновляются из инета в реальном времени.

Если максимально упростить задачу, то: в ячейке A2 формула:
"=ЕСЛИ(A1<>0;A1;0)" ха-ха, т.е. ещё проще, просто "=А1"
А2 может стать нулём или любым другим значением, далее она(А2) больше меняться не должна. При этом с А1 далее пусть творится что угодно.
Изменено: proshin - 03.11.2013 20:28:13
Единоразовое заполнение ячейки по условию.
 
Я прошу лишь направить в данном случае, чтоб решить данную конкретную задачу. A VBA хочу начать с азов.
Страницы: 1 2 След.
Наверх