powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос по замене после "="
44 сообщений из 44, показаны все 2 страниц
Макрос по замене после "="
    #37405197
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите дописать макрос, в принципе он работает но немного не так как хотелось бы
При нажатии на ячейку находящуюся в столбе А:А, содержащую знак «=» включается макрос , который должен заменить значения после равно , запрошенное input box
Т.е например при нажатии по ячейки o=7890 появляется input box в которое нужно вписать число например «34» и оно заменило бы «7890»,т.е. в ячейки стало бы o=34.
А при нажатии по любой другой , не содержащий знак «=», не должно ничего происходить!
Подскажите пожалуйста как это сделать?
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37405204
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0creator0, примерно:
Код: plaintext
1.
2.
Sub test2()
    ActiveCell.Replace "=*", "=" & InputBox("Ввидите текст", "Сравнение строк")
End Sub
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37405206
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kuklp, с учетом, что слово "Ввидите" пишется иначе:-)
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37405207
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще:
S = ActiveCell.Formula
'Избавляемся от двойных пробелов во введенном тексте
S = Replace(S, " ", " ")
можно иначе:
S = trim(ActiveCell.Formula)
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37405424
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, большое , целый день над ним корпел))))
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37406751
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, если не сложно у меня есть запись в ячейки х хAхB
Как мне сделать макрос что бы , как и в прошлом примере при выборе ячейки с таким набором появлялся input box в который вписывалось сначала первое значения «A», потом второе значение «B» и в итоги выходило бы напрмер: х х150х250, как сделать ума не приложу , если не сложно подскажите.
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37406839
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0creator0, ничего не понял. Может так?
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37406870
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если надо ввести несколько значений то так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim s$
    If Intersect(Range("A:A"), Target) Is Nothing Then Exit Sub
    If InStr(Target.Text, "x") >  0  Then s = InputBox("ВвЕдите текст", "Сравнение строк")
    Do While s <> ""
        Target.Value = Target.Value & "х" & s
        s = InputBox("ВвЕдите текст", "Сравнение строк")
    Loop
End Sub
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37406904
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, именно так, только теперь не хватает маленького штриха, я так понимаю надо добавить оператор Split, что бы при следующем нажатии на эту ячейку макрос не продолжал запись а удалял старое и поверх писал новое, т.е если было х45х56 то при нажатии на ячейку макрос писал например х67х87, а не добавлял к уже имеющемуся х45х56х67х87,да?
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37406980
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не очень понимаю. Если не так, то давайте пример, как есть - как надо.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim s$
    If Intersect(Range("A:A"), Target) Is Nothing Then Exit Sub
    If InStr(Target.Text, "x") >  0  Then s = InputBox("ВвЕдите текст", "Сравнение строк"): Target.Value = ""
    Do While s <> ""
        Target.Value = Target.Value & "х" & s
        s = InputBox("ВвЕдите текст", "Сравнение строк")
    Loop
