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

Страницы: 1
Обработка тестовой формы для испытания образцов, Три макроса для оператора формы
 
Соглашение достигнуто. Тему можно закрыть.
Обработка тестовой формы для испытания образцов, Три макроса для оператора формы
 
Доброго дня, в аттачах ТЗ на желаемый результат и пример формы.
Срок очень критичен - до субботы, край - к 15 числу августа.
Бюджет - обговариваемо.

Извините, если по оформлению запроса что-то не так.

Форум мониторю до 18:00 реже, вечер чаще, на вопросы отвечу.

Просьба писать в первую очередь здесь, так как почта сбоит иногда.
Изменено: Михаил О. - 09.08.2022 08:31:26
Bзменение значения ячейки на пользовательское через форму
 
Изящно и красиво, лучше чем делал, спасибо огромное!
Bзменение значения ячейки на пользовательское через форму
 
Если будет свободное время, то я буду очень признателен!
Bзменение значения ячейки на пользовательское через форму
 
Исправил файл
Bзменение значения ячейки на пользовательское через форму
 
Могут повторяться. Один и тот же MPN может быть для разных условий использования, поэтому по разным договорам.
Решил что связка MPN + Договор даст универсальный уникальный ориентир.

Update

победил проблему, поменяв цикл поиска на топорную вставку самой процедуры экселя. Красоты не вышло :( но работает.
Код
   Cells.Find(What:=znach1, After:=ActiveCell, LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
Изменено: Михаил О. - 26.10.2021 19:01:56
Bзменение значения ячейки на пользовательское через форму
 
Кое-что я не смогу нашаманить - значение упорно не хочет меняться в умной таблице (((

Решил делать не через форму, а быстрее, через ввод значений. И поиск через смещение от добавленного столбца с уникальным кодом запчасти.

В приложенном файле первый лист - таблица в которой меняем (в коде это будет лист stock), а со второго листа (в коде это лист ВВОД) пользователь запускает данный макрос.

Макрос находит нужную ячейку в stock и.. оставляет ее нетронутой.
Варианты строки после ActiveCell.Offset(0, -7).Select уже все перепробывал - и Range.Value = и какие угодно..

На работе стоит распоследний эксель, а дома 2013.

Вот код:
Код
Sub CHANGE()
Dim i As Long
Dim znach1 As Variant
Dim znach2 As Variant
Dim cell As Range

znach1 = InputBox("Введите MPN и, через пробел, договор позиции (например - 3FM220 FMD APS)")
znach2 = InputBox("В какую ячейку определяем? (б.буквами)")

If znach1 = "" Then Exit Sub
If znach2 = "" Then Exit Sub
Sheets("stock").Select

For Each cell In Range("G:G").Cells
    If cell.Value = znach1 Then
    ActiveCell.Offset(0, -7).Select
        ActiveCell.FormulaR1C1 = znach2
        End If
Next cell

Sheets("ВВОД").Select
    Range("F14").Select
End Sub
Изменено: Михаил О. - 26.10.2021 18:21:53
Bзменение значения ячейки на пользовательское через форму
 
О, понятнее, спасибо! Попробую пошаманить.

Единственный пока еще вопрос - код выбора самой первой ячейки в строке, в котором циклом определились остальные условия, подскажете?
Bзменение значения ячейки на пользовательское через форму
 
Добрый день, встал в затык с макросом.

В листе1 есть таблица запчастей, с местами хранения в столбце Bin. В каждом Bin может лежать несколько позиций отличающихся полем MPN и Договор (также аналогичный MPN может лежать по другому Договору в той же или другой Bin).

Очень нужно такое: пользователь в листе2 запускает форму, в которой вводит в одном окошке MPN, в другом Договор. Макрос находит в лист1 по этим условиям соответствующий Bin и меняет в этой ячейке значение на пользовательское, предложенное в третьем окошке формы.

Встал в полный тупик с циклами поиска условий по двум столбцам :(
Поиск несовпадающих значений в диапазоне
 
мне бы тоже так казалось, если бы удалось сделать срабатывание сообщения или уведомления по УФ _однократным_ пока открыт файл. в это все упирается.

кроме того между столбцами D и L будут притягиваемые значения в зависимости от D. форма утверждена и мне запрещено туда вносить любые видимые кнопки или ячейки с "ок" по которым УФ работало бы  :(  
Изменено: Михаил О. - 26.10.2018 12:24:41
Поиск несовпадающих значений в диапазоне
 
IKor спасибо за ответ, но к сожалению с помощью условного форматирования решить не сложно.

Нужно именно "при совпадении двух последних значений в D, но при несовпадении двух последних значений в L выдавалось сообщение", так как L будет скрыт от зрения работающих с таблицей.

Так что нужен именно макрос :-( и я бы даже его написал, наверное, НО

можно задать форму сообщения, которая ждала бы поставленную галку и больше не выдавалось бы, но у меня не хватает знаний и времени сделать макросом обсчет на основе условного форматирования, например или им самим и понимания как сделать однократное срабатывание, пока в форме не воткнули галку типа "окей понял - галочка"
Изменено: Михаил О. - 26.10.2018 12:15:25
Поиск несовпадающих значений в диапазоне
 
Доброго дня,

помогите с макросом, вопрос срочный :-(

При появлении нового значения в столбце D формула в L будет подтягивать соответствующее ему значение в столбец L (соответствие будет разное, от даты например). И необходимо, чтобы при повторении значения в D, но отличающимся от последнего значения в L выдавалось сообщение.

То есть макрос будет проверять равенство последних двух значений в D и при их совпадении, но при несовпадении двух последних в L сообщать об этом.

Сообщение от макроса должно быть однократным, при появлении нового значения в D пока книга открыта например.

Помогите пожалуйста.
Как правильно задать генерирование числа по условию, Не получается вставить нужную конструкцию в готовый код
 
Доброго дня,

есть код старого "игрового автомата", который захотелось улучшить. Например если статистика выигрыш\проигрыш начинает выходить из расчетного равновесия (проигрышей, например, становится не 72% на 1000 спинов, а не поднимается выше 50%), то в ячейке А1 появляется триггер "1".

И нужно изменить часть кода макроса этого "автомата", ответственную за генерацию случайного числа в каждом из трех Range на листе, чтобы при появлении триггера в ячейке А1 генерирование числа происходило по другому.

Точнее - нужно, чтобы или при появлении "7" происходила вторая попытка генерирования, или, что лучше всего, генерирование происходило в диапазоне 1..6,8..9 (или только  в 1...6) избегая 7.

У меня далеко не лучшим образом всегда понимались конструкции Do..Loop и иже с ними.
И как я не вставляю нужное мне а ля например
Код
If Range("A1").Value = "1" Then
...
Range("_7").Value = CStr(Int(Rnd() * 6)+1) ' для каждого Range
End If

или что то навроде, то либо vba ругается на всякое, либо все равно генерирование происходит в диапазоне 0...10.

Можно, конечно попробовать, вставить переброс без звуков и таймера в подпрограмму Win, в котороый через If...Then происходит расчет выигрыша-проигрыша, но хотелось бы попробовать научиться заодно правильно понимать циклы.

Вот исходный код:
Код
Sub Rotate()
With slots
Hide777
Color1
Randomize
 Dim PauseTime, Start
    PauseTime = 0.8

    Start = Timer
    PlSound
    Do While Timer < Start + PauseTime
        Range("_7").Value = CStr(Int(Rnd() * 10))
    Loop
    Start = Timer
    PlSound
    Do While Timer < Start + PauseTime
         Range("_77").Value = CStr(Int(Rnd() * 10))
    Finish = Timer
    Loop
    Start = Timer
    PlSound
    Do While Timer < Start + PauseTime
        Range("_777").Value = CStr(Int(Rnd() * 10))
    Loop
    PlSound0
Win
    Range("Blnc") = Range("Win") - Range("Ls") + Range("Inst")
WriteValue
Color3
Color2
Color4
End With
 End Sub
Формула для столбца, чтобы вывести определенное значение по условию
 
Нет, после того как поиск не нашел мне виденную ранее тему про обсчет цепей вероятностей Маркова, я решил, что он какой то хитрый и спросил здесь =)

Извините, если не понял его работы.

Большое спасибо за помощь.
Формула для столбца, чтобы вывести определенное значение по условию
 
Просветите, пожалуйста.

В формулах указанного выше вида, в которых есть СУММ(--( - какую фунцкию выполняет двойной минус?
Как обойти скрытые листы при переборе?
 
Премного благодарен.  
 
Досадно, что сам не догадался ( Плохо возвращаться к макросам раз в год..
Как обойти скрытые листы при переборе?
 
При выполнении цикла вида  
 
...  
Sheets(1).Select  
For I = 1 To Sheets.Count  
...  
Sheets(I).Select  
 
на командах sheets(i).select бейсик вылетает с ошибкой 1004.  
 
подозреваю, что это из-за скрытых листов в файле.  
 
как это можно обойти? или только раскрытием листов?  
 
офис XP.
Как избежать ошибки при использовании RAND() в операциях с текстом?
 
Спасибо большое, вечерний мозг - тормозящий мозг.  
 
Только наверное все-таки randbetween =)  
 
А по готовым генераторам, не встречались такие?
Как избежать ошибки при использовании RAND() в операциях с текстом?
 
Добрый день,  
 
возникла необходимость создать табличку с генерацией ника из ФИО  пользователя.  
 
Так как с работы не имею возможности загрузить пример, то опишу здесь (для офиса XP-2003)  
 
Сделал конструкцию использующую соединение ФИО (заносится в отдельные ячейки) в одну строчку, функциями LEFT, MID, RIGHT вида, например, MID(D13;5*RAND();5*RAND()) выбираю случайные куски и соединяю в одно.  
 
Так как RAND выдает десятичное число, то часто возникает ошибка VALUE.  
 
Как этого можно избежать?  
 
Вне этой темы - есть ли в природе генератор ника, с осмысленной сутью произвольной длины?    
 
Не парольных конструкций, вида №РО№;*, а именно генератор читаемых слов?  
Например по диапазону из слов собрать случайным образом свое?
Страницы: 1
Наверх