.


:




:

































 

 

 

 


VBA Microsoft Excel




VBA

Visual Basic for Applications, , . VBA , BASIC, 60-.

BASIC , , , . BASIC . GWBASIC Microsoft . MS DOS 5- . IBM BASIC, .

BASIC . , BASIC. , , Pascal, C C++.

80- Microsoft BASIC, QuickBASIC MS DOS, 6- ( Windows 95).

QuickBasic 1992 Microsoft Visual Basic for Windows.

VBA Visual Basic for Windows, . , VBA , .

, Microsoft , , VBA , .

3.3.2 VBA.

, Excel , VBA. . , , , . VBA , .

, Excel , . , Excel . VBA, , .

, - . , - , , .

VBA - , , .

, , Excel. , . . VBA, , , . .

, VBA. , . - VBA.

, VBA , .

, Excel, , , , , .

, , , , - , , . VBA .

, VBA , , , OLE.

3.3.3. , .

VBA . : (, , . Excel ( ) . , , , . , .

.xls, VBA, VBA: . :

Modul1

1) Nzv n* 1* n1

2) P1 1 C7:C16 ( )

3) ( 17) (K7)

 

.

Modul2

1) N1 n1

2)

 

1, 2, 3 .

.

1) Nzv n* 1* n1*

n* 2.

. 1* n1*. . . (. 2) 0.975<1* =<1 0<n1*.<0.0075 n* = 0.005, 0.925<1* =<0.975 0<n1*.<0.0075 n* = 0.005 b .. .

 

Public Function Nzv(Pzv As Double, n1zv As Double)

Dim znach As Double

 

If Pzv <= 1 And Pzv > 0.975 Then

Select Case n1zv

Case 0 To 0.0075

znach = 0.005

Case 0.0075 To 0.0175

znach = 0.009

Case 0.0175 To 0.0275

znach = 0.02

Case 0.0275 To 0.0375

znach = 0.03

Case 0.0375 To 0.0475

znach = 0.04

Case 0.0475 To 0.055

znach = 0.05

Case 0.055 To 0.065

znach = 0.06

Case 0.07 To 0.09

znach = 0.08

Case 0.09 To 0.125

znach = 0.09

Case 0.125 To 0.175

znach = 0.14

Case 0.175 To 0.225

znach = 0.19

Case 0.225 To 0.275

znach = 0.24

Case 0.275 To 0.325

znach = 0.29

Case 0.325 To 0.375

znach = 0.33

Case 0.375 To 0.425

znach = 0.38

Case 0.425 To 0.475

znach = 0.43

Case 0.475 To 0.525

znach = 0.48

Case 0.525 To 0.575

znach = 0.52

Case 0.575 To 0.625

znach = 0.57

Case 0.625 To 0.675

znach = 0.62

Case 0.675 To 0.725

znach = 0.66

Case 0.725 To 0.775

znach = 0.71

Case 0.775 To 0.825

znach = 0.76

Case 0.825 To 0.875

znach = 0.8

Case 0.875 To 0.99

znach = 0.85

Case Is > 0.99

znach = 0.95

End Select

End If

 

If Pzv <= 0.975 And Pzv > 0.925 Then

Select Case n1zv

Case 0 To 0.0075

znach = 0.005

Case 0.0075 To 0.0175

znach = 0.011

Case 0.0175 To 0.0275

znach = 0.02

Case 0.0275 To 0.0375

znach = 0.03

Case 0.0375 To 0.0475

znach = 0.04

Case 0.0475 To 0.055

znach = 0.05

Case 0.055 To 0.065

znach = 0.06

Case 0.07 To 0.09

znach = 0.08

Case 0.09 To 0.125

znach = 0.1

Case 0.125 To 0.175

znach = 0.16

Case 0.175 To 0.225

znach = 0.21

Case 0.225 To 0.275

znach = 0.26

Case 0.275 To 0.325

znach = 0.32

Case 0.325 To 0.375

znach = 0.37

Case 0.375 To 0.425

znach = 0.42

Case 0.425 To 0.475

znach = 0.47

Case 0.475 To 0.525

znach = 0.53

Case 0.525 To 0.575

znach = 0.57

Case 0.575 To 0.625

znach = 0.63

Case 0.625 To 0.675

znach = 0.68

Case 0.675 To 0.725

znach = 0.73

Case 0.725 To 0.775

znach = 0.78

Case 0.775 To 0.825

