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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2016, 14:25   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию Не суммирует в объединённой ячейки

Не могу понять, почему в (Д18, Д19) - объед. яч. - не суммирует!!
Если (Д3, Д4) - также объед. яч., разъединяю, то в (Д18, Д19) всё работает
Если в макросе меняю строку
Код:
[d3].Offset(dat * 15) = [c3].Offset(dat * 15) + [c4].Offset(dat * 15)
на
Cells(3 + dat * 15, 4) = [c3].Offset(dat * 15) + [c4].Offset(dat * 15)
То всё в объединённых ячейках работает чётко.

Ещё заметил, (Д3, Д4) - объед. яч., Д18, Д19 - обычные
ввожу данные в В18, ответ получаю в Д19 - как так [d3].Offset(15) стал Д19 ???

В др. книги проверял
Код:
Private Sub Worksheet_Activate()
[d3].Offset(15).Select
MsgBox ActiveCell.Row
End Sub
Если Д3, Д4 то курсор становится на Д18 и сообщает также
Если (Д3, Д4) то курсор становится на Д19 и сообщает также

если надо, прицеплю файл.

З. Ы.
Игорь я непьющий.
valerij вне форума Ответить с цитированием
Старый 21.02.2016, 14:56   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Валера, тебе интересен ответ на свой вопрос?

если да, то прикрепляешь файл, в котором не все макросы, что ты написал за последние 6 лет, а 1, 2 простеньких макроса с вопросом: "почему так?"
и обьясняешь что тебе не понятно, что сработало не так, как ты планировал, возможно тогда, кто-то и ответит

потому что весь предыдущий рассказ не о чем, нет предмета обсуждения
-- купил себе машину!!!
-- молодец! а какого цвета?
-- закат солнца видел?
-- видел...
-- вот, точно такая же! Только зеленая!!!
этот анекдот довольно точно иллюстрирует информативность твоего рассказа
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.02.2016, 19:32   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Валера, тебе интересен ответ на свой вопрос?
если да, то прикрепляешь файл,
Ок, прикрепляю, но я думал, что макроса выше, достаточно.
Ну ладно.
Ввод в В3, В4 и В18, В19
Вложения
Тип файла: rar zxc.rar (21.9 Кб, 5 просмотров)

Последний раз редактировалось valerij; 21.02.2016 в 19:54.
valerij вне форума Ответить с цитированием
Старый 21.02.2016, 21:18   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Цитата:
Сообщение от valerij Посмотреть сообщение
Ввод в В3, В4 и В18, В19
Ввожу. Меняются соотв. ячейки D3, D18. В чем проблема?
И почему бы не сделать это простыми формулами и включить защиту листа, оставив незащищенными ячейки, предназначенные для ввода (ст. А)?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 21.02.2016, 21:31   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

проводим эксперимент:
1. обьединяем ячейки С3:С7
2. В редакторе ВБА открываем окно "Immediate" (можно с клавиш Ctrl+G)
3. пишем в нем
? [c3].offset(1).address
видим
$C$8
4. пишем
? [c5].offset(1).address
видим
$C$8
с3:с7 - обьеденены в одну ячейку следующая за ними С8...
а с другой стороны
пердыдущая из любой из них с3:с7 - это С2:С6 соответственно

такая забавная логика у offset

ну и делов-то?
логика выяснена - нужно ею пользоваться)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.02.2016, 21:43   #6
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Ввожу. Меняются соотв. ячейки D3, D18. В чем проблема?
Вот скрин.
Объедините Д18, Д19 и введите в В18 в (Д18, Д19) ничего нет.

Цитата:
Сообщение от IgorGO Посмотреть сообщение
проводим эксперимент))
Провожу, ошибку выдаёт.
Там символы правильны?
Изображения
Тип файла: jpg 5.jpg (81.1 Кб, 32 просмотров)
valerij вне форума Ответить с цитированием
Старый 21.02.2016, 21:47   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

все замечательно суммирует

просто тему следовало бы на звать не
"не суммирует в обьединенной ячейке"
а
научите, как пользоваться Range.Offset
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.02.2016, 21:53   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Провожу, ошибку выдаёт.
для достоверности эксперимента в окно Immediate не пишем, а КОПИРУЕМ С ЭТОГО СООБЩЕНИЯ:
? [c3].offset(1)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.02.2016, 21:53   #9
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
все замечательно суммирует
У тебя есть мой пример, сделай, а как называть - моё дело.

Я экспер. твой провёл, я делал по другому([d3].Offset(dat * 14)) и вывод такой же про offset, но я подумал, что ошибаюсь.
Поэтому спросил.

Я убрал оффсет и вся стало ОК.

Но с таким впервые столкнулся, ск. там ты говорил - за шесть лет.

Последний раз редактировалось valerij; 22.02.2016 в 00:14.
valerij вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка объединённой ячейки в обычную Кардаган Microsoft Office Excel 18 16.07.2015 12:38
Исключение из общей суммы ячейки на основании данных ячейки из другой строки Natalia07 Помощь студентам 2 06.03.2013 17:16
написать цикл, который суммирует введенные с клавиатуры числа harvey Помощь студентам 3 10.10.2012 20:15
Ссылка объединённой ячейки на необъединённую QWERTY_Dubna Microsoft Office Excel 1 26.11.2008 12:12
программа суммирует натуральные числа от 1 до 50 и выводит результат вычисления на экран xxasb07 Паскаль, Turbo Pascal, PascalABC.NET 2 18.11.2008 10:32