End Sub
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37406983
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kuklp,
там в коде одна из "х" на кириллице - замените, чтоб обе были одинаковыми.
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37407298
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое ты мне очень помог, наконец то на выходе получил то что надо, только наверно немного коряво написано если смотреть со стороны правильного написания программ но главное работает! Вот в итоги что получилось лист1))))
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37407547
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0creator0, что за хамство, мы с Вами гусей, свиней не пасли, в пивбаре под одним столом не валялись. Почему я к Вам, незнакомому человеку, обращаюсь на ВЫ, а Вы мне ТЫкаете?
П.С. Ваш пример не смотрел и если будете продолжать в том же духе, помогать Вам не стану.
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37407597
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kuklpПочему я к Вам, незнакомому человеку, обращаюсь на ВЫ, а Вы мне ТЫкаете?
поскольку уже не первый случай.... вот посмотрите:
http://www.sql.ru/forum/actualthread.aspx?tid=549248
у человека написано "прошу на ты".
Предлагаю вам написать так же "прошу на вы", а то так и будут продолжаться скандалы.
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37407669
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, дельное замечание. У меня в автоподписи давно стоит "Помедленнее, мы ж едва знакомы.", однако почему-то она не выводится:-( В какой пункт профиля внести?
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37407690
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro+

Предлагаю вам написать так же "прошу на вы", а то так и будут продолжаться скандалы.
Шокер, мы с тобой вроде перешли на ТЫ с обоюдного согласия(правда ты так и не назвался мирским именем). Ну да, не обратил внимания, слово "вам" с маленькой буквы означает обращение к нескольким людям:-)
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37407718
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0creator0Спасибо большое Вы мне очень помог, наконец то на выходе получил то что надо, только наверно немного коряво написано если смотреть, со стороны правильного написания программ но главное работает! Вот в итоги что получилось лист1))))
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37407719
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0creator0Спасибо большое Вы мне очень помогли, наконец то на выходе получил то что надо, только наверно немного коряво написано если смотреть, со стороны правильного написания программ но главное работает! Вот в итоги что получилось лист1))))
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37407729
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kuklp, Еще раз спасибо !!!
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37407737
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kuklpShocker.Pro, дельное замечание. У меня в автоподписи давно стоит "Помедленнее, мы ж едва знакомы.", однако почему-то она не выводится:-( В какой пункт профиля внести? в "откуда"
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37417542
mihail152150
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!!!)))
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37417709
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, не как не получается сделать. Как сделать что бы при нажатии на cancel или красный крест, ни чего не происходило и макрос не стирал цифры после равно, если не чего не вписывать в inputbox.
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37417726
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, не как не получается сделать. Как сделать что бы при нажатии на cancel или красный крест, ни чего не происходило и макрос не стирал цифры после равно, если не чего не вписывать в inputbox.
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37417727
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0, так Вы выложите последний Ваш пример где не выходит, а то воды много утекло, что Вы там юзаете?
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37417731
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да , конечно.
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37417761
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0, от Вас требовалось только это
Код: plaintext
ActiveCell.Replace "=*", "=" & InputBox("Ввидите текст", "Сравнение строк")
посмотрю вечером
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37417795
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заранее благодарен)))
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37417872
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0Подскажите пожалуйста, не как не получается сделать. Как сделать что бы при нажатии на cancel или красный крест, ни чего не происходило и макрос не стирал цифры после равно, если не чего не вписывать в inputbox.Боже, какая х**ня, кто вам такое написал?!
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37417921
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim S1 As String
    If Target.Column =  1  Then
        If InStr(Target, "=") <>  0  Then
            S1 = InputBox("введите новое значение")
            If S1 = "" Then Exit Sub Else
                Target = Left(Target, InStr(Target, "="))
                Target = Target & S1
        End If
    End If
End Sub
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37417927
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0, код должен находиться в модуле рабочего листа. Работает по событию двойного щелчка на ячейках первой колонки.
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418095
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, но тогда не работает вот такой макрос, если подскажите, как его подстроить под ваш чудодейственный, то буду безмерно рад и очень благодарен, так как сам если и смогу это сделать , то как вы понимаете, займет это у меня безумно много времени, и не факт что на выходя получится то что надо .
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418113
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0Да, но тогда не работает вот такой макрос, если подскажите, как его подстроить под ваш чудодейственный, то буду безмерно рад и очень благодарен, так как сам если и смогу это сделать , то как вы понимаете, займет это у меня безумно много времени, и не факт что на выходя получится то что надо .я это читать не буду. там черт ногу сломит. что он делать должен? менять после x всё? на что?
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418186
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,
чего-то Вы переборщили в этом куске
Код: plaintext
1.
2.
3.
If S1 = "" Then Exit Sub Else
                Target = Left(Target, InStr(Target, "="))
                Target = Target & S1
        End If
надо
Код: plaintext
1.
2.
3.
4.
5.
If Len(S1) =  0  Then
 Exit Sub
 Else
                Target = Left(Target, InStr(Target, "="))
                Target = Target & S1
        End If
А так по существу не вникал, смотрю уже всё порешали
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418558
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, я посмотрел даже что то смастерил на основе вашей модели, вроде все работает но только теперь когда щелкаешь по ячейки со знаком «=» появляется inputbox , а вот цифры введенные не добавляет после равно, в то же время, щелкая по ячейки со знаком «х» все работает корректно.
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418560
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, я посмотрел даже что то смастерил на основе вашей модели, вроде все работает но только теперь когда щелкаешь по ячейки со знаком «=» появляется inputbox , а вот цифры введенные не добавляет после равно, в то же время, щелкая по ячейки со знаком «х» все работает корректно.
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418576
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0,

Функция InputBox и много другого, если бы не Эксель я бы вник в Вашу проблему
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418599
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович ЭндрюPlanB,
чего-то Вы переборщили в этом куске
Код: plaintext
1.
2.
3.
If S1 = "" Then Exit Sub Else
                Target = Left(Target, InStr(Target, "="))
                Target = Target & S1
        End If
