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

Вход

Регистрация

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

 

= Мир MS Excel/Сортировка четных и нечетных чисел - Мир MS Excel

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

Excel 2010
Помогите, пожалуйста, отредактировать код!!

Нужно из одномерного массива создать двумерный, четные числа поместить в один столбец, нечетные в другой, вывести оба массива на экран на лист Excel с помощью кнопки.

Буду очень признателен !!!
[vba]
Код
Sub CommandButton1_Click()
Dim K() As Integer
Dim L() As Integer
Dim M() As Integer
Dim i
Dim o
Dim e
Dim r As Integer
Title = "Заполнение одномерного массива"
N = InputBox("Количество элементов в одномерном массиве", Title)
Randomize
ReDim K(N)
i = 0
For i = 0 To N - 1
K(i) = Rnd * 10
Cells(i + 1, 1).Value = K(i)
Next i
   
For i = 1 To N
If K(i) Mod 2 = 0 Then
e = e + 1: ReDim Preserve L(e): L(e) = K(i)
Else
o = o + 1: ReDim Preserve M(o): M(o) = K(i)
End If
Next
   
For i = 0 To e - 1
For o = 0 To N - 1
Cells(i + 1, o + 3).Value = L(i, o)
Next
Next
End Sub
[/vba]
 
Ответить
СообщениеПомогите, пожалуйста, отредактировать код!!

Нужно из одномерного массива создать двумерный, четные числа поместить в один столбец, нечетные в другой, вывести оба массива на экран на лист Excel с помощью кнопки.

Буду очень признателен !!!
[vba]
Код
Sub CommandButton1_Click()
Dim K() As Integer
Dim L() As Integer
Dim M() As Integer
Dim i
Dim o
Dim e
Dim r As Integer
Title = "Заполнение одномерного массива"
N = InputBox("Количество элементов в одномерном массиве", Title)
Randomize
ReDim K(N)
i = 0
For i = 0 To N - 1
K(i) = Rnd * 10
Cells(i + 1, 1).Value = K(i)
Next i
   
For i = 1 To N
If K(i) Mod 2 = 0 Then
e = e + 1: ReDim Preserve L(e): L(e) = K(i)
Else
o = o + 1: ReDim Preserve M(o): M(o) = K(i)
End If
Next
   
For i = 0 To e - 1
For o = 0 To N - 1
Cells(i + 1, o + 3).Value = L(i, o)
Next
Next
End Sub
[/vba]

Автор - rentlen
Дата добавления - 22.12.2014 в 18:21
krosav4ig Дата: Понедельник, 22.12.2014, 18:49 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как-то так
[vba]
Код
Sub CommandButton1_Click()
       Dim K() As Integer
       Dim L() As Integer
       Dim M() As Integer
       Dim i
       Dim o
       Dim e
       Dim r As Integer
       Title = "Заполнение одномерного массива"
       N = InputBox("Количество элементов в одномерном массиве", Title)
       Randomize
       ReDim K(N)
       i = 0
       For i = 0 To N - 1
           K(i) = Rnd * 10
           If K(i) Mod 2 = 0 Then
               ReDim Preserve L(e): L(e) = K(i): e = e + 1
           Else
               ReDim Preserve M(o): M(o) = K(i): o = o + 1
           End If
       Next i
       Cells(1, 1).Resize(N).Value = Application.Transpose(K)
       Cells(1, 2).Resize(UBound(L) + 1).Value = Application.Transpose(L)
       Cells(1, 3).Resize(UBound(M) + 1).Value = Application.Transpose(M)
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 22.12.2014, 18:56
 
Ответить
Сообщениекак-то так
[vba]
Код
Sub CommandButton1_Click()
       Dim K() As Integer
       Dim L() As Integer
       Dim M() As Integer
       Dim i
       Dim o
       Dim e
       Dim r As Integer
       Title = "Заполнение одномерного массива"
       N = InputBox("Количество элементов в одномерном массиве", Title)
       Randomize
       ReDim K(N)
       i = 0
       For i = 0 To N - 1
           K(i) = Rnd * 10
           If K(i) Mod 2 = 0 Then
               ReDim Preserve L(e): L(e) = K(i): e = e + 1
           Else
               ReDim Preserve M(o): M(o) = K(i): o = o + 1
           End If
       Next i
       Cells(1, 1).Resize(N).Value = Application.Transpose(K)
       Cells(1, 2).Resize(UBound(L) + 1).Value = Application.Transpose(L)
       Cells(1, 3).Resize(UBound(M) + 1).Value = Application.Transpose(M)
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 22.12.2014 в 18:49
rentlen Дата: Понедельник, 22.12.2014, 19:15 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Спасибо Вам огромное! Очень выручили!
 
Ответить
Сообщениеkrosav4ig, Спасибо Вам огромное! Очень выручили!

Автор - rentlen
Дата добавления - 22.12.2014 в 19:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сортировка четных и нечетных чисел (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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