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

Вход

Регистрация

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

 

= Мир MS Excel/Перевести значения ячеек А1:А10 в массив - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перевести значения ячеек А1:А10 в массив (Макросы/Sub)
Перевести значения ячеек А1:А10 в массив
Znerox Дата: Суббота, 06.12.2014, 16:14 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Подскажите как решить задачу. Перевести значения ячеек А1:А10 в массив. Переставить местами первый и последний элементы массива. Я не силён в программировании и всё что я придумал в этом файле. Скорее всего сделал неправильно хоть и получил нужный результат. Как сделать эту задачу так чтобы не нужно было перечислять элементы?
К сообщению приложен файл: 7412370.xlsm (13.5 Kb)
 
Ответить
СообщениеПодскажите как решить задачу. Перевести значения ячеек А1:А10 в массив. Переставить местами первый и последний элементы массива. Я не силён в программировании и всё что я придумал в этом файле. Скорее всего сделал неправильно хоть и получил нужный результат. Как сделать эту задачу так чтобы не нужно было перечислять элементы?

Автор - Znerox
Дата добавления - 06.12.2014 в 16:14
Cheshir0067 Дата: Суббота, 06.12.2014, 16:27 | Сообщение № 2
Группа: Проверенные
Ранг: Новичок
Сообщений: 35
Репутация: 8 ±
Замечаний: 0% ±

Excel 2010
можно просто сделать так :
[vba]
Код
Dim MyArray(1 To 10) As Integer, i As Integer, a(10) As Integer ' этой строкой вы определяете свой массив

For i = 1 To 10
a(i) = Cells(i, 1).Value '  этой строкой поочерёдно считываете значения от 1 до 10
Next i

q  = a(10) '  Меняете значения в массиве используя переменную
a(10) = a(1)
a(1) = q
[/vba]


irelandzp@gmail.com
 
Ответить
Сообщениеможно просто сделать так :
[vba]
Код
Dim MyArray(1 To 10) As Integer, i As Integer, a(10) As Integer ' этой строкой вы определяете свой массив

For i = 1 To 10
a(i) = Cells(i, 1).Value '  этой строкой поочерёдно считываете значения от 1 до 10
Next i

q  = a(10) '  Меняете значения в массиве используя переменную
a(10) = a(1)
a(1) = q
[/vba]

Автор - Cheshir0067
Дата добавления - 06.12.2014 в 16:27
Pelena Дата: Суббота, 06.12.2014, 17:30 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Как вариант
[vba]
Код
Sub hd()
     Dim i , a
     a = WorksheetFunction.Transpose(Range("A1:A10").Value) 'считывание диапазона в массив
     'замена значений
     i = a(1)
     a(1) = a(10)
     a(10) = i
     Range("B1:B10") = WorksheetFunction.Transpose(a)    ' вывод массива на лист
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеКак вариант
[vba]
Код
Sub hd()
     Dim i , a
     a = WorksheetFunction.Transpose(Range("A1:A10").Value) 'считывание диапазона в массив
     'замена значений
     i = a(1)
     a(1) = a(10)
     a(10) = i
     Range("B1:B10") = WorksheetFunction.Transpose(a)    ' вывод массива на лист
End Sub
[/vba]

Автор - Pelena
Дата добавления - 06.12.2014 в 17:30
Znerox Дата: Суббота, 06.12.2014, 17:44 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо за помощь.
 
Ответить
СообщениеСпасибо за помощь.

Автор - Znerox
Дата добавления - 06.12.2014 в 17:44
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перевести значения ячеек А1:А10 в массив (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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