В Visual Basic его <> но когда я использую его в VBA, он дает ошибку. Я использую VBA в Excel:Как добавить нет в VBA
Моя команда (работает равных) Если ActiveCell.Value = 0 Тогда
Моя команда (не работает, не равно) Если ActiveCell.Value <> 0 THen
В Visual Basic его <> но когда я использую его в VBA, он дает ошибку. Я использую VBA в Excel:Как добавить нет в VBA
Моя команда (работает равных) Если ActiveCell.Value = 0 Тогда
Моя команда (не работает, не равно) Если ActiveCell.Value <> 0 THen
Я бы никому не советовал работать с объектами «Active» в VBA. Это действительно сложно.
Попробуйте назначить все ваши рабочие книги, рабочие листы и диапазоны фактическим объектам. Как, например,:
Dim wb as Workbook
Set wb = ActiveWorkbook 'good to use it in button code.
Dim ws as Worksheet
Set ws = wb.Sheet(1)
Dim rng as Range
Set rng = ws.Range("A1")
Невозможно получить сообщение об ошибке, если вы убедитесь, что объект, на который вы ссылаетесь, существует.
Какое сообщение об исключении вы получаете? Оператор '<>' действителен VBA. Я предполагаю, что проблема в том, что вы тестируете '=' и '<>' в разных областях вашего кода. Скорее всего, когда вы тестируете '<>' с 'ActiveCell', объект является' Nothing', поэтому, когда вы пытаетесь сравнить 'ActiveCell.Value' с любым значением в вашем коде, генерируется исключение. – Mike
Никогда не используйте слова «не работает». Пожалуйста, объясните, почему. Вы получили сообщение об ошибке? что это? Или вы получаете неожиданный результат? –
В "ActiveCell" содержится ошибка рабочего листа (например, '#VALUE!' Или '# DIV/0!')? Если это дает вам * Runtime error 13. Введите несоответствие. * Тогда вы получите это, используете ли вы = или <>. Отредактируйте сообщение, чтобы включить некоторые детали, и мы должны решить эту проблему. – Jeeped