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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2010, 17:02   #11
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
твоей задачи ...
Игорь, та задача о которой ты говоришь, давно решена и забыта, и я, и другие ей успешно пользуют, все там ОК.

Здесь же, совершенно другая, я ее то же спокойно решил и использую, просто она у меня по кварталам, несколько неудобно, вот я и решил сделать ее годовой.

Мне нужно, только одно, как организовать переменные, если какого-то интересно - радикального способа нет, что я и хотел у ВАС, профи, узнать, то и бог с ней!!
valerij вне форума Ответить с цитированием
Старый 30.04.2010, 23:30   #12
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Кто подскажет, почему ошибка, при выборе в С1, а если в С1 будет цифры, ошибки нет?
Код:
Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Excel.Range)
Static x(887) As Long: Static y(887) As Long
For Each ввод In Target
If [c1] = "А" Then x(Target.Row) = Cells(ввод.Row, 3)
If [c1] = "Б" Then y(Target.Row) = Cells(ввод.Row, 3)
Next
End Sub
valerij вне форума Ответить с цитированием
Старый 01.05.2010, 01:01   #13
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

А почему бы и ошибке не быть,если событие будет происходить в первой строке.Вместо ожидаемого числа ему предлагают букву А или Б.Поставь условие на пропуск в первой строке
Код:
if Target.Row>1
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 01.05.2010, 12:19   #14
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Вместо ожидаемого числа ему предлагают букву А или Б
Сереж, С1 -это, "Данные - Проверка.. - Проверка вводимых значений -Список" и там, значение А, Б.....
Если я в место А, Б....., ставлю 1, 2...., все ОК.
Что в списке, нельзя применять буквенные значения?
valerij вне форума Ответить с цитированием
Старый 01.05.2010, 12:34   #15
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Валера, нельзя так.
Тебе уже точно сказали, где ошибка, а ты продолжаешь выспрашивать.
Что тут еще выспрашивать? Doober не только указал где ошибка, а еще и написал как ее обойти.

Буквенные значения проверять можно, нельзя в массив x(887) As Long совать данные строкового типа.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 01.05.2010 в 12:40.
IgorGO вне форума Ответить с цитированием
Старый 01.05.2010, 12:44   #16
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Буквенные значения проверять можно, нельзя в массив x(887) As Long совать данные строкового типа.
Игорь, ну не пойму, где я в массив пихаю строковую ~?
Я рассуждаю, что если значение в С1, равно "А", тогда выполнить действие:
Код:
x(Target.Row) = Cells(ввод.Row, 3)
Я же не присваиваю x(Target.Row) = А
А, наверное Target и есть тоже выбор??
valerij вне форума Ответить с цитированием
Старый 01.05.2010, 12:59   #17
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
x(Target.Row) = Cells(ввод.Row, 3)
При нахождении курсора в первой строке Cells(ввод.Row, 3) -это ячейка С1 ,а ее значение БУКВА
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 01.05.2010, 13:01   #18
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а что за значение у тебя в Cells(1, 3)???
глупо советовать, не представляя назначение данной процедуры (ее сверхзадачу, как говаривал Станиславский) но все же - так напиши:
Код:
Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Excel.Range)
Static x(887) As Long: Static y(887) As Long
if target.row = 1 exit sub
For Each ввод In Target
If [c1] = "А" Then x(Target.Row) = Cells(ввод.Row, 3)
If [c1] = "Б" Then y(Target.Row) = Cells(ввод.Row, 3)
Next
End Sub
если все работает как надо - считай задача решена
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 03.05.2010, 19:52   #19
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
а что за значение у тебя в Cells(1, 3)???
если все работает как надо - считай задача решена
Имена, магазинов.
Да, работает, СПАСИБО...
Часть задачи.
valerij вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
QuickSort на столько быстро, на сколько это возможно Kn793 Общие вопросы C/C++ 2 10.04.2010 09:28
как ввести числа с клавиатуры и запомнить их в переменные mandarinka27 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 18.05.2009 17:03
Запомнить текст soonner PHP 2 06.05.2009 15:04
TStringGrid - изначально мы видим одну ячейку в конце должно быть столько сколько заполнили. Ensoph Компоненты Delphi 5 18.10.2007 22:24