Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Проверка значений на листе - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проверка значений на листе (Макросы/Sub)
Проверка значений на листе
Alenka546 Дата: Пятница, 16.10.2020, 12:53 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день! Запуталась в трех соснах, помогите!
На листе в девятой колонке есть ячейки со значениями:
792000
2373229,44
3024000,00
6189229,44
Последнее является значением суммы первых трех. Необходимо проверить что это значение посчитано правильно. Если неправильно - залить цветом

Кусок кода:
[vba]
Код
If wb.Cells(LastRow, 9).Value <> Application.Sum(Range("I" & FirstRow + 1 & ":I" & LastRow - 1)) Then
wb.Cells(LastRow, 9).Interior.Color = vbYellow
Else
wb.Cells(LastRow, 9).Interior.Color = vbWhite
End If
[/vba]

Для других значений выполняется правильно (сумма подсчитана верно и заливка не выполняется), а конкретно для этого набора красится желтым.
Пробовала через переменные
[vba]
Код
x=wb.Cells(LastRow2, 9).Value
y=Application.Sum(Range("I" & FirstRow + 1 & ":I" & LastRow - 1))
If x<>y then ...
[/vba]
Когда в отладке навожу курсор на значения x и y получаю два одинаковых числа. Но почему-то VBA считает их неравными. Что не так?


Сообщение отредактировал Alenka546 - Пятница, 16.10.2020, 14:08
 
Ответить
СообщениеДобрый день! Запуталась в трех соснах, помогите!
На листе в девятой колонке есть ячейки со значениями:
792000
2373229,44
3024000,00
6189229,44
Последнее является значением суммы первых трех. Необходимо проверить что это значение посчитано правильно. Если неправильно - залить цветом

Кусок кода:
[vba]
Код
If wb.Cells(LastRow, 9).Value <> Application.Sum(Range("I" & FirstRow + 1 & ":I" & LastRow - 1)) Then
wb.Cells(LastRow, 9).Interior.Color = vbYellow
Else
wb.Cells(LastRow, 9).Interior.Color = vbWhite
End If
[/vba]

Для других значений выполняется правильно (сумма подсчитана верно и заливка не выполняется), а конкретно для этого набора красится желтым.
Пробовала через переменные
[vba]
Код
x=wb.Cells(LastRow2, 9).Value
y=Application.Sum(Range("I" & FirstRow + 1 & ":I" & LastRow - 1))
If x<>y then ...
[/vba]
Когда в отладке навожу курсор на значения x и y получаю два одинаковых числа. Но почему-то VBA считает их неравными. Что не так?

Автор - Alenka546
Дата добавления - 16.10.2020 в 12:53
Pelena Дата: Пятница, 16.10.2020, 14:19 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19181
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Alenka546, оформите коды тегами с помощью кнопки # в режиме правки поста. И приложите кусок файла с проблемными ячейками


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеAlenka546, оформите коды тегами с помощью кнопки # в режиме правки поста. И приложите кусок файла с проблемными ячейками

Автор - Pelena
Дата добавления - 16.10.2020 в 14:19
Alenka546 Дата: Суббота, 17.10.2020, 14:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Извините. Вот кусок файла с этим примером.
К сообщению приложен файл: primer.xlsm (19.1 Kb)
 
Ответить
СообщениеИзвините. Вот кусок файла с этим примером.

Автор - Alenka546
Дата добавления - 17.10.2020 в 14:56
RAN Дата: Суббота, 17.10.2020, 22:33 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеОшибка вычисления внутри ЕСЛИ()

Автор - RAN
Дата добавления - 17.10.2020 в 22:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проверка значений на листе (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!