.


:




:

































 

 

 

 





VBA . - :

[ ByVal | ByRef ] () As ,

ByVal - VBA - ,

ByRef - VBA - ,

.

, .. .

- .

, .
:

- ;

- ( );

- , .. , .. , .

m - 1 . , , , .

Function (ByRefy() As Integer, ByVal m As Byte)

Dim MnAs Integer

Dim k As Byte, j As Byte, L As Byte

For k = 1 To m - 1

Mn = y(k): L = k

For j = k + 1 To m

If y(j) <Mn Then

Mn = y(j): L = j

End if

Next j

y(L) = y(k): y(k) = Mn

Next k

EndFunction

< >, .

  1. ()

. ( ) , . m - 1 , .

 

Function (ByRefy() As Integer, ByVal m As Byte)

Dim d As Integer, k As Byte, j As Byte

For k = 2 To m

For j = m To k Step -1

If y(j-1) > y(j) Then

d = y(j-1): y(j-1) = y(j): y(j) = d

end if

Next j

Next k

End Function

.

, :

7. . .

Sub Ex7()

Dim x() As Integer, n As Byte, i As Byte

n = Application.CountA(ActiveSheet.Range(" A: A "))

ReDimx(1 To n)

For i = 1 To n

x(i) = Cells(i, 1).Value

Next i

Call (x, n)

MsgBox " = " &Format(x(m), " 0.000 ")

MsgBox " = " &Format(x(1), " 0.000 ")

EndSub

CountA() MS Excel () .

8. . , .

Sub Ex1()

Dim x() As Integer, As Integer, i As Integer, j As Integer

Const n As Byte = 10

ReDimx(1 To n)

Sheets(" 1 ").Select

Cells.Clear

For i = 1 To n

x(i) = Rnd * 100

Next i

For i = 1 To n

Cells(i, 1).Value = x(i)

Next i

Call (x, n)

For i = 1 To n

Cells(i, 2).Value = x(i)

Next i

= InputBox(" ")

If <x(1) Then

ReDim Preserve x(1 To n + 1)

For j = n To 1 Step -1

x(j + 1) = x(j)

Next j

x(1) =

End If

If >x(n) Then

ReDim Preserve x(1 To n + 1)

x(n + 1) =

Else

ReDim Preserve x(1 To n + 1)

i = 1

Do

If x(i) < = And < x(i + 1) Then

For j = n Toi + 1 Step -1

x(j + 1) = x(j)

Next j

x(i + 1) =

ExitDo

EndIf

i = i + 1

Loop Until i> n + 1

End If

For i = 1 To n + 1

Cells(i, 5) = x(i)

Nexti

EndSub





:


: 2016-11-18; !; : 1119 |


:

:

- , .
==> ...

1550 - | 1349 -


© 2015-2024 lektsii.org - -

: 0.012 .