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

Вход

Регистрация

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

 

= Мир MS Excel/Наименьшее по модулю значение х (работа с массивами) - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Наименьшее по модулю значение х (работа с массивами)
Ришат Дата: Понедельник, 19.05.2014, 15:25 | Сообщение № 1
Группа: Гости
Есть 10 значений х: -0,1 0,7 0,8 -1,5 0,2 0,4 -1 0,1 1,5
Нужно найти наименьшее по модулю значение х в VBA, никак не получается напечатать массив(
 
Ответить
СообщениеЕсть 10 значений х: -0,1 0,7 0,8 -1,5 0,2 0,4 -1 0,1 1,5
Нужно найти наименьшее по модулю значение х в VBA, никак не получается напечатать массив(

Автор - Ришат
Дата добавления - 19.05.2014 в 15:25
Ришат Дата: Понедельник, 19.05.2014, 15:27 | Сообщение № 2
Группа: Гости
Dim x(10)
For k = 1 To 10
x(k) = Cells(1, k)
Next
For k = 1 To 10

Непонятно что писать дальше...
 
Ответить
СообщениеDim x(10)
For k = 1 To 10
x(k) = Cells(1, k)
Next
For k = 1 To 10

Непонятно что писать дальше...

Автор - Ришат
Дата добавления - 19.05.2014 в 15:27
RAN Дата: Понедельник, 19.05.2014, 15:47 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub qq()
a = Array(-1, 0.5, 2, -3)
For i = LBound(a) To UBound(a): a(i) = Abs(a(i)): Next
aa = Application.Min(a)
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub qq()
a = Array(-1, 0.5, 2, -3)
For i = LBound(a) To UBound(a): a(i) = Abs(a(i)): Next
aa = Application.Min(a)
End Sub
[/vba]

Автор - RAN
Дата добавления - 19.05.2014 в 15:47
Ришат Дата: Понедельник, 19.05.2014, 16:00 | Сообщение № 4
Группа: Гости
Спасибо, работает)
А нельзя так с помощью dim написать?
 
Ответить
СообщениеСпасибо, работает)
А нельзя так с помощью dim написать?

Автор - Ришат
Дата добавления - 19.05.2014 в 16:00
RAN Дата: Понедельник, 19.05.2014, 16:20 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А что с помощью Dim писать?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА что с помощью Dim писать?

Автор - RAN
Дата добавления - 19.05.2014 в 16:20
PuLLIaT Дата: Понедельник, 19.05.2014, 16:25 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
RAN, Вначале как бы так:
Dim x(10)
For k = 1 To 10
x(k) = Cells(1, k)
Next
For k = 1 To 10
x(2,1)=min

А потом if x(2,1)>x(2,2) then x(2,2)=min

Что нибудь по типу этого
 
Ответить
СообщениеRAN, Вначале как бы так:
Dim x(10)
For k = 1 To 10
x(k) = Cells(1, k)
Next
For k = 1 To 10
x(2,1)=min

А потом if x(2,1)>x(2,2) then x(2,2)=min

Что нибудь по типу этого

Автор - PuLLIaT
Дата добавления - 19.05.2014 в 16:25
RAN Дата: Понедельник, 19.05.2014, 16:46 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Dim x(10)  
For k = 1 To 10  
x(k) = Abs(Cells(1, k))
Next
aa= Application.Min(x)
[/vba]

Не судьба?
Кстати, о птичках, Dim x(10) - это не 10, а 11 элементов массива, ибо его первый индекс 0.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Dim x(10)  
For k = 1 To 10  
x(k) = Abs(Cells(1, k))
Next
aa= Application.Min(x)
[/vba]

Не судьба?
Кстати, о птичках, Dim x(10) - это не 10, а 11 элементов массива, ибо его первый индекс 0.

Автор - RAN
Дата добавления - 19.05.2014 в 16:46
PuLLIaT Дата: Понедельник, 19.05.2014, 16:51 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
RAN, Посмотрите пожалуйста, ответ 0 получается
К сообщению приложен файл: 8481990.xlsm (13.5 Kb)
 
Ответить
СообщениеRAN, Посмотрите пожалуйста, ответ 0 получается

Автор - PuLLIaT
Дата добавления - 19.05.2014 в 16:51
RAN Дата: Понедельник, 19.05.2014, 17:08 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Надо искать не там, где светло, а там, где потерял.
Внимательно сравните код здесь, и код в файле.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНадо искать не там, где светло, а там, где потерял.
Внимательно сравните код здесь, и код в файле.

Автор - RAN
Дата добавления - 19.05.2014 в 17:08
PuLLIaT Дата: Понедельник, 19.05.2014, 17:18 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
RAN, Понял, спасибо огромное:)
 
Ответить
СообщениеRAN, Понял, спасибо огромное:)

Автор - PuLLIaT
Дата добавления - 19.05.2014 в 17:18
RAN Дата: Понедельник, 19.05.2014, 17:24 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Не совсем, наверное. Кроме явной ошибки с адресом:
У вас массив на 11 элементов, а значений в ячейках всего 9. Итого в массиве 1 элемент имеет значение 0 (и 1 empty). Что благополучно и вычисляется как min.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Понедельник, 19.05.2014, 17:25
 
Ответить
СообщениеНе совсем, наверное. Кроме явной ошибки с адресом:
У вас массив на 11 элементов, а значений в ячейках всего 9. Итого в массиве 1 элемент имеет значение 0 (и 1 empty). Что благополучно и вычисляется как min.

Автор - RAN
Дата добавления - 19.05.2014 в 17:24
PuLLIaT Дата: Понедельник, 19.05.2014, 17:50 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
RAN, Да-да я ввел:
Dim x(9)
For k = 1 To 9
x(k) = Abs(Cells(1, k))
Next
aa= Application.Min(x)

И все получилось
 
Ответить
СообщениеRAN, Да-да я ввел:
Dim x(9)
For k = 1 To 9
x(k) = Abs(Cells(1, k))
Next
aa= Application.Min(x)

И все получилось

Автор - PuLLIaT
Дата добавления - 19.05.2014 в 17:50
  • Страница 1 из 1
  • 1
Поиск:

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