Guest User

Untitled

a guest
Aug 7th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Sub Obliczanie_etatów()
  2. Dim a, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, b As Byte
  3. Dim c, ed11s, ed11v, ed21s, ed21v As Variant
  4. Dim d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, d20, j, pjc, pjw, qj, ez, ez1, ez2, ez3, zmienna1, zmienna2, zmienna3, zmienna4, korekta As Single
  5.  
  6. korekta = 0.001
  7. b = InputBox("Podaj wiek drzewostanu")
  8. a = InputBox("Podaj wiek rębności")
  9.         If a < 81 Then
  10. b1 = (b / 10) - 1
  11. a1 = (a / 10) - 1
  12. a2 = (a / 10) - 2
  13. ActiveSheet.Range("b1").Select
  14. ActiveCell.Offset([a1], [0]).Select
  15.                                            
  16.  
  17.  
  18. d1 = ActiveCell.Value
  19. ActiveCell.Offset([0], [1]).Select
  20. d2 = ActiveCell.Value * d1
  21.  
  22. ActiveCell.Offset([1], [-1]).Select
  23. d3 = ActiveCell.Value
  24. ActiveCell.Offset([0], [1]).Select
  25. d4 = ActiveCell.Value * d3
  26.  
  27.  
  28.  
  29. ActiveCell.Offset([1], [-1]).Select
  30. d5 = ActiveCell.Value
  31. ActiveCell.Offset([0], [1]).Select
  32. d6 = ActiveCell.Value * d5
  33.  
  34. ActiveCell.Offset([1], [-1]).Select
  35. d7 = ActiveCell.Value
  36. ActiveCell.Offset([0], [1]).Select
  37. d8 = ActiveCell.Value * d7
  38.  
  39.  
  40.  
  41. ActiveCell.Offset([1], [-1]).Select
  42. d9 = ActiveCell.Value
  43. ActiveCell.Offset([0], [1]).Select
  44. d10 = ActiveCell.Value * d9
  45.  
  46.  
  47.  
  48.  
  49. ed11s = d1 + d3 + d5 + d7 + d9
  50. ed11v = d2 + d4 + d6 + d8 + d10
  51.  
  52. ActiveSheet.Range("b1").Select
  53. ActiveCell.Offset([a2], [0]).Select
  54.  
  55.  
  56. d1 = ActiveCell.Value
  57. ActiveCell.Offset([0], [1]).Select
  58. d2 = ActiveCell.Value * d1
  59.  
  60. ActiveCell.Offset([1], [-1]).Select
  61. d3 = ActiveCell.Value
  62. ActiveCell.Offset([0], [1]).Select
  63. d4 = ActiveCell.Value * d3
  64.  
  65.  
  66.  
  67. ActiveCell.Offset([1], [-1]).Select
  68. d5 = ActiveCell.Value
  69. ActiveCell.Offset([0], [1]).Select
  70. d6 = ActiveCell.Value * d5
  71.  
  72. ActiveCell.Offset([1], [-1]).Select
  73. d7 = ActiveCell.Value
  74. ActiveCell.Offset([0], [1]).Select
  75. d8 = ActiveCell.Value * d7
  76.  
  77.  
  78.  
  79. ActiveCell.Offset([1], [-1]).Select
  80. d9 = ActiveCell.Value
  81. ActiveCell.Offset([0], [1]).Select
  82. d10 = ActiveCell.Value * d9
  83.  
  84. ed21s = (d1 + d3 + d5 + d7 + d9) / 2
  85. ed21v = (d2 + d4 + d6 + d8 + d10) / 2
  86.  
  87.  
  88.  
  89.         Else
  90. b1 = (b / 10) - 1
  91. a1 = (a / 10) - 2
  92. a2 = (a / 10) - 4
  93. ActiveSheet.Range("b1").Select
  94. ActiveCell.Offset([a1], [0]).Select
  95.                                            
  96.  
  97.  
  98. d1 = ActiveCell.Value
  99. ActiveCell.Offset([0], [1]).Select
  100. d2 = ActiveCell.Value * d1
  101.  
  102. ActiveCell.Offset([1], [-1]).Select
  103. d3 = ActiveCell.Value
  104. ActiveCell.Offset([0], [1]).Select
  105. d4 = ActiveCell.Value * d3
  106.  
  107.  
  108.  
  109. ActiveCell.Offset([1], [-1]).Select
  110. d5 = ActiveCell.Value
  111. ActiveCell.Offset([0], [1]).Select
  112. d6 = ActiveCell.Value * d5
  113.  
  114. ActiveCell.Offset([1], [-1]).Select
  115. d7 = ActiveCell.Value
  116. ActiveCell.Offset([0], [1]).Select
  117. d8 = ActiveCell.Value * d7
  118.  
  119.  
  120.  
  121. ActiveCell.Offset([1], [-1]).Select
  122. d9 = ActiveCell.Value
  123. ActiveCell.Offset([0], [1]).Select
  124. d10 = ActiveCell.Value * d9
  125.  
  126.  
  127. d11 = ActiveCell.Value
  128. ActiveCell.Offset([0], [1]).Select
  129. d12 = ActiveCell.Value * d11
  130.  
  131. ActiveCell.Offset([1], [-1]).Select
  132. d13 = ActiveCell.Value
  133. ActiveCell.Offset([0], [1]).Select
  134. d14 = ActiveCell.Value * d13
  135.  
  136.  
  137.  
  138. ActiveCell.Offset([1], [-1]).Select
  139. d15 = ActiveCell.Value
  140. ActiveCell.Offset([0], [1]).Select
  141. d16 = ActiveCell.Value * d15
  142.  
  143. ActiveCell.Offset([1], [-1]).Select
  144. d17 = ActiveCell.Value
  145. ActiveCell.Offset([0], [1]).Select
  146. d18 = ActiveCell.Value * d17
  147.  
  148.  
  149.  
  150. ActiveCell.Offset([1], [-1]).Select
  151. d19 = ActiveCell.Value
  152. ActiveCell.Offset([0], [1]).Select
  153. d20 = ActiveCell.Value * d19
  154.  
  155. ed11s = (d1 + d3 + d5 + d7 + d9 + d11 + d13 + d15 + d17 + d19) / 2
  156. ed11v = (d2 + d4 + d6 + d8 + d10 + d12 + d14 + d16 + d18 + d20) / 2
  157.  
  158.                                                                          
  159.  
  160.         ActiveSheet.Range("b1").Select
  161.         ActiveCell.Offset([a2], [0]).Select
  162.        
  163. d1 = ActiveCell.Value
  164. ActiveCell.Offset([0], [1]).Select
  165. d2 = ActiveCell.Value * d1
  166.  
  167. ActiveCell.Offset([1], [-1]).Select
  168. d3 = ActiveCell.Value
  169. ActiveCell.Offset([0], [1]).Select
  170. d4 = ActiveCell.Value * d3
  171.  
  172.  
  173. ActiveCell.Offset([1], [-1]).Select
  174. d5 = ActiveCell.Value
  175. ActiveCell.Offset([0], [1]).Select
  176. d6 = ActiveCell.Value * d5
  177.  
  178.  
  179. ActiveCell.Offset([1], [-1]).Select
  180. d7 = ActiveCell.Value
  181. ActiveCell.Offset([0], [1]).Select
  182. d8 = ActiveCell.Value * d7
  183.  
  184.  
  185. ActiveCell.Offset([1], [-1]).Select
  186. d9 = ActiveCell.Value
  187. ActiveCell.Offset([0], [1]).Select
  188. d10 = ActiveCell.Value * d9
  189.  
  190.  
  191. d11 = ActiveCell.Value
  192. ActiveCell.Offset([0], [1]).Select
  193. d12 = ActiveCell.Value * d11
  194.  
  195.  
  196. ActiveCell.Offset([1], [-1]).Select
  197. d13 = ActiveCell.Value
  198. ActiveCell.Offset([0], [1]).Select
  199. d14 = ActiveCell.Value * d13
  200.  
  201.  
  202. ActiveCell.Offset([1], [-1]).Select
  203. d15 = ActiveCell.Value
  204. ActiveCell.Offset([0], [1]).Select
  205. d16 = ActiveCell.Value * d15
  206.  
  207.  
  208. ActiveCell.Offset([1], [-1]).Select
  209. d17 = ActiveCell.Value
  210. ActiveCell.Offset([0], [1]).Select
  211. d18 = ActiveCell.Value * d17
  212.  
  213.  
  214. ActiveCell.Offset([1], [-1]).Select
  215. d19 = ActiveCell.Value
  216. ActiveCell.Offset([0], [1]).Select
  217. d20 = ActiveCell.Value * d19
  218.  
  219. ed21s = (d1 + d3 + d5 + d7 + d9 + d11 + d13 + d15 + d17 + d19) / 4
  220. ed21v = (d2 + d4 + d6 + d8 + d10 + d12 + d14 + d16 + d18 + d20) / 4
  221.  
  222.        
  223.  
  224.  
  225.    
  226. End If
  227.    
  228.    
  229.    
  230.    
  231.    
  232.    
  233.    
  234.    
  235.        
  236.    
  237.    
  238.    
  239.    
  240.    
  241.    
  242.    
  243.    
  244.  ActiveSheet.Range("a1").Select
  245.     ActiveCell.Offset([b1], [0]).Select
  246.     j = ActiveCell.Value
  247.     ActiveCell.Offset([0], [1]).Select
  248.     pjw = ActiveCell.Value
  249.     pjc = ActiveCell.Value
  250.    
  251.     qj = pjw / pjc
  252.    
  253.     zmienna1 = j * pj * qj
  254.     ez1 = pjw * qj
  255.     If zmienna1 > 0.9 Then
  256.             If zmienna1 < 1.1 Then
  257.              
  258.              ez = pj * qj
  259.              Else
  260.              
  261.              Do Until zmienna1 < 1.01
  262.              qj = (pjw - korekta) / pjc
  263.              zmienna1 = j * pj * qj
  264.               Loop
  265.               ez = pjw * qj
  266.               End If
  267.     End If
  268.      ActiveSheet.Range("a1").Select
  269.     ActiveCell.Offset([b1], [0]).Select
  270.     ActiveCell.Offset([-1], [0]).Select
  271.     j = ActiveCell.Value
  272.     ActiveCell.Offset([0], [1]).Select
  273.     pjw = ActiveCell.Value
  274.     pjc = ActiveCell.Value
  275.     qj = pjw / pjc
  276.     zmienna1 = zmienna1 + (j * pj * qj)
  277.        
  278.      ez2 = pjw * qj
  279.     If zmienna1 > 0.9 Then
  280.           ElseIf zmienna1 < 1.1 Then
  281.              ez = ez1 + (pjw * qj)
  282.             Else
  283.              Do Until zmienna1 < 1.01
  284.             qj = (pjw - korekta) / pjc
  285.             zmienna1 = zmienna1 + (j * pjc * qj)
  286.             Loop
  287.             ez = ez1 + (pjw * qj)
  288.             End If
  289.          
  290.    
  291.    
  292.    
  293.    
  294.      ActiveSheet.Range("a1").Select
  295.     ActiveCell.Offset([b1], [0]).Select
  296.     ActiveCell.Offset([-2], [0]).Select
  297.     j = ActiveCell.Value
  298.     ActiveCell.Offset([0], [1]).Select
  299.     pjw = ActiveCell.Value
  300.     pjc = ActiveCell.Value
  301.     qj = pjw / pjc
  302.     zmienna1 = zmienna1 + (j * pj * qj)
  303.    
  304.     ez3 = pjw * qj
  305.    
  306.     If zmienna1 > 0.9 Then
  307.           ElseIf zmienna1 < 1.01 Then
  308.              ez = ez1 + ez2 + (pjw * qj)
  309.             Else
  310.              Do Until zmienna1 < 1.1
  311.             qj = (pjw - korekta) / pjc
  312.             zmienna1 = zmienna1 + (j * pjc * qj)
  313.             Loop
  314.             ez = ez1 + ez2 + (pjw * qj)
  315.             End If
  316.      
  317.        
  318.  
  319.    
  320.      
  321.  
  322.  
  323. MsgBox (ed11s & "ha/ha/10l)  " & ed11v & "m3/ha/10l  " & ed21s & "ha/ha/10l  " & ed21v & "m3/ha/10l")
  324. MsgBox (zmienna1)
  325. MsgBox (ez)
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343. End Sub
Add Comment
Please, Sign In to add comment