znach = 0.83

Case 0.825 To 0.875

znach = 0.88

Case 0.875 To 0.99

znach = 0.92

Case Is > 0.99

znach = 1

End Select

End If

 

If Pzv <= 0.1 And Pzv > 0.175 Then

Select Case n1zv

Case 0 To 0.0075

znach = 0.34

Case 0.0075 To 0.0175

znach = 0.52

Case 0.0175 To 0.0275

znach = 0.71

Case 0.0275 To 0.0375

znach = 0.81

Case 0.0375 To 0.0475

znach = 0.86

Case 0.0475 To 0.055

znach = 0.9

Case 0.055 To 0.065

znach = 0.92

Case 0.07 To 0.09

znach = 0.94

Case 0.09 To 0.125

znach = 0.95

Case 0.125 To 0.175

znach = 1

Case 0.175 To 0.225

znach = 1

Case 0.225 To 0.275

znach = 1

Case 0.275 To 0.325

znach = 1

Case 0.325 To 0.375

znach = 1

Case 0.375 To 0.425

znach = 1

Case 0.425 To 0.475

znach = 1

Case 0.475 To 0.525

znach = 1

Case 0.525 To 0.575

znach = 1

Case 0.575 To 0.625

znach = 1

Case 0.625 To 0.675

znach = 1

Case 0.675 To 0.725

znach = 1

Case 0.725 To 0.775

znach = 1

Case 0.775 To 0.825

znach = 1

Case 0.825 To 0.875

znach = 1

Case 0.875 To 0.99

znach = 1

Case Is > 0.99

znach = 1

End Select

End If

 

Nzv = znach

End Function

:

If Then

 

, If N>=0 and N<=9 Then Print Ok

 

Dim As

 

Select Case

 

.

 

Select Case

Case

1

.

.

.

Case......

n-1

End Select

 

:

DoublePrecision #. 16 300 . , . .

 

2) ( 17) (K7)

 

, , .

 

:

 

Public Function ( As Double, N As Double)

Dim km As Double

If >= 0.1 And < 0.125 Then

Select Case N

Case 4

km = 3

Case 5

km = 3.23

Case 6

km = 3.04

Case 7

km = 2.88

Case 8

km = 2.72

Case 9

km = 2.56

Case 10 To 11

km = 2.42

Case 11 To 14

km = 2.24

Case 14 To 18

km = 1.99

Case 18 To 23

km = 1.84

Case 23 To 28

km = 1.71

Case 28 To 35

km = 1.62

Case 35 To 45

km = 1.5

Case 45 To 55

km = 1.4

Case 55 To 80

km = 1.32

Case 80 To 120

km = 1.21

Case 120 To 180

km = 1.17

Case 180 To 200

km = 1.15

Case Is > 200

km = 1

End Select

End If

..

..

If >= 0.75 And < 0.85 Then

Select Case N

Case 4

km = 1.14

Case 5

km = 1.12

Case 6

km = 1.1

Case 7

km = 1.09

Case 8

km = 1.08

Case 9

km = 1.08

Case 10 To 11

km = 1.07

Case 11 To 14

km = 1.07

Case 14 To 18

km = 1.07

Case 18 To 23

km = 1.06

Case 23 To 28

km = 1.06

Case 28 To 35

km = 1.05

Case 35 To 45

km = 1.05

Case 45 To 55

km = 1.04

Case 55 To 80

km = 1.03

Case 80 To 120

km = 1.02

Case 120 To 180

km = 1.02

Case 180 To 200

km = 1.01

Case Is > 200

km = 1

End Select

End If

 

If >= 0.85 And <= 0.9 Then

km = 1

End If

= km

End Function

 

.

3) P1 1 C7:C16 ( )

 

P1 2

C7:C16, ,

 

 

Public Function P1( As Range)

Dim Cell As Object

Dim m As Double, N As Double

 

m = 0

N = 0

For Each Cell In

If Cell.Value > m Then m = Cell.Value

Next Cell

For Each Cell In

If Cell.Value >= m / 2 Then N = N + Cell.Value

Next Cell

P1 = N

End Function

 

.

 

For Each ( ), . VB .

 

For Each In

..........................................

Exit For

..........................................

Next

 

Cell .

 

4) N1 n1

 

n1 (. 2). . . Offset.

 

 

Public Function N1(1 As Range)

Dim Cell1 As Object, w As Double, q As Double

