VBA и EXCEL
#38472033
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
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. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237.
Dim x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12 As Double
Dim i As Integer
Private Sub chast_invest_Change()
chast_invest.Text = Val(invest.Text) * Val(chust_doh.Text)
End Sub
Private Sub chast_nakop_Change()
chast_nakop.Text = (1 - Val(koef_spog.Text)) * Val(chust_doh.Text)
End Sub
Private Sub chast_spog_Change()
chast_spog.Text = Val(koef_spog.Text) * Val(chust_doh.Text)
End Sub
Private Sub chust_doh_Change()
chust_doh.Text = Val(vnp.Text) - Val(pod_real.Text)
chast_nakop.Text = (1 - Val(koef_spog.Text)) * Val(chust_doh.Text)
chast_spog.Text = Val(koef_spog.Text) * Val(chust_doh.Text)
chast_invest.Text = Val(invest.Text) * Val(chust_doh.Text)
End Sub
Private Sub CommandButton6_Click()
If MsgBox("Підтвердть вихід із форми користувача", vbYesNo, "Вікно запиту") = vbYes Then
Unload UserForm1
End If
End Sub
Private Sub derg_borg_Change()
derg_vutr.Text = Val(derg_borg.Text) - Val(podatok.Text)
End Sub
Private Sub derg_vutr_Change()
derg_vutr.Text = Val(derg_borg.Text) - Val(podatok.Text)
End Sub
Private Sub invest_Change()
chast_invest.Text = Val(invest.Text) * Val(chust_doh.Text)
End Sub
Private Sub koef_nak_Change()
koef_nak.Text = 1 - Val(koef_spog.Text)
End Sub
Private Sub koef_spog_Change()
koef_nak.Text = 1 - Val(koef_spog.Text)
chast_spog.Text = Val(koef_spog.Text) * Val(chust_doh.Text)
chast_nakop.Text = (1 - Val(koef_spog.Text)) * Val(chust_doh.Text)
End Sub
Private Sub nast_Click()
If ActiveCell.Offset(1, 0).Value <> "" Then
ActiveCell.Offset(1, 0).Select
vnp.Value = ActiveCell.Value
pod_real.Value = ActiveCell.Offset(0, 1).Value
chust_doh.Value = ActiveCell.Offset(0, 2).Value
chast_nakop.Value = ActiveCell.Offset(0, 3).Value
chast_spog.Value = ActiveCell.Offset(0, 4).Value
chast_invest.Value = ActiveCell.Offset(0, 5).Value
derg_vutr.Value = ActiveCell.Offset(0, 6).Value
derg_borg = ActiveCell.Offset(16, 0).Value
Else
MsgBox "Останній запис"
End If
End Sub
Private Sub nove_Click()
i = 1
'Змінні
x1 = vnp.Text
x2 = pod_real.Text
x3 = chust_doh.Text
x4 = chast_nakop.Text
x5 = chast_spog.Text
x6 = chast_invest.Text
x7 = derg_vutr.Text
i = 2
x8 = koef_spog.Text
x9 = koef_nak.Text
x10 = invest.Text
x11 = podatok.Text
x12 = derg_borg.Text
'Поля
koef_spog.Text = ""
koef_nak.Text = ""
invest.Text = ""
podatok.Text = ""
derg_borg.Text = ""
vnp.Text = ""
koef_spog.Enabled = True
koef_nak.Enabled = True
invest.Enabled = True
podatok.Enabled = True
pod_real.Enabled = False
chust_doh.Enabled = False
chast_nakop.Enabled = False
chast_spog.Enabled = False
derg_vutr.Enabled = False
chast_invest.Enabled = False
vnp.Enabled = True
derg_borg.Enabled = True
End Sub
Private Sub pod_real_Change()
pod_real.Text = Val(podatok.Text) * Val(vnp.Text)
chust_doh.Text = Val(vnp.Text) - Val(pod_real.Text)
End Sub
Private Sub podatok_Change()
pod_real.Text = Val(podatok.Text) * Val(vnp.Text)
derg_vutr.Text = Val(derg_borg.Text) - Val(podatok.Text)
End Sub
Private Sub pop_z_Click()
If ActiveCell.Row > 2 Then
ActiveCell.Offset(-1, 0).Select
vnp.Value = ActiveCell.Value
pod_real.Value = ActiveCell.Offset(0, 1).Value
chust_doh.Value = ActiveCell.Offset(0, 2).Value
chast_nakop.Value = ActiveCell.Offset(0, 3).Value
chast_spog.Value = ActiveCell.Offset(0, 4).Value
chast_invest.Value = ActiveCell.Offset(0, 5).Value
derg_vutr.Value = ActiveCell.Offset(0, 6).Value
derg_borg = ActiveCell.Offset(16, 0).Value
Else
MsgBox "Перший запис"
End If
End Sub
Private Sub UserForm_Activate()
Worksheets("Лист1").Activate
Sheets("початкові дані").Range("A1:L28").Copy Range("A1")
Range("J2").Select
Do While ActiveCell.Value <> ""
koef_spog.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
Range("K2").Select
Do While ActiveCell.Value <> ""
invest.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
Range("L2").Select
Do While ActiveCell.Value <> ""
podatok.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
Range("B14").Select
koef_spog.Value = ActiveCell.Value
koef_nak.Value = ActiveCell.Offset(1, 0).Value
invest.Value = ActiveCell.Offset(2, 0).Value
podatok.Value = ActiveCell.Offset(3, 0).Value
derg_borg = ActiveCell.Offset(4, 0).Value
Range("B2").Select
vnp.Value = ActiveCell.Value
pod_real = ActiveCell.Offset(0, 1).Value
chust_doh = ActiveCell.Offset(0, 2).Value
chast_nakop = ActiveCell.Offset(0, 3).Value
chast_spog = ActiveCell.Offset(0, 4).Value
chast_invest = ActiveCell.Offset(0, 5).Value
derg_vutr.Value = ActiveCell.Offset(0, 6).Value
koef_spog.Enabled = False
koef_nak.Enabled = False
invest.Enabled = False
podatok.Enabled = False
pod_real.Enabled = False
chust_doh.Enabled = False
chast_nakop.Enabled = False
chast_spog.Enabled = False
derg_vutr.Enabled = False
chast_invest.Enabled = False
vnp.Enabled = False
derg_borg.Enabled = False
End Sub
Private Sub vnp_Change()
pod_real.Text = Val(podatok.Text) * Val(vnp.Text)
chust_doh.Text = Val(vnp.Text) - Val(pod_real.Text)
End Sub
Private Sub zber_Click()
'Доповнення
If i = 1 Then
Do While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Value = vnp.Text
ActiveCell.Offset(0, 1).Value = pod_real.Text
ActiveCell.Offset(0, 2).Value = chust_doh.Text
ActiveCell.Offset(0, 3).Value = chast_nakop.Text
ActiveCell.Offset(0, 4).Value = chast_spog.Text
ActiveCell.Offset(0, 5).Value = chast_invest.Text
ActiveCell.Offset(0, 6).Value = derg_vutr.Text
End If
If i = 2 Then
Do While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(16, 0).Value = derg_borg.Text
End If
Range("B2").Select
vnp.Value = ActiveCell.Value
Range("C2").Select
pod_real.Value = ActiveCell.Value
Range("D2").Select
chast_nakop.Value = ActiveCell.Value
Range("E2").Select
chast_spog.Value = ActiveCell.Value
Range("F2").Select
chast_invest.Value = ActiveCell.Value
Range("G2").Select
chust_doh.Value = ActiveCell.Value
Range("H2").Select
derg_vutr.Value = ActiveCell.Value
End Sub
Вот мой код..весь Модератор: Учимся использовать тэги оформления кода и спойлер для длинных простыней - FAQ
|
|