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

Вход

Регистрация

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

 

= Мир MS Excel/Не читает максимальную константу из ячейки - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Не читает максимальную константу из ячейки
Asretyq Дата: Среда, 27.09.2017, 08:06 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток, нужна ваша помощь, скажите почему не могу задать максимальную константу из ячейки? [vba]
Код
Const nMax& = Range("i2").Value
[/vba]
Нужно прочесть константу именно из ячейки! Файл не буду прикладывать, если попросите только!

[vba]
Код
Const nMin& = 1
        Const nMax& = Range("i2").Value
        Randomize
        With CreateObject("Scripting.Dictionary")
            Do While .Count < (nMax - nMin + 1)
            .Item(Int((nMax - nMin + 1) * Rnd + nMin&)) = 0
            Loop
            Range("B1").Select
            ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
        End With
[/vba]
 
Ответить
СообщениеДоброго времени суток, нужна ваша помощь, скажите почему не могу задать максимальную константу из ячейки? [vba]
Код
Const nMax& = Range("i2").Value
[/vba]
Нужно прочесть константу именно из ячейки! Файл не буду прикладывать, если попросите только!

[vba]
Код
Const nMin& = 1
        Const nMax& = Range("i2").Value
        Randomize
        With CreateObject("Scripting.Dictionary")
            Do While .Count < (nMax - nMin + 1)
            .Item(Int((nMax - nMin + 1) * Rnd + nMin&)) = 0
            Loop
            Range("B1").Select
            ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
        End With
[/vba]

Автор - Asretyq
Дата добавления - 27.09.2017 в 08:06
Pelena Дата: Среда, 27.09.2017, 08:27 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация: 4660 ±
Замечаний: ±

Excel 365 & Mac Excel
Видимо, потому что это уже переменная
[vba]
Код
Dim nMax&
nMax = Range("i2").Value
[/vba]
а Const требует справа от = именно константу


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВидимо, потому что это уже переменная
[vba]
Код
Dim nMax&
nMax = Range("i2").Value
[/vba]
а Const требует справа от = именно константу

Автор - Pelena
Дата добавления - 27.09.2017 в 08:27
Asretyq Дата: Среда, 27.09.2017, 08:50 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
я еще не обучился переменным, но думаю скоро начну, то есть так? Const отбрасываю?

[vba]
Код
Dim nMax&
Const nMin& = 1
       nMax = Range("i1").Value
        Randomize
        With CreateObject("Scripting.Dictionary")
            Do While .Count < (nMax - nMin + 1)
            .Item(Int((nMax - nMin + 1) * Rnd + nMin&)) = 0
            Loop
            Range("B1").Select
            ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
        End With
[/vba]
 
Ответить
Сообщениея еще не обучился переменным, но думаю скоро начну, то есть так? Const отбрасываю?

[vba]
Код
Dim nMax&
Const nMin& = 1
       nMax = Range("i1").Value
        Randomize
        With CreateObject("Scripting.Dictionary")
            Do While .Count < (nMax - nMin + 1)
            .Item(Int((nMax - nMin + 1) * Rnd + nMin&)) = 0
            Loop
            Range("B1").Select
            ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
        End With
[/vba]

Автор - Asretyq
Дата добавления - 27.09.2017 в 08:50
Asretyq Дата: Среда, 27.09.2017, 08:53 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
У меня даже так работает
[vba]
Код
nMin& = 1
nMax = Range("i1").Value
        Randomize
        With CreateObject("Scripting.Dictionary")
            Do While .Count < (nMax - nMin + 1)
            .Item(Int((nMax - nMin + 1) * Rnd + nMin&)) = 0
            Loop
            Range("B1").Select
            ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
End With
[/vba]
 
Ответить
СообщениеУ меня даже так работает
[vba]
Код
nMin& = 1
nMax = Range("i1").Value
        Randomize
        With CreateObject("Scripting.Dictionary")
            Do While .Count < (nMax - nMin + 1)
            .Item(Int((nMax - nMin + 1) * Rnd + nMin&)) = 0
            Loop
            Range("B1").Select
            ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
End With
[/vba]

Автор - Asretyq
Дата добавления - 27.09.2017 в 08:53
  • Страница 1 из 1
  • 1
Поиск:

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