w = 0

q = 0

For Each Cell1 In 1

If Cell1.Value > w Then w = Cell1.Value

Next Cell1

For Each Cell1 In 1

If Cell1.Value >= w / 2 Then q = q + Cell1.Offset(0, -1).Value

Next Cell1

N1 = q

End Function

 

Offset Cells, , . 1 , Cells. Offset .

4)

, .

.

 

Public Sub ()

Dim Cell1 As Object, Cell2 As Object

Dim Cell3 As Object, Cell4 As Object

For Each Cell1 In Range("A7:A16")

For Each Cell2 In Range("A30:A89")

If Cell1.Value = Cell2.Value Then

 
 


Cell1.Offset(0, 2).Value = Cell2.Offset(0, 1).Value

Cell1.Offset(0, 4).Value = Cell2.Offset(0, 2).Value

Cell1.Offset(0, 5).Value = Cell2.Offset(0, 3).Value

End If

Next Cell2

Next Cell1

 
 


For Each Cell3 In Range("A19:A23")

For Each Cell4 In Range("A30:A89")

If Cell3.Value = Cell4.Value Then

Cell3.Offset(0, 2).Value = Cell4.Offset(0, 1).Value

Cell3.Offset(0, 4).Value = Cell4.Offset(0, 2).Value

Cell3.Offset(0, 5).Value = Cell4.Offset(0, 3).Value

End If

Next Cell4

Next Cell3

End Sub

 

Excel . . , , , .

 

1

0,65 0,35 0,5
  0,65 0,8
4,5 0,65 0,8
- 4,5 0,17 0,65
-   0,17 0,65
-   0,17 0,65
-   0,17 0,65
  0,17 0,65
  0,7 0,75
  0,65 0,8
  0,7 0,95
-60   0,7 0,95
-75   0,7 0,95
-   0,17 0,65
- 5,3 0,1 0,5
0,6 0,12 0,14
  0,35 0,6
2,8 0,12 0,14
  0,2 0,65
  0,2 0,65
30 .   0,1 0,5
5 .   0,1 0,5
  0,18 0,5
  0,18 0,5
  0,18 0,5
12,9 0,18 0,5
10,5 0,17 0,65
2,8 0,7 0,95
-   0,7 0,95
- 4,5 0,18 0,5
2,6 0,17 0,65
  0,17 0,65
4,5 0,17 0,65
  0,17 0,65
  0,17 0,65
  0,17 0,65
  0,17 0,65
- 2,2 0,17 0,65
-   0,18 0,5
- 4,5 0,12 0,14
-   0,35 0,5
  0,3 0,35
10,5 0,3 0,35
24,5 0,3 0,35
3,2 0,06 0,5
-   0,18 0,5
- 11,5 0,18 0,5
- 15,7 0,17 0,65
2,8 0,18 0,5
- 5,6 0,18 0,5
  0,7 0,95
1,1 0,7 0,95
0,2 0,35 0,5
  0,12 0,14
  0,6  
  0,7 0,95
  0,7 0,95
  0,7 0,95
  0,7 0,95
-   0,7 0,95

 


2.

  P*=åP1/å.
