Массив нулевой длины (пустой)
Blin
Дата: Среда, 22.04.2015, 17:50 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
20% ±
Excel 2013
Здравствуйте. Имею следующий код Еще раз увижу непечатные выражения (на любом языке) - забаню вообще. ubound lbound выдает ошибку. Почему? потому что массив нулевой? Как проверить массив нулевой или нет?
Здравствуйте. Имею следующий код Еще раз увижу непечатные выражения (на любом языке) - забаню вообще. ubound lbound выдает ошибку. Почему? потому что массив нулевой? Как проверить массив нулевой или нет? Blin
Сообщение отредактировал _Boroda_ - Среда, 22.04.2015, 17:57
Ответить
Сообщение Здравствуйте. Имею следующий код Еще раз увижу непечатные выражения (на любом языке) - забаню вообще. ubound lbound выдает ошибку. Почему? потому что массив нулевой? Как проверить массив нулевой или нет? Автор - Blin Дата добавления - 22.04.2015 в 17:50
Blin
Дата: Среда, 22.04.2015, 18:04 |
Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
20% ±
Excel 2013
извиняюсь S[vba]Код
ub check_arr() Dim some_array() If UBound(some_array) > 0 Then MsgBox "array is exist!" Else: MsgBox "array is not exist!" End If End Sub
[/vba]
извиняюсь S[vba]Код
ub check_arr() Dim some_array() If UBound(some_array) > 0 Then MsgBox "array is exist!" Else: MsgBox "array is not exist!" End If End Sub
[/vba] Blin
Сообщение отредактировал Blin - Среда, 22.04.2015, 18:04
Ответить
Сообщение извиняюсь S[vba]Код
ub check_arr() Dim some_array() If UBound(some_array) > 0 Then MsgBox "array is exist!" Else: MsgBox "array is not exist!" End If End Sub
[/vba] Автор - Blin Дата добавления - 22.04.2015 в 18:04
krosav4ig
Дата: Среда, 22.04.2015, 18:13 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация:
989
±
Замечаний:
0% ±
Excel 2007,2010,2013
[vba]Код
Sub check_ar() Dim some_array(), N& On Error Resume Next N = UBound(some_array) If Err > N Then MsgBox "some_array is not exist!": Err.Clear Else: MsgBox "some_array is exist!" End If End Sub
[/vba]
[vba]Код
Sub check_ar() Dim some_array(), N& On Error Resume Next N = UBound(some_array) If Err > N Then MsgBox "some_array is not exist!": Err.Clear Else: MsgBox "some_array is exist!" End If End Sub
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение [vba]Код
Sub check_ar() Dim some_array(), N& On Error Resume Next N = UBound(some_array) If Err > N Then MsgBox "some_array is not exist!": Err.Clear Else: MsgBox "some_array is exist!" End If End Sub
[/vba] Автор - krosav4ig Дата добавления - 22.04.2015 в 18:13
alex77755
Дата: Среда, 22.04.2015, 21:17 |
Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация:
64
±
Замечаний:
0% ±
[vba]Код
If Not Not M Then Debug.Print LBound(M)
[/vba]
[vba]Код
If Not Not M Then Debug.Print LBound(M)
[/vba] alex77755
Могу помочь в VB6, VBA Alex77755@mail.ru
Ответить
Сообщение [vba]Код
If Not Not M Then Debug.Print LBound(M)
[/vba] Автор - alex77755 Дата добавления - 22.04.2015 в 21:17
KuklP
Дата: Четверг, 23.04.2015, 06:12 |
Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Мож стоит на IsArray проверить?
Мож стоит на IsArray проверить? KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Сообщение отредактировал KuklP - Четверг, 23.04.2015, 06:13
Ответить
Сообщение Мож стоит на IsArray проверить? Автор - KuklP Дата добавления - 23.04.2015 в 06:12
KuklP
Дата: Четверг, 23.04.2015, 06:26 |
Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Типа: [vba]Код
Sub check_arr() Dim some_array If IsArray(some_array) Then MsgBox "array is exist!" MsgBox UBound(some_array) Else: MsgBox "array is not exist!" ReDim some_array(1) MsgBox UBound(some_array) End If End Sub
[/vba]
Типа: [vba]Код
Sub check_arr() Dim some_array If IsArray(some_array) Then MsgBox "array is exist!" MsgBox UBound(some_array) Else: MsgBox "array is not exist!" ReDim some_array(1) MsgBox UBound(some_array) End If End Sub
[/vba] KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Типа: [vba]Код
Sub check_arr() Dim some_array If IsArray(some_array) Then MsgBox "array is exist!" MsgBox UBound(some_array) Else: MsgBox "array is not exist!" ReDim some_array(1) MsgBox UBound(some_array) End If End Sub
[/vba] Автор - KuklP Дата добавления - 23.04.2015 в 06:26
Blin
Дата: Четверг, 23.04.2015, 13:06 |
Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
20% ±
Excel 2013
Мож стоит на IsArray проверить?
isarray проверяет есть ли массив. массив любой длины. у меня и так есть массив, мне надо отличить массив нулевой от массива ненулевого. ubound lbound вылетают при проверке нулевого массива (вот же бред) (в тоже время isarray выдает тру на этот же массив). Традиционно спасают подпорки в виде on error
Мож стоит на IsArray проверить?
isarray проверяет есть ли массив. массив любой длины. у меня и так есть массив, мне надо отличить массив нулевой от массива ненулевого. ubound lbound вылетают при проверке нулевого массива (вот же бред) (в тоже время isarray выдает тру на этот же массив). Традиционно спасают подпорки в виде on errorBlin
Ответить
Сообщение Мож стоит на IsArray проверить?
isarray проверяет есть ли массив. массив любой длины. у меня и так есть массив, мне надо отличить массив нулевой от массива ненулевого. ubound lbound вылетают при проверке нулевого массива (вот же бред) (в тоже время isarray выдает тру на этот же массив). Традиционно спасают подпорки в виде on errorАвтор - Blin Дата добавления - 23.04.2015 в 13:06
RAN
Дата: Четверг, 23.04.2015, 13:29 |
Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Вы немного путаете. Нулевой массив это [vba][/vba] А [vba][/vba] это массив не определенной размерности.
Вы немного путаете. Нулевой массив это [vba][/vba] А [vba][/vba] это массив не определенной размерности. RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Вы немного путаете. Нулевой массив это [vba][/vba] А [vba][/vba] это массив не определенной размерности. Автор - RAN Дата добавления - 23.04.2015 в 13:29
Blin
Дата: Четверг, 23.04.2015, 14:56 |
Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
20% ±
Excel 2013
да да. неопределенной размерности
да да. неопределенной размерности Blin
Ответить
Сообщение да да. неопределенной размерности Автор - Blin Дата добавления - 23.04.2015 в 14:56
KuklP
Дата: Четверг, 23.04.2015, 18:40 |
Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Blin , Вы мой код в сообщении №6 смотрели-пробовали? В чем разница поняли?
Blin , Вы мой код в сообщении №6 смотрели-пробовали? В чем разница поняли?KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Blin , Вы мой код в сообщении №6 смотрели-пробовали? В чем разница поняли?Автор - KuklP Дата добавления - 23.04.2015 в 18:40
RAN
Дата: Четверг, 23.04.2015, 18:49 |
Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Серег [vba][/vba] всегда [vba][/vba]
Серег [vba][/vba] всегда [vba][/vba] RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Серег [vba][/vba] всегда [vba][/vba] Автор - RAN Дата добавления - 23.04.2015 в 18:49
KuklP
Дата: Четверг, 23.04.2015, 18:56 |
Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Еще один писатель-нечитатель. Андрюх, нафига обьявлять динамический массив? Объяви вариант и проверяй на isarray.
Еще один писатель-нечитатель. Андрюх, нафига обьявлять динамический массив? Объяви вариант и проверяй на isarray. KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Еще один писатель-нечитатель. Андрюх, нафига обьявлять динамический массив? Объяви вариант и проверяй на isarray. Автор - KuklP Дата добавления - 23.04.2015 в 18:56
RAN
Дата: Четверг, 23.04.2015, 18:59 |
Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Дык думаешь я не видел? Чел хочет именно "()"
Дык думаешь я не видел? Чел хочет именно "()" RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Четверг, 23.04.2015, 19:00
Ответить
Сообщение Дык думаешь я не видел? Чел хочет именно "()" Автор - RAN Дата добавления - 23.04.2015 в 18:59
KuklP
Дата: Четверг, 23.04.2015, 19:09 |
Сообщение № 14
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
И еще - Dim a(0) - это не нулевой массив. Это вполне обычный статический массив с одной ячейкой и базой 0. То же, что Dim a(0 To 0) Так работает: [vba]Код
Public Sub www() Dim a(0) MsgBox UBound(a) End Sub
[/vba] Но добавь в разделе деклараций Option Base 1 и будет ошибка
И еще - Dim a(0) - это не нулевой массив. Это вполне обычный статический массив с одной ячейкой и базой 0. То же, что Dim a(0 To 0) Так работает: [vba]Код
Public Sub www() Dim a(0) MsgBox UBound(a) End Sub
[/vba] Но добавь в разделе деклараций Option Base 1 и будет ошибка KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение И еще - Dim a(0) - это не нулевой массив. Это вполне обычный статический массив с одной ячейкой и базой 0. То же, что Dim a(0 To 0) Так работает: [vba]Код
Public Sub www() Dim a(0) MsgBox UBound(a) End Sub
[/vba] Но добавь в разделе деклараций Option Base 1 и будет ошибка Автор - KuklP Дата добавления - 23.04.2015 в 19:09
KuklP
Дата: Четверг, 23.04.2015, 19:11 |
Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Откуда он знает, чего он хочет? Он хочет, чтоб работало.
Откуда он знает, чего он хочет? Он хочет, чтоб работало. KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Откуда он знает, чего он хочет? Он хочет, чтоб работало. Автор - KuklP Дата добавления - 23.04.2015 в 19:11
RAN
Дата: Четверг, 23.04.2015, 19:44 |
Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
И я не знаю. Для меня вообще загадка, зачем эта проверка.
И я не знаю. Для меня вообще загадка, зачем эта проверка. RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение И я не знаю. Для меня вообще загадка, зачем эта проверка. Автор - RAN Дата добавления - 23.04.2015 в 19:44
alex77755
Дата: Четверг, 23.04.2015, 21:10 |
Сообщение № 17
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация:
64
±
Замечаний:
0% ±
Dim a() Dim a(0 To 0) Не одно и то же После Dim a() и ReDim a(0) debug.print ubound(a) ошибки не вызовет А проверка If Not Not M Then Debug.Print LBound(M) решает этот вопрос Сам когда-то на этом долго не мог разрулить
Dim a() Dim a(0 To 0) Не одно и то же После Dim a() и ReDim a(0) debug.print ubound(a) ошибки не вызовет А проверка If Not Not M Then Debug.Print LBound(M) решает этот вопрос Сам когда-то на этом долго не мог разрулить alex77755
Могу помочь в VB6, VBA Alex77755@mail.ru
Ответить
Сообщение Dim a() Dim a(0 To 0) Не одно и то же После Dim a() и ReDim a(0) debug.print ubound(a) ошибки не вызовет А проверка If Not Not M Then Debug.Print LBound(M) решает этот вопрос Сам когда-то на этом долго не мог разрулить Автор - alex77755 Дата добавления - 23.04.2015 в 21:10
KuklP
Дата: Четверг, 23.04.2015, 21:16 |
Сообщение № 18
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Dim a() Dim a(0 To 0) Не одно и то же
Алекс, паршивая привычка искажать чужие слова. Dim a(0) - это не нулевой массив. Это вполне обычный статический массив с одной ячейкой и базой 0. То же, что Dim a(0 To 0)
Не совсем так, как у Вас, правда?
Dim a() Dim a(0 To 0) Не одно и то же
Алекс, паршивая привычка искажать чужие слова. Dim a(0) - это не нулевой массив. Это вполне обычный статический массив с одной ячейкой и базой 0. То же, что Dim a(0 To 0)
Не совсем так, как у Вас, правда?KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Dim a() Dim a(0 To 0) Не одно и то же
Алекс, паршивая привычка искажать чужие слова. Dim a(0) - это не нулевой массив. Это вполне обычный статический массив с одной ячейкой и базой 0. То же, что Dim a(0 To 0)
Не совсем так, как у Вас, правда?Автор - KuklP Дата добавления - 23.04.2015 в 21:16