powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Добавление дополнительных кнопок у калькулятор
16 сообщений из 16, страница 1 из 1
Добавление дополнительных кнопок у калькулятор
    #36434384
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Ребята. Вот здесь /topic/312449&hl=%ea%e0%eb%fc%ea%f3%eb%ff%f2%ee%f0 надыбал на (вашем форуме) очень удобный калькулятор. Но для нормальной работы ук моеей проге, в него надо добавить несколько кнопок:
Первая – кнопка с двумя нулями. Просто необходима при наборе больших чисел.
Вторая – кнопка из запятой. У нас на Украине в бухучете числа заносятся через запятую.
Третье. Нужно перепрограмировать кнопку СЕ, чтобы она удаляла не все число, а только последний знак с конца.
И последнее Если это вам не в тягость большую, то сделайте мне пожалуйста так, чтобы в контекстное меню при запуске книги, добавлялась строка Калькулятор, для его вызов, а при закрытии книги – удалялась из меню. И чтобы этот калькулятор работал на всех листах даной книги.
Заранее спасибо!
Долго и упорно пытался сделать сам, но ничего у меня не вышло.
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36435181
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первая – кнопка с двумя нулями:
Код: plaintext
1.
2.
3.
4.
5.
Private Sub Button00_Click()
    Call Number_Click( 0 )
    Call Number_Click( 0 )
End Sub


Вторая – кнопка из запятой: это зависит от установок Экселя, что у него настроено, то и будет.
Код: plaintext
1.
    DecimalSeparator = Application.International(xlDecimalSeparator)
У меня дома ставит (и на левой кнопке нарисована) запятую/я, на работе соотв. точка.
Вот правая кнопка ничего не ставит, потому что на неё (как и на хелп) в коде пусто:
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub CommandButton1_Click()

End Sub

Private Sub PUPHelpButton_Click()

End Sub
Третье. Нужно перепрограмировать кнопку СЕ - я немного подкрутил кнопку С, там попроще, но с брачком:
Код: plaintext
1.
2.
3.
4.
5.
Private Sub ButtonC_Click()
'   Click event procedure for C (cancel) key.
'    Call Reset
    ReadOut.Text = Left(ReadOut.Text, Len(ReadOut.Text) -  2 ) & DecimalSeparator
End Sub
Если числа целые, то нормально, а с дробными работает неправильно, надо дорабатывать.
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36435444
anor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gleod,

Калькулятор... внутри Exсel

люди знают толк в извращениях.

А чем формула в ячейке и кнопка F9 не устраивает?
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36435864
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,

Доброго вам дня!
Первая – кнопка с двумя нулями:
Установил ваш макрос, работает

Вторая – кнопка из запятой: это зависит от установок Экселя, что у него настроено, то и будет.
А разве и то и другое, нельзя установить? На всякий случай! Для этой цели я и создал доп. Кнопку справа.

Третье. Нужно перепрограмировать кнопку СЕ - я немного подкрутил кнопку С, там попроще, но с брачком:
Вот сам соорудил такой макрос :
Private Sub ButtonC_Click()
Me.ReadOut = Left(Me.ReadOut, Len(Me.ReadOut) - 1)
End Sub
Не знаю, правильно или нет, но работает неплохо

как и на хелп) в коде пусто. Я ее отключил, потому что изначально она не работала. Если моднро ее исправить, то будет неплохо. А в общем, то она не сильно и нужна.
А вот вызов куркулятора из меню, ну очень нужен!!!
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36435896
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
anor,
И вам доброго дня!
Калькулятор... внутри Exсel
Не знаю как вам, но для меня он очень неудобен. Хотя бы потому, что я на нем плохо вижу цифры, а как изменить цвета не знаю. Как и не знаю как быстро его вызвать на лист Екселя.

А чем формула в ячейке и кнопка F9 не устраивает?
Просто не знаю что это такое.
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36435912
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторчтобы в контекстное меню при запуске книги, добавлялась строка Калькулятор, для его вызов, а при закрытии книги – удалялась из меню. И чтобы этот калькулятор работал на всех листах даной книги. - вот про меню непонятно, проясните.
А на всех листах он и так работает.
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36435929
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GleodА чем формула в ячейке и кнопка F9 не устраивает?
Просто не знаю что это такое.
Вы не знаете, что делает F9?!
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36435947
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,
Вот сам соорудил такой макрос :
Private Sub ButtonC_Click()
Me.ReadOut = Left(Me.ReadOut, Len(Me.ReadOut) - 1)
End Sub
Не знаю, правильно или нет, но работает неплохо

