Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.11.2008, 11:53   #1
slonik
 
Регистрация: 11.11.2008
Сообщений: 4
Печаль подскажите с формулой

Подскажите пожалуйсто как сделать, чтобы весь столбец автоматически, при вводе в ячейку числа, припысывал знак "-"?
slonik вне форума
Старый 11.11.2008, 12:41   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если, например, это нужно для столбца "A", то можно в модуль соответствующего листа вставить код:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Application.EnableEvents = False
        If IsNumeric(Target) Then If Target > 0 Then Target = Target * (-1)
        Application.EnableEvents = True
    End If
End Sub
P.S. данный код работает только при вводе данных по одной ячейке. Что делать в других возможных случаях, Вы не оговорили.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 11.11.2008, 12:58   #3
slonik
 
Регистрация: 11.11.2008
Сообщений: 4
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Если, например, это нужно для столбца "A", то можно в модуль соответствующего листа вставить код:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Application.EnableEvents = False
        If IsNumeric(Target) Then If Target > 0 Then Target = Target * (-1)
        Application.EnableEvents = True
    End If
End Sub
P.S. данный код работает только при вводе данных по одной ячейке. Что делать в других возможных случаях, Вы не оговорили.
Столбцы В и С (x и y) могут меняться на отрицательные... вводу координаты в каждую ячейку вручную...
Вложения
Тип файла: rar excel.rar (78.7 Кб, 16 просмотров)
slonik вне форума
Старый 11.11.2008, 13:44   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

И что???
Цитата:
Подскажите пожалуйсто как сделать, чтобы весь столбец автоматически, при вводе в ячейку числа, припысывал знак "-"?
В предложенном варианте при вводе значения в столбец "A", проверяется, если введено положительное число, то оно умножается на минус 1. Иначе - ничего не делается. Так нужно, или нет?
Если эти действия нужны для столбцов "B" и "C", то строку кода
Код:
If Target.Column = 1 Then
замените на
Код:
If Target.Column = 2 Or Target.Column = 3 Then
Так нужно, или нет?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 11.11.2008, 14:06   #5
slonik
 
Регистрация: 11.11.2008
Сообщений: 4
По умолчанию

нужно конечно))
slonik вне форума
Старый 11.11.2008, 14:34   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Так нужно, или нет?
Интересная получилась "игра слов".
Я имел ввиду "Так подойдет?"
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 11.11.2008, 14:40   #7
slonik
 
Регистрация: 11.11.2008
Сообщений: 4
По умолчанию

хе...только вопрос.... при вставки в модуль мне выдает...
Вложения
Тип файла: rar excel.rar (50.3 Кб, 17 просмотров)
slonik вне форума
Старый 11.11.2008, 14:58   #8
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от slonik Посмотреть сообщение
хе...только вопрос.... при вставки в модуль мне выдает...
Судя по скрину, ну и что Вы навставляли?
Вы из модуля взяли Sub минус и вставили в Лист1 конечно будет ошибка, удалите все до Private sub ....
valerij вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с формулой master_3 Microsoft Office Excel 4 17.04.2009 19:15
Помогите с формулой. Lord_Daron Microsoft Office Excel 2 06.11.2008 21:21
Трудности с формулой arr1val Microsoft Office Excel 1 15.08.2008 17:18
Помогите с формулой ivkoa Microsoft Office Excel 7 28.07.2008 15:21
ПОМОГИТЕ С ФОРМУЛОЙ А^ександр Microsoft Office Excel 6 19.02.2008 10:17