Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: Пред. 1 2
RSS
Почему переменные с одинаковыми значениями не видят друг друга?, и выполнение кода пропускает их одинаковые значения, может из-за кавычек, возвращаемых одной из переменных?
 
Цитата
Домкрат написал:
код слишком велИк получается
Тогда набросайте малюсенький пример с данными 1-2 строки и  проверочный макрос, чтобы понимать, где проблема. Может быть у Вас в исходных данных на самом листе что-то не в порядке.
 
Может будем проще?
Код
Sub qqq()
    Dim a$, b$
    a = 123
    b = "123"
    Debug.Print a = b    'True
End Sub

Зачем там Variant? Собираетесь эти коды перемножать?
Изменено: Hugo - 28 Май 2020 20:29:53
 
Игорь, конечно, если разговор про артикулы, табельные номера, расчётные счета и,т.п.. то нет смысла ))
 
Хотелось бы отметить, уважаемые программисты, что не у всех получается сидеть днями над кодом, например у меня через час, если начинаются заморочки, примерно, просто-напросто мозг тупеет напрочь. И уже ничего бесполезно пытаться соображать. Хоть заизучайся там доуsepy.  Результат будет нулевой.  Поэтому фразы типа: "Помощь "на тарелочке" - это зачастую мкдвкежья услуга!",- а до "тарелочки" я уже > месяца эту тему двигаю.. я просто к тому, что всё в мире относительно, и написать ИЗНАЧАЛЬНО ПРАВИЛЬНО: "a = Val(a)" , а не  "Val(a)= а" , как было предложено изначально, я  считаю  было бы большой помощью , чем тратить непонятно на что время.
Изменено: Домкрат - 28 Май 2020 20:37:47
 
Цитата
Hugo написал:
Зачем там Variant? Собираетесь эти коды перемножать?
код не ругается. А какой нужно?
Цитата
Hugo написал:
Может будем проще?
спасибо, в архив поставлю пока, может пригодится.  
 
Про объявление переменных я ещё на первой странице сказал, а т.к. это судя по всему коды, то логично сразу делать их строковыми чтоб потом не удивляться куда делись ведущие нули, или ещё чему...
 
Hugo, Я читал про переменные, как Вы писали,- ничего в голову не пришло... цитата: "а т.к. это судя по всему коды, то логично сразу делать их строковыми",- насчёт логики тут дело спорное, всех не упомнишь)):
Изменено: Домкрат - 29 Май 2020 06:34:17
 
Задача на повторение пройденного. Решаем без доски Excel, затем проверяем.Что будет выдано в результате работы макроса:

Код
Sub test()
  Dim d As Double, s As String, v1, v2
  s = "1": v1 = s: d = 1: v2 = d
  Debug.Print s = d, s = v2, v1 = d, v1 = v2
End Sub
Владимир
 
Цитата
sokol92 написал:
Решаем без доски Excel
не..для меня слишком много букв! вот, что ексель животворящий делает!
Код
Debug.Print s = d, s = v2, v1 = d, v1 = v2
            True    True    True    False
   
 
Цитата
vikttur написал:
Val("1") = 1 (для целых чисел)
всё, конечная версия выглядит так:
Код
a = Val(CStr(tbl.Cells(lngRowIndex - 1, "D").Value))
теперь красиво прям! vikttur - респект!
Страницы: Пред. 1 2
Читают тему (гостей: 1)
Наверх