Вот только сейчас обнаружил. При лишнем нажатии на кнопку (если уже все цифры удалены) ексель выдает ошибку. Наверняка чего то в макросе не хватает?
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36436023
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверняка чего то в макросе не хватает - может так (не проверял):
Код: plaintext
If Len(Me.ReadOut)> 2  Then Me.ReadOut = Left(Me.ReadOut, Len(Me.ReadOut) -  1 )
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36436227
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,
If Len(Me.ReadOut)>2 Then Me.ReadOut = Left(Me.ReadOut, Len(Me.ReadOut) - 1)
Нет, не работает. Причем при удалении всегда оставляет 2 цифры. Попробовал поменять >2 на >0, а потом >1. Тоже не работает как надо, с ошибками.

вот про меню непонятно, проясните.
А что тут непонятного. Я хочу чтобы этот калькулятор можно было вызвать на лист Екселя,из стандартного выпадающего контекстного меню екселя. И, чтобы строка калькулятор в этом меню добавлялась при открытии книги екселя, а при ее закрытии - исчезала из меню.
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36436254
anor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gleod
AnorА чем формула в ячейке и кнопка F9 не устраивает?
Просто не знаю что это такое.

В смысле пишете сколь угодно сложную формулу в ячейке или строке формул.

Выделяете нужную часть в формуле и нажимаете F9.

Странно, что вы имеете представление о запуске макросов, но про это не знаете.
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36436288
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
anor,
Да я еще много чего не знаю. Но стремлюсь знать все и больше...
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36436298
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так работает:
Код: plaintext
If Len(Me.ReadOut) >  2  Then Me.ReadOut = Left(Me.ReadOut, Len(Me.ReadOut) -  2 ) & DecimalSeparator
- это почти то, что было у меня
Код: plaintext
ReadOut.Text = Left(ReadOut.Text, Len(ReadOut.Text) -  2 ) & DecimalSeparator
Без DecimalSeparator нельзя, именно поэтому далее ошибку и выкидывает.
Но с дробями глючит...
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36436521
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,
If Len(Me.ReadOut) > 2 Then Me.ReadOut = Left(Me.ReadOut, Len(Me.ReadOut) - 2) & DecimalSeparator
Этот вариант работает с целыми числами. А вот с дробными? Добавляет какую то дополнительнуб точку, а потом ее удаляет.
Просто интересною Какое выражение (часть макроса) ее добавляет?
Опробовал вот так:
If Len(Me.ReadOut) > 1 Then Me.ReadOut = Left(Me.ReadOut, Len(Me.ReadOut) - 2) & DecimalSeparator
Из целыми числами, работает нормально. А вот с дробными – повторяет ту же ошибку. Да еще с нюансом. При повторнои=м наборе числа, его набор начинается с нуль целых.
Ну прямо издевательство Екселя над человеком!
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36438184
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,
вам и всем форумчанам доброго дня!
Вот сочинил для кнопки С новый код:

Private Sub ButtonC_Click()
HandleBackspace
End Sub

Private Sub HandleBackspace()
If ReadOut.Text = "" Then Exit Sub
If ReadOut.Text = "Деление на нуль запрещено" Then
ReadOut.Text = "0,"
Exit Sub
End If

If ReadOut.Text <> "0," Then
ReadOut.Text = Left$(ReadOut.Text, Len(ReadOut.Text) - 1)
End If
If ReadOut.Text = "" Then ReadOut.Text = "0,"
End Sub
В целом вроди бы работает. Но опять таки, с некоторыми недостатками.
НапримерЮ если этой кнопкой удалить все цифры до нуля, то в случае повторного набора нового числа (без нажатия на кнопку СЕ), набор начинается : либо с нуля (перед цифрами), либо просто набирается дробное число.
Посмотрите пожалуйста! Может придумаете как этого избежать. У меня не получается.
...
Рейтинг: 0 / 0
Добавление дополнительных кнопок у калькулятор
    #36446920
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gleod,

Ребята! А вот здесь еще остался нерешенным вопрос кода на кнопке СЕ. См. выше.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Добавление дополнительных кнопок у калькулятор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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