n1*=n1/n 1,0 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1
0,005 0,005 0,005 0,006 0,007 0,007 0,009 0,010 0,011 0,013 0,016 0,019 0,024 0,030 0,039 0,051 0,073 0,11 0,18 0,34
0,01 0,009 0,011 0,012 0,015 0,017 0,017 0,019 0,023 0,026 0,031 0,037 0,047 0,59 0,760 0,1 0,14 0,2 0,32 0,52
0,02 0,02 0,02 0,02 0,03 0,03 0,03 0,04 0,04 0,05 0,06 0,07 0,09 0,011 0,14 0,019 0,026 0,36 0,51 0,71
0,03 0,03 0,03 0,04 0,04 0,04 0,05 0,06 0,07 0,08 0,09 0,11 0,13 0,16 0,21 0,27 0,36 0,48 0,64 0,81
0,04 0,04 0,04 0,05 0,05 0,07 0,08 0,09 0,09 0,10 0,12 0,15 0,18 0,22 0,27 0,34 0,44 0,57 0,72 0,86
0,05 0,05 0,05 0,06 0,07 0,07 0,08 0,10 0,11 0,13 0,15 0,18 0,22 0,26 0,33 0,41 0,51 0,64 0,79 0,9
0,06 0,06 0,06 0,07 0,08 0,09 0,10 0,12 0,13 0,15 0,18 0,21 0,26 0,31 0,38 0,47 0,58 0,70 0,83 0,92
0,08 0,08 0,08 0,08 0,11 0,12 0,13 0,15 0,17 0,20 0,24 0,28 0,33 0,40 0,48 0,57 0,68 0,79 0,89 0,94
0,10 0,09 0,10 0,11 0,13 0,15 0,17 0,19 0,22 0,25 0,29 0,34 0,40 0,47 0,56 0,66 0,76 0,85 0,92 0,95
0,15 0,14 0,16 0,13 0,20 0,23 0,25 0,28 0,32 0,37 0,42 0,48 0,56 0,67 0,72 0,80 0,88 0,93 0,95  
0,20 0,19 0,21 0,23 0,26 0,29 0,33 0,37 0,42 0,47 0,54 0,64 0,69 0,76 0,83 0,89 0,93 0,95    
0,25 0,24 0,26 0,29 0,32 0,41 0,45 0,51 0,57 0,64 0,71 0,78 0,85 0,85 0,90 0,93 0,95      
0,30 0,29 0,32 0,35 0,39 0,43 0,48 0,53 0,60 0,66 0,73 0,80 0,86 0,90 0,94 0,95        
0,35 0,33 0,37 0,41 0,45 0,50 0,56 0,62 0,68 0,74 0,81 0,86 0,91 0,94 0,95          
0,40 0,38 0,42 0,47 0,52 0,57 0,63 0,69 0,75 0,81 0,86 0,91 0,93 0,95            
0,45 0,43 0,47 0,52 0,58 0,64 0,70 0,76 0,81 0,87 0,91 0,93 0,95              
0,50 0,48 0,53 0,58 0,64 0,70 0,76 0,82 0,89 0,91 0,94 0,95                
0,55 0,52 0,57 0,63 0,69 0,75 0,82 0,87 0,91 0,94 0,95                  
0,60 0,57 0,63 0,69 0,75 0,81 0,87 0,91 0,94 0,95                    
0,65 0,62 0,68 0,75 0,81 0,86 0,91 0,94 0,95                      
0,70 0,66 0,73 0,80 0,86 0,90 0,94 0,95                        
0,75 0,71 0,78 0,85 0,90 0,93 0,95                          
0,80 0,76 0,83 0,89 0,94 0,95                            
0,85 0,80 0,88 0,94 0,95                              
0,90 0,85 0,92 0,95                                
1,0 0,95                                    

3

Ne
  0,1 0,15 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9
  3,43 3,11 2,64 2,14 1,87 1,65 1,46 1,29 1,14 1,0
  3,23 2,87 2,42 2,0 1,76 1,57 1,41 1,26 1,12 1,0
  3,04 2,64 2,24 1,88 1,66 1,51 1,37 1,23 1,1 1,0
  2,88 2,48 2,1 1,8 1,58 1,45 1,33 1,21 1,09 1,0
  2,72 2,31 1,99 1,72 1,52 1,4 1,3 1,2 1,08 1,0
  2,56 2,2 1,9 1,65 1,47 1,37 1,28 1,18 1,08 1,0
  2,42 2,1 1,84 1,6 1,43 1,34 1,26 1,16 1,07 1,0
  2,24 1,96 1,75 1,52 1,36 1,28 1,23 1,15 1,07 1,0
  1,99 1,77 1,61 1,41 1,28 1,23 1,18 1,12 1,07 1,0
  1,84 1,65 1,5 1,34 1,24 1,2 1,15 1,11 1,06 1,0
  1,71 1,55 1,4 1,28 1,21 1,17 1,14 1,1 1,06 1,0
  1,62 1,46 1,34 1,24 1,19 1,16 1,13 1,1 1,05 1,0
  1,5 1,37 1,27 1,19 1,15 1,13 1,12 1,09 1,05 1,0
  1,4 1,3 1,23 1,16 1,14 1,11 1,1 1,08 1,04 1,0
  1,32 1,25 1,19 1,14 1,12 1,11 1,09 1,07 1,03 1,0
  1,21 1,17 1,12 1,1 1,08 1,08 1,07 1,05 1,02 1,0
  1,17 1,15 1,11 1,08 1,06 1,06 1,06 1,05 1,02 1,0
  1,15 1,12 1,09 1,07 1,05 1,05 1,05 1,04 1,01 1,0
  1,14 1,11 1,08 1,07 1,05 1,05 1,05 1,03 1,01 1,0
  1,12 1,1 1,07 1,06 1,04 1,04 1,04 1,03 1,01 1,0

 