надо
Код: plaintext
1.
2.
3.
4.
5.
If Len(S1) =  0  Then
 Exit Sub
 Else
                Target = Left(Target, InStr(Target, "="))
                Target = Target & S1
        End If
разницы нет вообще никакой
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418606
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB, да Вы вставьте код
Код: plaintext
1.
2.
3.
If S1 = "" Then Exit Sub Else
                Target = Left(Target, InStr(Target, "="))
                Target = Target & S1
        End If
и получите выделение End If, что означает ошибку в синтаксе
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418666
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0Да, я посмотрел даже что то смастерил на основе вашей модели, вроде все работает но только теперь когда щелкаешь по ячейки со знаком «=» появляется inputbox , а вот цифры введенные не добавляет после равно, в то же время, щелкая по ячейки со знаком «х» все работает корректно.вы даже скопировать код нормально не в состоянии!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim S1, S2 As String
    
    If Target.Column =  1  Then
        If InStr(Target, "х") <>  0  Then
            S1 = InputBox("введите значение 1", "модель Х")
            S2 = InputBox("введите значение 2", "модель Х")
                If (Len(S1) =  0 ) Or (Len(S2) =  0 ) Then
                    Exit Sub
                Else
                    Target = Left(Target, InStr(Target, "х"))
                    Target = Target & S1 & "x" & S2
                End If
        ElseIf InStr(Target, "=") <>  0  Then
            S1 = InputBox("введите новое значение", "модель =")
                If (Len(S1) =  0 ) Then
                    Exit Sub
                Else
                    Target = Left(Target, InStr(Target, "="))
                    Target = Target & S1
                End If
        End If
    End If
End Sub
бросьте заниматься х**ней, мой вам совет. тратите уйму времени на VB, а толку ноль. к слову, вашу задачу элементарно решить встроенными возможностями excel
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418697
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо PlanB, Спасибо Ципихович Эндрю за книжку. PlanB, да нашел ошибку , забыл Else , но не в этом суть , если этой х** как вы говорите не заниматься, то совсем просто можно использовать excel, как калькулятор , но ведь двигаться вперед надо , а каким способом уже другой вопрос. А когда помогают ещё и в написании пусть и простых, но нужных например, для моей работы моделей , как ни как нарабатывается как база знаний так и опыт правильного написания и использования той или иной функции. Да и ради интереса, все те кто помогали мне, это ваша основная специальность программирование или хобби для повышения своей производительности ? Ещё раз всем спасибо!!!!!!!!
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418703
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0,второе
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418725
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0, как для меня - так хобби, потому как умных много, а той проги, что мне надо нигде не написано, а та что есть за 500 рублей разработчик поправлять под мои советы ещё если 500 накинуть не хочет, понтуется
Заниматься или нет Вам решать, я думаю, что стоит, во всяком случае я ничего не потерял от этого
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418759
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот я про то и говорю, хуже от этого не будет, ну тогда еще один вопросик вам задам? Я уже перелопатил 2 книги + ещё куча макросов разных разработчиков, так сказать наглядные пособия , но как только садишься писать , на какой-то функции просто впадаешь в ступор особенно при перебирании ячеек ( так сказать сортировки) . Как вы понимаете как надо или что надо исправить в своем модуле, исходя уже из наработанного опыта или уже вами все функции так осознаны что как таблица умножения отлетает от зубов и знаете какую куда надо поставить что б заработала?
...
Рейтинг: 0 / 0
Макрос по замене после "="
    #37418861
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0Вот я про то и говорю, хуже от этого не будет, ну тогда еще один вопросик вам задам? Я уже перелопатил 2 книги + ещё куча макросов разных разработчиков, так сказать наглядные пособия , но как только садишься писать , на какой-то функции просто впадаешь в ступор особенно при перебирании ячеек ( так сказать сортировки) . Как вы понимаете как надо или что надо исправить в своем модуле, исходя уже из наработанного опыта или уже вами все функции так осознаны что как таблица умножения отлетает от зубов и знаете какую куда надо поставить что б заработала?года два-три посидеть на этом форуме каждый день и почти не будет казаться, что ты новичек. только с программирования в excel не начинают изучать excel. это как пойти в школу экстремального вождения без прав. я бы научился, для начала, писать формулы. а когда станет понятно, что их не хватает снова стал бы учиться писать формулы. т.к. их в 99% случаях хватает.
...
Рейтинг: 0 / 0
44 сообщений из 44, показаны все 2 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос по замене после "="
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]