powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / HELP ME PLEASE!!!!!
3 сообщений из 3, страница 1 из 1
HELP ME PLEASE!!!!!
    #34187512
dashoks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброго времени суток!!!!
помогите плиз с VBA, задачка простая. но сделать не могу... точнее почти сделала.
нужно отсортировать заданные в первом столбце случайные числа по возрастанию в пятый столбец листа excel. вот что у меня есть и это работает...


sub случайныечисла()
Randomize 'ввод случайных чисел
d1=2
d2=7
d3=9
d4=10
i=1
do while i<=30 'открытие условного цикла для того чтобы заполнить ячейки случайными числами
if Rnd<=0.5 then
лист1.cells(i,1)=CInt((d2-d1+1)*Rnd+d1) 'выбор из даннх промежутков
else
лист1.cells(i,1)=CInt((d4-d3+1)*Rnd+d3)
end if
i=i+1 'шаг цикла
loop
end sub 'замощение столбца случайными числами
--------------------------------------------------------------------------------------
sub фильтрация()
max=лист1.cells(1,1)'число максимальое
for i = 2 to 30 'цикл для поиска макс значения
if лист1.cells(i,1)>max then'приверка выполнения условия
max=лист1.cells(i,1)
end if
next i
k=1
for i = 1to 30 ' цикл для поиска максимального значения / 4
if лист1.cells(i,1)>=max/4 and лист1.cells(i,1)<=max then
лист1.cells(k,5)=лист1.cells(i,1)
k=k+1
end if
next i
end sub 'фильтрация в диапазоне x [max/4;max] и выдаёт в 5м столбце листа....
---------------------------------------------------------------------------------------
sub поВозрастанию()
?????????????????????????????????????????? т.е.здесь в этом же пятом столбце д.б. эти отфильтрованные числа расположенные по возрастанию
Модератор: Читайте правила форума. Не рекомендуется публиковать сообщения с бессмысленными темами
...
Рейтинг: 0 / 0
HELP ME PLEASE!!!!!
    #34193684
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
Public Sub RandomValues()
    Dim d1 As Integer
    Dim d2 As Integer
    Dim d3 As Integer
    Dim d4 As Integer
    Dim i As Integer
    
    d1 =  2 
    d2 =  7 
    d3 =  9 
    d4 =  10 
    i =  1 
    
    For i =  1  To  30 
        If Rnd <=  0 . 5  Then
            Лист1.Cells(i,  1 ) = Int((d2 - d1 +  1 ) * Rnd + d1)
        Else
            Лист1.Cells(i,  1 ) = Int((d4 - d3 +  1 ) * Rnd + d3)
        End If
    Next i
End Sub

Public Sub SortAsc()
    Dim varValues As Variant
    
    varValues = Лист1.Range("A1:A30")
    
    BubbleSort varValues
    
    Лист1.Range("E1").Resize( 30 ,  1 ) = varValues
End Sub

Private Sub BubbleSort( _
  varArray As Variant)
    Dim lngI As Long
    Dim lngJ As Long
    Dim varTemp As Long
    
    For lngI = LBound(varArray,  1 ) To UBound(varArray,  1 ) -  1 
        For lngJ = lngI +  1  To UBound(varArray,  1 )
            If varArray(lngI,  1 ) > varArray(lngJ,  1 ) Then
               varTemp = varArray(lngJ,  1 )
               varArray(lngJ,  1 ) = varArray(lngI,  1 )
               varArray(lngI,  1 ) = varTemp
            End If
        Next lngJ
    Next lngI
End Sub

Отсортировать еще можно средствами Excel.
...
Рейтинг: 0 / 0
HELP ME PLEASE!!!!!
    #34196892
dashoks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо ОГРОООМНОЕ)))!!!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / HELP ME PLEASE!!!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]