1.                          
- - . =100% - - cos tg m
, . ., Q., P., QP., SP.,
                             
                           
                           
-       0,18 0,5 1,73   11,52 19,95   1,37 15,78 19,95 25,44
      0,12 0,14 7,07 40,32 285,16 1,37 55,24 285,16 290,46
-   11,5   0,18 0,5 1,73 45,54 78,88 1,37 62,39 78,88 100,57
  2,8 22,4 0,18 0,5 1,73 4,03 6,98 1,37 5,52 6,98 8,90
  0,2 0,8 0,35 0,5 1,73 0,28 0,48 1,37 0,38 0,48 0,62
  0,65 7,8 0,35 0,5 1,73 2,73 4,73 1,37 3,74 4,73 6,03
      0,12 0,14 7,07 23,04 162,95 1,37 31,56 162,95 165,98
-       0,18 0,5 1,73 11,52 19,95 1,37 15,78 19,95 25,44
-   2,2 35,2 0,17 0,65 1,17 5,98 7,00 1,37 8,20 7,00 10,78
  4,5   0,17 0,65 1,17 4,59 5,37 1,37 6,29 5,37 8,27
      0,15       149,56 591,46   1,37 204,89 591,46 625,94
                           
      0,65 0,8 0,75   14,30 10,73     14,30 10,73 17,88
7       0,65 0,8 0,75 14,30 10,73   14,30 10,73 17,88
-       0,7 0,95 0,33 23,80 7,82   23,80 7,82 25,05
-60       0,7 0,95 0,33 52,50 17,26   52,50 17,26 55,26
-75       0,7 0,95 0,33 63,00 20,71   63,00 20,71 66,32
      0,690947       167,90 67,24     167,90 67,24 180,86
      0,25       317,46 658,69     372,79 658,69 756,87

4

1. ,                    
- - . =100% - - cos tg m
, . ., Q., P., QP., SP.,
                             
                           
                           
-       0,17 0,65 1,17 1,9 4,76 5,57   1,12 5,33 5,57 7,71
- 10       0,17 0,65 1,17 23,80 27,83 1,12 26,66 27,83 38,53
-       0,17 0,65 1,17 26,18 30,61 1,12 29,32 30,61 42,39
-       0,17 0,65 1,17 9,52 11,13 1,12 10,66 11,13 15,41
-   5,3 21,2 0,1 0,5 1,73 2,12 3,67 1,12 2,37 3,67 4,37
-       0,17 0,65 1,17 14,28 16,70 1,12 15,99 16,70 23,12
-       0,35 0,5 1,73 19,60 33,95 1,12 21,95 33,95 40,43
-       0,17 0,65 1,17 4,76 5,57 1,12 5,33 5,57 7,71
-       0,17 0,65 1,17 19,04 22,26 1,12 21,32 22,26 30,83
-       0,17 0,65 1,17 7,14 8,35 1,12 8,00 8,35 11,56
  71,3   0,18     1,9 131,20 165,62   1,12 146,94 165,62 221,41
                           
  4,5 19,5 0,65 0,8 0,75   12,68 9,51     12,68 9,51 15,84
      0,7 0,75 0,88 16,80 14,82   16,80 14,82 22,40
      0,7 0,75 0,88 16,80 14,82   16,80 14,82 22,40
      0,65 0,8 0,75 14,30 10,73   14,30 10,73 17,88
      0,68844       123,58 70,57     123,58 70,57 142,31
      0,28       254,78 236,19     270,52 236,19 359,12
1. ,                      
- - . =100% - - cos tg m  
, . ., Q., P., QP., SP.,  
                               
                             
                             
- 4,5   4,5   0,17 0,65 1,17   3,06 3,58   1,37 4,19 3,58 5,51  
- 9       0,17 0,65 1,17 21,42 25,04 1,37 29,35 25,04 38,58  
-       0,17 0,65 1,17 37,40 43,73 1,37 51,24 43,73 67,36  
-       0,17 0,65 1,17




:


: 2016-10-30; !; : 205 |


:

:

, .
==> ...

1728 - | 1518 -


© 2015-2024 lektsii.org - -

: 0.145 .