Няма описание
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

訂單價格利潤明細表.vb 121KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265
  1. Option Strict Off
  2. Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
  3. Imports Microsoft.Office.Interop.Excel.Constants
  4. Imports Microsoft.Office.Interop.Excel.XlBordersIndex
  5. Imports Microsoft.Office.Interop.Excel.XlLineStyle
  6. Imports Microsoft.Office.Interop.Excel.XlBorderWeight
  7. Imports Microsoft.Office.Interop.Excel.XlThemeFont
  8. Imports Microsoft.Office.Interop.Excel.XlThemeColor
  9. Imports Microsoft.Office.Interop.Excel.XlWindowState
  10. Imports Microsoft.Office.Interop.Excel
  11. Public Class 訂單價格利潤明細表
  12. Private ReadOnly ds, ds1, ds2 As New DataSet
  13. Dim xlApp As Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet
  14. Dim 已超出 As Boolean : Private ReadOnly BB(3) As Boolean
  15. Public 平均數, 最終數, 資料數, NUM2, N1 As Integer
  16. Private ReadOnly MYSQL1 As String = "SELECT 訂單控制表.BUYER, 訂單控制表.年份季度, 訂單控制表.訂單流水號, 訂單控制表.客戶訂單號, 訂單控制表.型體號碼, 訂單控制表.GOODBOX AS 型體名稱, 訂單控制表.APMA確認 AS 顏色,
  17. 訂單控制表.TVW AS 楦型, 訂單控制表.訂單數量, 訂單控制表.客戶交期 AS 交期開始, 訂單控制表.客戶交期1 AS 交期結束, 訂單控制表.單價, 訂單控制表.總金額 AS 銷售金額,
  18. 訂單控制表.備註, 訂單控制表.生產工廠, 訂單控制表.資料流水號, 訂單價格利潤明細表.Quantity, 訂單價格利潤明細表.Currency, 訂單價格利潤明細表.Exchange,
  19. 訂單價格利潤明細表.Price, 訂單價格利潤明細表.Discount_price AS [Discount price], 訂單價格利潤明細表.Commercial_invoice AS [Commercial invoice],
  20. 訂單價格利潤明細表.Overage_invoice AS [Overage invoice], 訂單價格利潤明細表.Selling_price AS [Selling price], 訂單價格利潤明細表.HTS_code AS [HTS code],
  21. 訂單價格利潤明細表.Remark1, 訂單價格利潤明細表.Fty_price AS [Fty price], 訂單價格利潤明細表.Mold_cost AS [Mold cost],
  22. 訂單價格利潤明細表.Collected_mold_cost AS [Collected mold cost], 訂單價格利潤明細表.Amortization_qty AS [Amortization qty], 訂單價格利潤明細表.Profit,
  23. 訂單價格利潤明細表.Commission, 訂單價格利潤明細表.Remark2, 訂單價格利潤明細表.Price AS 客戶付款, 訂單價格利潤明細表.Price AS 未收款項,
  24. 訂單價格利潤明細表.Price AS 預收款項, 訂單價格利潤明細表.Price AS 成本金額, 訂單價格利潤明細表.Price AS 利潤, 訂單價格利潤明細表.Price AS 實際收款,
  25. 訂單價格利潤明細表.年份, 訂單價格利潤明細表.利潤表流水號, 訂單價格利潤明細表.審核
  26. FROM 訂單控制表 LEFT OUTER JOIN 訂單價格利潤明細表 ON 訂單控制表.資料流水號 = 訂單價格利潤明細表.資料流水號 "
  27. Private ReadOnly MYSQL2 As String = "SELECT 訂單控制表.BUYER, 訂單控制表.年份季度, 訂單控制表.訂單流水號, 訂單控制表.客戶訂單號, 訂單控制表.型體號碼, 訂單控制表.GOODBOX AS 型體名稱,
  28. 訂單控制表.APMA確認 AS 顏色, 訂單控制表.TVW AS 楦型, 訂單控制表.訂單數量, 訂單控制表.客戶交期 AS 交期開始, 訂單控制表.客戶交期1 AS 交期結束, 訂單控制表.單價,
  29. 訂單控制表.總金額 AS 銷售金額, 訂單控制表.備註, 訂單控制表.生產工廠, 訂單控制表.資料流水號, 訂單價格利潤明細表.Quantity, 訂單價格利潤明細表.Currency,
  30. 訂單價格利潤明細表.Exchange, 訂單價格利潤明細表.Price, 訂單價格利潤明細表.Discount_price AS [Discount price],
  31. 訂單價格利潤明細表.Commercial_invoice AS [Commercial invoice], 訂單價格利潤明細表.Overage_invoice AS [Overage invoice],
  32. 訂單價格利潤明細表.Selling_price AS [Selling price], 訂單價格利潤明細表.HTS_code AS [HTS code], 訂單價格利潤明細表.Remark1,
  33. 訂單價格利潤明細表.Fty_price AS [Fty price], 訂單價格利潤明細表.Mold_cost AS [Mold cost], 訂單價格利潤明細表.Collected_mold_cost AS [Collected mold cost],
  34. 訂單價格利潤明細表.Amortization_qty AS [Amortization qty], 訂單價格利潤明細表.Profit, 訂單價格利潤明細表.Commission, 訂單價格利潤明細表.Remark2,
  35. 訂單價格利潤明細表.Price AS 客戶付款, 訂單價格利潤明細表.Price AS 未收款項, 訂單價格利潤明細表.Price AS 預收款項, 訂單價格利潤明細表.Price AS 成本金額,
  36. 訂單價格利潤明細表.Price AS 利潤, 訂單價格利潤明細表.Price AS 實際收款, 訂單價格利潤明細表.年份, 訂單價格利潤表暫存檔.利潤表流水號, 訂單價格利潤明細表.審核
  37. FROM 訂單控制表 INNER JOIN 訂單價格利潤表暫存檔 ON 訂單控制表.資料流水號 = 訂單價格利潤表暫存檔.資料流水號 LEFT OUTER JOIN
  38. 訂單價格利潤明細表 ON 訂單控制表.資料流水號 = 訂單價格利潤明細表.資料流水號
  39. ORDER BY 訂單控制表.訂單流水號 DESC"
  40. Private Sub Set_DGV1載入前設定()
  41. 清單1_dgv.DataSource = Nothing : ds.Clear()
  42. 清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  43. 清單1_dgv.ColumnHeadersHeight = 50
  44. 清單1_dgv.AllowUserToAddRows = False
  45. 清單1_dgv.RowTemplate.Height = 35
  46. ConnOpen()
  47. End Sub
  48. Private Sub Set_DGV1載入後設定()
  49. CmdSet_For_DGV() : da.SelectCommand.CommandTimeout = 900 : da.Fill(ds) : 清單1_dgv.DataSource = ds.Tables(0) : conn.Close()
  50. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  51. If IsDBNull(清單1_dgv.Rows(i).Cells("審核").Value) Then
  52. 清單1_dgv.Rows(i).Cells("審核").Value = False
  53. End If
  54. If IsDBNull(清單1_dgv.Rows(i).Cells("Price").Value) Then
  55. 清單1_dgv.Rows(i).Cells("Price").Value = 0
  56. End If
  57. If IsDBNull(清單1_dgv.Rows(i).Cells("Selling price").Value) Then
  58. 清單1_dgv.Rows(i).Cells("Selling price").Value = 0
  59. End If
  60. If IsDBNull(清單1_dgv.Rows(i).Cells("HTS code").Value) Then
  61. 清單1_dgv.Rows(i).Cells("HTS code").Value = " "
  62. End If
  63. If IsDBNull(清單1_dgv.Rows(i).Cells("Remark1").Value) Then
  64. 清單1_dgv.Rows(i).Cells("Remark1").Value = " "
  65. End If
  66. If IsDBNull(清單1_dgv.Rows(i).Cells("Amortization qty").Value) Then
  67. 清單1_dgv.Rows(i).Cells("Amortization qty").Value = 0
  68. End If
  69. If IsDBNull(清單1_dgv.Rows(i).Cells("Remark2").Value) Then
  70. 清單1_dgv.Rows(i).Cells("Remark2").Value = " "
  71. End If
  72. Next
  73. End Sub
  74. Private Sub Set_訂單清單1()
  75. Set_DGV1載入前設定()
  76. If 未建檔_ch.Checked = True Then
  77. Timer1.Enabled = True : 存檔_bt.Enabled = True : 刪除_bt.Enabled = False : 修改_bt.Enabled = False
  78. 等於訂單數_bt.Enabled = True : 等於零_bt.Enabled = True : 匯率為1_bt.Enabled = True
  79. If 訂單流水號_tb.Text = "" Then
  80. SQL1 = MYSQL1 & "WHERE ((訂單控制表.訂單流水號 Like '%" & PA & "%') OR (訂單控制表.年份季度 LIKE '%" & PA & "%') OR (訂單控制表.客戶訂單號 LIKE '%" & PA & "%') OR
  81. (訂單控制表.型體號碼 Like '%" & PA & "%') OR (訂單控制表.APMA確認 LIKE '%" & PA & "%') OR (訂單控制表.GOODBOX LIKE '%" & PA & "%') OR
  82. (訂單控制表.TVW Like '%" & PA & "%') OR (訂單控制表.備註 LIKE '%" & PA & "%') OR (訂單控制表.生產工廠 LIKE '%" & PA & "%')) AND
  83. (訂單價格利潤明細表.訂單流水號 Is Not NULL) AND (訂單價格利潤明細表.CFMSPEC LIKE 'LANDED BRANDED')
  84. ORDER BY 訂單控制表.訂單流水號 DESC"
  85. Else
  86. SQL1 = MYSQL1 & "WHERE (訂單控制表.訂單流水號 LIKE '" & 訂單流水號_tb.Text & "') AND (訂單控制表.CXL IS NULL OR 訂單控制表.CXL = 0) AND (訂單控制表.CFMSPEC LIKE 'LANDED BRANDED')
  87. ORDER BY 訂單控制表.訂單流水號 DESC"
  88. End If
  89. Set_DGV1載入後設定() : Set_grid() : Set_自動彙總1()
  90. Set_暫存資料設定() : Set_編輯清單1() : Set_grid() : Set_grid3() : Set_自動彙總1()
  91. ElseIf 未建檔_ch.Checked = False Then
  92. Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False : 存檔_bt.Enabled = False : 刪除_bt.Enabled = True : 修改_bt.Enabled = True
  93. 等於訂單數_bt.Enabled = False : 等於零_bt.Enabled = False : 匯率為1_bt.Enabled = False
  94. If PA = "" Then
  95. SQL1 = MYSQL1 & "WHERE (訂單控制表.CXL IS NULL) OR (訂單控制表.CXL = 0) AND (訂單價格利潤明細表.年份 LIKE '" & 年份_cb.Text & "') AND (訂單控制表.CFMSPEC LIKE 'LANDED BRANDED')
  96. ORDER BY 訂單控制表.訂單流水號 DESC"
  97. Else
  98. SQL1 = MYSQL1 & "WHERE ((訂單控制表.訂單流水號 Like '%" & PA & "%') OR (訂單控制表.年份季度 LIKE '%" & PA & "%') OR (訂單控制表.客戶訂單號 LIKE '%" & PA & "%') OR
  99. (訂單控制表.型體號碼 LIKE '%" & PA & "%') OR (訂單控制表.APMA確認 LIKE '%" & PA & "%') OR (訂單控制表.GOODBOX LIKE '%" & PA & "%') OR
  100. (訂單控制表.TVW LIKE '%" & PA & "%') OR (訂單控制表.備註 LIKE '%" & PA & "%') OR (訂單控制表.生產工廠 LIKE '%" & PA & "%')) AND
  101. (訂單價格利潤明細表.訂單流水號 IS NOT NULL) AND (訂單價格利潤明細表.年份 LIKE '" & 年份_cb.Text & "') AND
  102. (訂單控制表.CXL IS NULL OR 訂單控制表.CXL = 0) AND (訂單控制表.CFMSPEC LIKE 'LANDED BRANDED')
  103. ORDER BY 訂單控制表.訂單流水號 DESC"
  104. End If
  105. 列印用SQL = SQL1
  106. Set_DGV1載入後設定()
  107. End If
  108. End Sub
  109. Private Sub Set_編輯清單1()
  110. Set_DGV1載入前設定() : SQL1 = MYSQL2 : Set_DGV1載入後設定() : Me.匯率為1_bt.PerformClick() : Me.等於訂單數_bt.PerformClick()
  111. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1 : 清單1_dgv.Rows(i).Cells("Currency").Value = "USD" : 清單1_dgv.Rows(i).Cells("年份").Value = 年份_cb.Text : Next i
  112. End Sub
  113. Private Sub Set_DGV3載入前設定()
  114. 清單2_dgv.DataSource = Nothing : ds2.Clear()
  115. 清單2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  116. 清單2_dgv.ColumnHeadersHeight = 50
  117. 清單2_dgv.AllowUserToAddRows = False
  118. 清單2_dgv.RowTemplate.Height = 35
  119. ConnOpen()
  120. End Sub
  121. Private Sub Set_DGV3載入後設定()
  122. CmdSet_For_DGV() : da.SelectCommand.CommandTimeout = 900 : da.Fill(ds2) : 清單2_dgv.DataSource = ds2.Tables(0) : conn.Close()
  123. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  124. If IsDBNull(清單2_dgv.Rows(i).Cells("審核").Value) Then
  125. 清單2_dgv.Rows(i).Cells("審核").Value = False
  126. End If
  127. If IsDBNull(清單2_dgv.Rows(i).Cells("Price").Value) Then
  128. 清單2_dgv.Rows(i).Cells("Price").Value = 0
  129. End If
  130. If IsDBNull(清單2_dgv.Rows(i).Cells("Selling price").Value) Then
  131. 清單2_dgv.Rows(i).Cells("Selling price").Value = 0
  132. End If
  133. If IsDBNull(清單2_dgv.Rows(i).Cells("HTS code").Value) Then
  134. 清單2_dgv.Rows(i).Cells("HTS code").Value = " "
  135. End If
  136. If IsDBNull(清單2_dgv.Rows(i).Cells("Remark1").Value) Then
  137. 清單2_dgv.Rows(i).Cells("Remark1").Value = " "
  138. End If
  139. If IsDBNull(清單2_dgv.Rows(i).Cells("Amortization qty").Value) Then
  140. 清單2_dgv.Rows(i).Cells("Amortization qty").Value = 0
  141. End If
  142. If IsDBNull(清單2_dgv.Rows(i).Cells("Remark2").Value) Then
  143. 清單2_dgv.Rows(i).Cells("Remark2").Value = " "
  144. End If
  145. Next
  146. End Sub
  147. Private Sub Set_訂單清單2()
  148. Set_DGV3載入前設定()
  149. If 未建檔_ch.Checked = True Then
  150. Timer1.Enabled = True : 存檔_bt.Enabled = True : 刪除_bt.Enabled = False : 修改_bt.Enabled = False
  151. 等於訂單數_bt.Enabled = True : 等於零_bt.Enabled = True : 匯率為1_bt.Enabled = True
  152. If 訂單流水號_tb.Text = "" Then
  153. SQL1 = MYSQL1 & "WHERE ((訂單控制表.訂單流水號 Like '%" & PA & "%') OR (訂單控制表.年份季度 LIKE '%" & PA & "%') OR (訂單控制表.客戶訂單號 LIKE '%" & PA & "%') OR
  154. (訂單控制表.型體號碼 Like '%" & PA & "%') OR (訂單控制表.APMA確認 LIKE '%" & PA & "%') OR (訂單控制表.GOODBOX LIKE '%" & PA & "%') OR
  155. (訂單控制表.TVW Like '%" & PA & "%') OR (訂單控制表.備註 LIKE '%" & PA & "%') OR (訂單控制表.生產工廠 LIKE '%" & PA & "%')) AND
  156. (訂單價格利潤明細表.訂單流水號 Is Not NULL) AND (訂單控制表.CFMSPEC LIKE 'FIRST COST')
  157. ORDER BY 訂單控制表.訂單流水號 DESC"
  158. Else
  159. SQL1 = MYSQL1 & "WHERE (訂單控制表.訂單流水號 LIKE '" & 訂單流水號_tb.Text & "') AND (訂單控制表.CXL IS NULL OR 訂單控制表.CXL = 0) AND (訂單控制表.CFMSPEC LIKE 'FIRST COST')
  160. ORDER BY 訂單控制表.訂單流水號 DESC"
  161. End If
  162. Set_DGV3載入後設定() : Set_grid3() : Set_自動彙總1()
  163. Set_暫存資料設定() : Set_編輯清單2() : Set_grid3() : Set_自動彙總1()
  164. ElseIf 未建檔_ch.Checked = False Then
  165. Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False : 存檔_bt.Enabled = False : 刪除_bt.Enabled = True : 修改_bt.Enabled = True
  166. 等於訂單數_bt.Enabled = False : 等於零_bt.Enabled = False : 匯率為1_bt.Enabled = False
  167. If PA = "" Then
  168. SQL1 = MYSQL1 & "WHERE (訂單控制表.CXL IS NULL) OR (訂單控制表.CXL = 0) AND (訂單價格利潤明細表.年份 LIKE '" & 年份_cb.Text & "') AND (訂單控制表.CFMSPEC LIKE 'FIRST COST')
  169. ORDER BY 訂單控制表.訂單流水號 DESC"
  170. Else
  171. SQL1 = MYSQL1 & "WHERE ((訂單控制表.訂單流水號 Like '%" & PA & "%') OR (訂單控制表.年份季度 LIKE '%" & PA & "%') OR (訂單控制表.客戶訂單號 LIKE '%" & PA & "%') OR
  172. (訂單控制表.型體號碼 LIKE '%" & PA & "%') OR (訂單控制表.APMA確認 LIKE '%" & PA & "%') OR (訂單控制表.GOODBOX LIKE '%" & PA & "%') OR
  173. (訂單控制表.TVW LIKE '%" & PA & "%') OR (訂單控制表.備註 LIKE '%" & PA & "%') OR (訂單控制表.生產工廠 LIKE '%" & PA & "%')) AND
  174. (訂單價格利潤明細表.訂單流水號 IS NOT NULL) AND (訂單價格利潤明細表.年份 LIKE '" & 年份_cb.Text & "') AND
  175. (訂單控制表.CXL IS NULL OR 訂單控制表.CXL = 0) AND (訂單控制表.CFMSPEC LIKE 'FIRST COST')
  176. ORDER BY 訂單控制表.訂單流水號 DESC"
  177. End If
  178. 列印用SQL = SQL1
  179. Set_DGV3載入後設定()
  180. End If
  181. End Sub
  182. Private Sub Set_編輯清單2()
  183. Set_DGV3載入前設定() : SQL1 = MYSQL2 : Set_DGV3載入後設定() : Me.匯率為1_bt.PerformClick() : Me.等於訂單數_bt.PerformClick()
  184. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1 : 清單2_dgv.Rows(i).Cells("Currency").Value = "USD" : 清單2_dgv.Rows(i).Cells("年份").Value = 年份_cb.Text : Next i
  185. End Sub
  186. Private Sub Set_暫存資料設定()
  187. SQL_刪除訂單價格利潤表暫存檔() : conn.Close()
  188. SQL_最後一筆筆訂單價格利潤明細表()
  189. If dr.Read() Then : NUM2 = Strings.Right(dr("利潤表流水號").ToString, 8) : End If
  190. conn.Close()
  191. If 訂單屬性_cb.Text = "LANDED BRANDED" Then
  192. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  193. Set_暫存資料設定1()
  194. PA5 = 清單1_dgv.Rows(i).Cells("訂單流水號").Value : PA4 = 清單1_dgv.Rows(i).Cells("資料流水號").Value
  195. SQL_新增訂單價格利潤表暫存檔() : conn.Close()
  196. Next i
  197. Else
  198. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  199. PA6 = 清單2_dgv.Rows(i).Cells("資料流水號").Value : PA7 = 清單2_dgv.Rows(i).Cells("訂單流水號").Value
  200. Set_暫存資料設定1()
  201. SQL_新增訂單價格利潤表暫存檔1() : conn.Close()
  202. Next i
  203. End If
  204. End Sub
  205. Private Sub Set_暫存資料設定1()
  206. NUM2 += 1
  207. If NUM2 < 10 Then : WW = "PR" & "0000000" & NUM2
  208. ElseIf NUM2 > 9 And NUM2 < 100 Then : WW = "PR" & "000000" & NUM2
  209. ElseIf NUM2 > 99 And NUM2 < 1000 Then : WW = "PR" & "00000" & NUM2
  210. ElseIf NUM2 > 999 And NUM2 < 10000 Then : WW = "PR" & "0000" & NUM2
  211. ElseIf NUM2 > 9999 And NUM2 < 100000 Then : WW = "PR" & "000" & NUM2
  212. ElseIf NUM2 > 99999 And NUM2 < 100000 Then : WW = "PR" & "00" & NUM2
  213. ElseIf NUM2 > 999999 And NUM2 < 1000000 Then : WW = "PR" & "0" & NUM2
  214. ElseIf NUM2 > 9999999 Then : WW = "PR" & NUM2
  215. End If
  216. End Sub
  217. Private Sub Set_未建檔清單()
  218. 未完成流水號清單_dgv.DataSource = Nothing : ds1.Clear()
  219. 未完成流水號清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  220. 未完成流水號清單_dgv.ColumnHeadersHeight = 25
  221. 未完成流水號清單_dgv.AllowUserToAddRows = False
  222. SQL_未建檔清單()
  223. da.Fill(ds1) : 未完成流水號清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
  224. End Sub
  225. Private Sub Set_grid()
  226. 清單1_dgv.Columns(0).ReadOnly = True : 清單1_dgv.Columns(1).ReadOnly = True : 清單1_dgv.Columns(2).ReadOnly = True : 清單1_dgv.Columns(3).ReadOnly = True
  227. 清單1_dgv.Columns(4).ReadOnly = True : 清單1_dgv.Columns(5).ReadOnly = True : 清單1_dgv.Columns(6).ReadOnly = True : 清單1_dgv.Columns(7).ReadOnly = True
  228. 清單1_dgv.Columns(8).ReadOnly = True : 清單1_dgv.Columns(9).ReadOnly = True : 清單1_dgv.Columns(10).ReadOnly = True : 清單1_dgv.Columns(12).ReadOnly = True
  229. 清單1_dgv.Columns(13).ReadOnly = True : 清單1_dgv.Columns(14).ReadOnly = True : 清單1_dgv.Columns(20).ReadOnly = True : 清單1_dgv.Columns(22).ReadOnly = True
  230. 清單1_dgv.Columns(28).ReadOnly = True : 清單1_dgv.Columns(30).ReadOnly = True : 清單1_dgv.Columns(31).ReadOnly = True : 清單1_dgv.Columns(33).ReadOnly = True
  231. 清單1_dgv.Columns(34).ReadOnly = True : 清單1_dgv.Columns(35).ReadOnly = True : 清單1_dgv.Columns(36).ReadOnly = True : 清單1_dgv.Columns(37).ReadOnly = True
  232. 清單1_dgv.Columns(38).ReadOnly = True : 清單1_dgv.Columns(39).ReadOnly = True : 清單1_dgv.Columns(40).ReadOnly = True
  233. '764
  234. 清單1_dgv.Columns(0).Width = 90 : 清單1_dgv.Columns(1).Width = 100 : 清單1_dgv.Columns(2).Width = 115 : 清單1_dgv.Columns(3).Width = 80
  235. 清單1_dgv.Columns(4).Width = 90 : 清單1_dgv.Columns(5).Width = 90 : 清單1_dgv.Columns(6).Width = 100 : 清單1_dgv.Columns(7).Width = 50
  236. 清單1_dgv.Columns(8).Width = 60 : 清單1_dgv.Columns(9).Width = 70 : 清單1_dgv.Columns(10).Width = 70 : 清單1_dgv.Columns(11).Width = 60
  237. 清單1_dgv.Columns(12).Width = 80 : 清單1_dgv.Columns(13).Width = 100 : 清單1_dgv.Columns(14).Width = 80 : 清單1_dgv.Columns(15).Visible = False
  238. 清單1_dgv.Columns(16).Width = 60 : 清單1_dgv.Columns(17).Width = 60 : 清單1_dgv.Columns(18).Width = 65 : 清單1_dgv.Columns(19).Width = 60
  239. 清單1_dgv.Columns(20).Width = 70 : 清單1_dgv.Columns(21).Width = 80 : 清單1_dgv.Columns(22).Width = 70
  240. 清單1_dgv.Columns(23).Visible = False : 清單1_dgv.Columns(24).Visible = False
  241. 清單1_dgv.Columns(25).Width = 168 : 清單1_dgv.Columns(26).Width = 60 : 清單1_dgv.Columns(27).Width = 60 : 清單1_dgv.Columns(28).Width = 80 : 清單1_dgv.Columns(29).Width = 100
  242. 清單1_dgv.Columns(30).Width = 80 : 清單1_dgv.Columns(31).Width = 80 : 清單1_dgv.Columns(31).Width = 100 : 清單1_dgv.Columns(32).Width = 263 : 清單1_dgv.Columns(39).Width = 70
  243. 清單1_dgv.Columns(40).Width = 85 : 清單1_dgv.Columns(41).Width = 57
  244. 清單1_dgv.Columns(8).DefaultCellStyle.Format = "#,##0" : 清單1_dgv.Columns(11).DefaultCellStyle.Format = "#,##0.00" : 清單1_dgv.Columns(12).DefaultCellStyle.Format = "#,##0.00"
  245. 清單1_dgv.Columns(16).DefaultCellStyle.Format = "#,##0" : 清單1_dgv.Columns(18).DefaultCellStyle.Format = "#,##0.0000" : 清單1_dgv.Columns(19).DefaultCellStyle.Format = "#,##0.00"
  246. 清單1_dgv.Columns(20).DefaultCellStyle.Format = "#,##0.00" : 清單1_dgv.Columns(21).DefaultCellStyle.Format = "#,##0.00" : 清單1_dgv.Columns(22).DefaultCellStyle.Format = "#,##0.00"
  247. 清單1_dgv.Columns(26).DefaultCellStyle.Format = "#,##0.00" : 清單1_dgv.Columns(27).DefaultCellStyle.Format = "#,##0.00" : 清單1_dgv.Columns(28).DefaultCellStyle.Format = "#,##0.00"
  248. 清單1_dgv.Columns(29).DefaultCellStyle.Format = "#,##0" : 清單1_dgv.Columns(30).DefaultCellStyle.Format = "#,##0.00" : 清單1_dgv.Columns(31).DefaultCellStyle.Format = "#,##0.00"
  249. 清單1_dgv.Columns(33).DefaultCellStyle.Format = "#,##0.00" : 清單1_dgv.Columns(34).DefaultCellStyle.Format = "#,##0.00" : 清單1_dgv.Columns(35).DefaultCellStyle.Format = "#,##0.00"
  250. 清單1_dgv.Columns(36).DefaultCellStyle.Format = "#,##0.00" : 清單1_dgv.Columns(37).DefaultCellStyle.Format = "#,##0.00" : 清單1_dgv.Columns(38).DefaultCellStyle.Format = "#,##0.00"
  251. 清單1_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  252. 清單1_dgv.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  253. 清單1_dgv.Columns(12).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(12).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  254. 清單1_dgv.Columns(16).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(16).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  255. 清單1_dgv.Columns(17).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(17).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  256. 清單1_dgv.Columns(18).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(18).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  257. 清單1_dgv.Columns(19).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(19).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  258. 清單1_dgv.Columns(20).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(20).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  259. 清單1_dgv.Columns(21).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(21).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  260. 清單1_dgv.Columns(22).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(22).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  261. 清單1_dgv.Columns(26).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(26).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  262. 清單1_dgv.Columns(27).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(27).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  263. 清單1_dgv.Columns(28).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(28).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  264. 清單1_dgv.Columns(29).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(29).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  265. 清單1_dgv.Columns(30).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(30).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  266. 清單1_dgv.Columns(31).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(31).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  267. 清單1_dgv.Columns(33).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(33).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  268. 清單1_dgv.Columns(34).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(34).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  269. 清單1_dgv.Columns(35).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(35).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  270. 清單1_dgv.Columns(36).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(36).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  271. 清單1_dgv.Columns(37).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(37).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  272. 清單1_dgv.Columns(38).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(38).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  273. 清單1_dgv.Columns(39).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(39).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  274. 清單1_dgv.Columns(40).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(40).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  275. 清單1_dgv.Columns(41).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單1_dgv.Columns(41).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  276. 清單1_dgv.Columns(11).DefaultCellStyle.BackColor = Color.MistyRose : 清單1_dgv.Columns(16).DefaultCellStyle.BackColor = Color.MistyRose
  277. 清單1_dgv.Columns(17).DefaultCellStyle.BackColor = Color.MistyRose : 清單1_dgv.Columns(18).DefaultCellStyle.BackColor = Color.MistyRose
  278. 清單1_dgv.Columns(19).DefaultCellStyle.BackColor = Color.MistyRose : 清單1_dgv.Columns(21).DefaultCellStyle.BackColor = Color.MistyRose
  279. 清單1_dgv.Columns(26).DefaultCellStyle.BackColor = Color.MistyRose : 清單1_dgv.Columns(27).DefaultCellStyle.BackColor = Color.MistyRose
  280. 清單1_dgv.Columns(29).DefaultCellStyle.BackColor = Color.MistyRose
  281. 清單1_dgv.Columns(0).DefaultCellStyle.ForeColor = Color.Blue : 清單1_dgv.Columns(1).DefaultCellStyle.ForeColor = Color.Blue
  282. 清單1_dgv.Columns(2).DefaultCellStyle.ForeColor = Color.Blue : 清單1_dgv.Columns(3).DefaultCellStyle.ForeColor = Color.Blue
  283. 清單1_dgv.Columns(4).DefaultCellStyle.ForeColor = Color.Blue : 清單1_dgv.Columns(5).DefaultCellStyle.ForeColor = Color.Blue
  284. 清單1_dgv.Columns(6).DefaultCellStyle.ForeColor = Color.Blue : 清單1_dgv.Columns(7).DefaultCellStyle.ForeColor = Color.Blue
  285. 清單1_dgv.Columns(8).DefaultCellStyle.ForeColor = Color.Blue : 清單1_dgv.Columns(9).DefaultCellStyle.ForeColor = Color.Blue
  286. 清單1_dgv.Columns(10).DefaultCellStyle.ForeColor = Color.Blue
  287. 清單1_dgv.Columns(12).DefaultCellStyle.ForeColor = Color.Red : 清單1_dgv.Columns(20).DefaultCellStyle.ForeColor = Color.Red
  288. 清單1_dgv.Columns(22).DefaultCellStyle.ForeColor = Color.Red : 清單1_dgv.Columns(28).DefaultCellStyle.ForeColor = Color.Red
  289. 清單1_dgv.Columns(30).DefaultCellStyle.ForeColor = Color.Red : 清單1_dgv.Columns(31).DefaultCellStyle.ForeColor = Color.Red
  290. 清單1_dgv.Columns(33).DefaultCellStyle.ForeColor = Color.Red : 清單1_dgv.Columns(36).DefaultCellStyle.ForeColor = Color.Red
  291. 清單1_dgv.Columns(34).DefaultCellStyle.ForeColor = Color.Red : 清單1_dgv.Columns(37).DefaultCellStyle.ForeColor = Color.Red
  292. 清單1_dgv.Columns(35).DefaultCellStyle.ForeColor = Color.Red : 清單1_dgv.Columns(38).DefaultCellStyle.ForeColor = Color.Red
  293. If BB(0) = True And BB(1) = False And BB(2) = False And BB(3) = False Then
  294. 清單1_dgv.Columns(17).Visible = True : 清單1_dgv.Columns(18).Visible = True : 清單1_dgv.Columns(19).Visible = True : 清單1_dgv.Columns(20).Visible = True
  295. 清單1_dgv.Columns(21).Visible = True : 清單1_dgv.Columns(22).Visible = True : 清單1_dgv.Columns(25).Visible = True : 清單1_dgv.Columns(13).Visible = True
  296. 清單1_dgv.Columns(14).Visible = True : 清單1_dgv.Columns(16).Visible = True
  297. 清單1_dgv.Columns(26).Visible = False : 清單1_dgv.Columns(27).Visible = False : 清單1_dgv.Columns(28).Visible = False : 清單1_dgv.Columns(29).Visible = False
  298. 清單1_dgv.Columns(30).Visible = False : 清單1_dgv.Columns(31).Visible = False : 清單1_dgv.Columns(32).Visible = False : 清單1_dgv.Columns(33).Visible = False
  299. 清單1_dgv.Columns(34).Visible = False : 清單1_dgv.Columns(35).Visible = False : 清單1_dgv.Columns(36).Visible = False : 清單1_dgv.Columns(37).Visible = False
  300. 清單1_dgv.Columns(38).Visible = False : 清單1_dgv.Columns(39).Visible = False : 清單1_dgv.Columns(40).Visible = False : 清單1_dgv.Columns(41).Visible = False
  301. ElseIf BB(0) = False And BB(1) = True And BB(2) = False And BB(3) = False Then
  302. 清單1_dgv.Columns(17).Visible = False : 清單1_dgv.Columns(18).Visible = False : 清單1_dgv.Columns(19).Visible = False : 清單1_dgv.Columns(20).Visible = False
  303. 清單1_dgv.Columns(21).Visible = False : 清單1_dgv.Columns(22).Visible = False : 清單1_dgv.Columns(25).Visible = False : 清單1_dgv.Columns(13).Visible = False
  304. 清單1_dgv.Columns(14).Visible = False : 清單1_dgv.Columns(16).Visible = False
  305. 清單1_dgv.Columns(26).Visible = True : 清單1_dgv.Columns(27).Visible = True : 清單1_dgv.Columns(28).Visible = True : 清單1_dgv.Columns(29).Visible = True
  306. 清單1_dgv.Columns(30).Visible = True : 清單1_dgv.Columns(31).Visible = True : 清單1_dgv.Columns(32).Visible = True : 清單1_dgv.Columns(39).Visible = True
  307. 清單1_dgv.Columns(34).Visible = False : 清單1_dgv.Columns(35).Visible = False : 清單1_dgv.Columns(36).Visible = False : 清單1_dgv.Columns(37).Visible = False
  308. 清單1_dgv.Columns(38).Visible = False : 清單1_dgv.Columns(33).Visible = False : 清單1_dgv.Columns(40).Visible = False : 清單1_dgv.Columns(41).Visible = False
  309. ElseIf BB(0) = False And BB(1) = False And BB(2) = True And BB(3) = False Then
  310. 清單1_dgv.Columns(17).Visible = False : 清單1_dgv.Columns(18).Visible = False : 清單1_dgv.Columns(19).Visible = False : 清單1_dgv.Columns(20).Visible = False
  311. 清單1_dgv.Columns(21).Visible = False : 清單1_dgv.Columns(22).Visible = False : 清單1_dgv.Columns(25).Visible = False : 清單1_dgv.Columns(13).Visible = False
  312. 清單1_dgv.Columns(14).Visible = False : 清單1_dgv.Columns(16).Visible = False : 清單1_dgv.Columns(26).Visible = False : 清單1_dgv.Columns(27).Visible = False
  313. 清單1_dgv.Columns(28).Visible = False : 清單1_dgv.Columns(29).Visible = False : 清單1_dgv.Columns(30).Visible = False : 清單1_dgv.Columns(31).Visible = False
  314. 清單1_dgv.Columns(32).Visible = False
  315. 清單1_dgv.Columns(33).Visible = True : 清單1_dgv.Columns(34).Visible = True : 清單1_dgv.Columns(35).Visible = True : 清單1_dgv.Columns(36).Visible = True
  316. 清單1_dgv.Columns(37).Visible = True : 清單1_dgv.Columns(38).Visible = True : 清單1_dgv.Columns(39).Visible = True : 清單1_dgv.Columns(40).Visible = True
  317. 清單1_dgv.Columns(41).Visible = True
  318. End If
  319. 清單1_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  320. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  321. 清單1_dgv("年份", i).Value = Strings.Left(清單1_dgv("交期開始", i).Value.ToString, 4)
  322. Next
  323. End Sub
  324. Private Sub Set_grid3()
  325. 清單2_dgv.Columns(0).ReadOnly = True : 清單2_dgv.Columns(1).ReadOnly = True : 清單2_dgv.Columns(2).ReadOnly = True : 清單2_dgv.Columns(3).ReadOnly = True
  326. 清單2_dgv.Columns(4).ReadOnly = True : 清單2_dgv.Columns(5).ReadOnly = True : 清單2_dgv.Columns(6).ReadOnly = True : 清單2_dgv.Columns(7).ReadOnly = True
  327. 清單2_dgv.Columns(8).ReadOnly = True : 清單2_dgv.Columns(9).ReadOnly = True : 清單2_dgv.Columns(10).ReadOnly = True : 清單2_dgv.Columns(12).ReadOnly = True
  328. 清單2_dgv.Columns(13).ReadOnly = True : 清單2_dgv.Columns(14).ReadOnly = True : 清單2_dgv.Columns(20).ReadOnly = True : 清單2_dgv.Columns(22).ReadOnly = True
  329. 清單2_dgv.Columns(28).ReadOnly = True : 清單2_dgv.Columns(30).ReadOnly = True : 清單2_dgv.Columns(31).ReadOnly = True : 清單2_dgv.Columns(33).ReadOnly = True
  330. 清單2_dgv.Columns(34).ReadOnly = True : 清單2_dgv.Columns(35).ReadOnly = True : 清單2_dgv.Columns(36).ReadOnly = True : 清單2_dgv.Columns(37).ReadOnly = True
  331. 清單2_dgv.Columns(38).ReadOnly = True : 清單2_dgv.Columns(39).ReadOnly = True : 清單2_dgv.Columns(40).ReadOnly = True
  332. '764
  333. 清單2_dgv.Columns(0).Width = 90 : 清單2_dgv.Columns(1).Width = 100 : 清單2_dgv.Columns(2).Width = 115 : 清單2_dgv.Columns(3).Width = 80
  334. 清單2_dgv.Columns(4).Width = 90 : 清單2_dgv.Columns(5).Width = 90 : 清單2_dgv.Columns(6).Width = 100 : 清單2_dgv.Columns(7).Width = 50
  335. 清單2_dgv.Columns(8).Width = 60 : 清單2_dgv.Columns(9).Width = 70 : 清單2_dgv.Columns(10).Width = 70 : 清單2_dgv.Columns(11).Width = 60
  336. 清單2_dgv.Columns(12).Width = 80 : 清單2_dgv.Columns(13).Width = 100 : 清單2_dgv.Columns(14).Width = 80 : 清單2_dgv.Columns(15).Visible = False
  337. 清單2_dgv.Columns(16).Width = 60 : 清單2_dgv.Columns(17).Width = 60 : 清單2_dgv.Columns(18).Width = 65 : 清單2_dgv.Columns(19).Width = 60
  338. 清單2_dgv.Columns(20).Width = 70
  339. 清單2_dgv.Columns(21).Visible = False : 清單2_dgv.Columns(22).Visible = False : 清單2_dgv.Columns(23).Width = 80 : 清單2_dgv.Columns(24).Width = 70
  340. 清單2_dgv.Columns(25).Width = 133 : 清單2_dgv.Columns(26).Width = 60 : 清單2_dgv.Columns(27).Width = 60 : 清單2_dgv.Columns(28).Width = 80 : 清單2_dgv.Columns(29).Width = 100
  341. 清單2_dgv.Columns(30).Width = 80 : 清單2_dgv.Columns(31).Width = 80 : 清單2_dgv.Columns(31).Width = 100 : 清單2_dgv.Columns(32).Width = 263 : 清單2_dgv.Columns(39).Width = 70
  342. 清單2_dgv.Columns(40).Width = 85 : 清單2_dgv.Columns(41).Width = 57
  343. 清單2_dgv.Columns(8).DefaultCellStyle.Format = "#,##0" : 清單2_dgv.Columns(11).DefaultCellStyle.Format = "#,##0.00" : 清單2_dgv.Columns(12).DefaultCellStyle.Format = "#,##0.00"
  344. 清單2_dgv.Columns(16).DefaultCellStyle.Format = "#,##0" : 清單2_dgv.Columns(18).DefaultCellStyle.Format = "#,##0.0000" : 清單2_dgv.Columns(19).DefaultCellStyle.Format = "#,##0.00"
  345. 清單2_dgv.Columns(20).DefaultCellStyle.Format = "#,##0.00" : 清單2_dgv.Columns(21).DefaultCellStyle.Format = "#,##0.00" : 清單2_dgv.Columns(22).DefaultCellStyle.Format = "#,##0.00"
  346. 清單2_dgv.Columns(26).DefaultCellStyle.Format = "#,##0.00" : 清單2_dgv.Columns(27).DefaultCellStyle.Format = "#,##0.00" : 清單2_dgv.Columns(28).DefaultCellStyle.Format = "#,##0.00"
  347. 清單2_dgv.Columns(29).DefaultCellStyle.Format = "#,##0" : 清單2_dgv.Columns(30).DefaultCellStyle.Format = "#,##0.00" : 清單2_dgv.Columns(31).DefaultCellStyle.Format = "#,##0.00"
  348. 清單2_dgv.Columns(33).DefaultCellStyle.Format = "#,##0.00" : 清單2_dgv.Columns(34).DefaultCellStyle.Format = "#,##0.00" : 清單2_dgv.Columns(35).DefaultCellStyle.Format = "#,##0.00"
  349. 清單2_dgv.Columns(36).DefaultCellStyle.Format = "#,##0.00" : 清單2_dgv.Columns(37).DefaultCellStyle.Format = "#,##0.00" : 清單2_dgv.Columns(38).DefaultCellStyle.Format = "#,##0.00"
  350. 清單2_dgv.Columns(23).DefaultCellStyle.Format = "#,##0.00"
  351. 清單2_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  352. 清單2_dgv.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  353. 清單2_dgv.Columns(12).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(12).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  354. 清單2_dgv.Columns(16).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(16).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  355. 清單2_dgv.Columns(17).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(17).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  356. 清單2_dgv.Columns(18).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(18).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  357. 清單2_dgv.Columns(19).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(19).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  358. 清單2_dgv.Columns(20).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(20).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  359. 清單2_dgv.Columns(21).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(21).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  360. 清單2_dgv.Columns(22).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(22).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  361. 清單2_dgv.Columns(26).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(26).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  362. 清單2_dgv.Columns(27).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(27).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  363. 清單2_dgv.Columns(28).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(28).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  364. 清單2_dgv.Columns(29).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(29).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  365. 清單2_dgv.Columns(30).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(30).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  366. 清單2_dgv.Columns(31).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(31).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  367. 清單2_dgv.Columns(23).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(23).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  368. 清單2_dgv.Columns(33).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(33).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  369. 清單2_dgv.Columns(34).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(34).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  370. 清單2_dgv.Columns(35).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(35).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  371. 清單2_dgv.Columns(36).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(36).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  372. 清單2_dgv.Columns(37).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(37).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  373. 清單2_dgv.Columns(38).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(38).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  374. 清單2_dgv.Columns(39).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(39).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  375. 清單2_dgv.Columns(40).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(40).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  376. 清單2_dgv.Columns(41).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單2_dgv.Columns(41).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  377. 清單2_dgv.Columns(11).DefaultCellStyle.BackColor = Color.MistyRose : 清單2_dgv.Columns(16).DefaultCellStyle.BackColor = Color.MistyRose
  378. 清單2_dgv.Columns(17).DefaultCellStyle.BackColor = Color.MistyRose : 清單2_dgv.Columns(18).DefaultCellStyle.BackColor = Color.MistyRose
  379. 清單2_dgv.Columns(19).DefaultCellStyle.BackColor = Color.MistyRose : 清單2_dgv.Columns(21).DefaultCellStyle.BackColor = Color.MistyRose
  380. 清單2_dgv.Columns(26).DefaultCellStyle.BackColor = Color.MistyRose : 清單2_dgv.Columns(27).DefaultCellStyle.BackColor = Color.MistyRose
  381. 清單2_dgv.Columns(29).DefaultCellStyle.BackColor = Color.MistyRose : 清單2_dgv.Columns(23).DefaultCellStyle.BackColor = Color.MistyRose
  382. 清單2_dgv.Columns(24).DefaultCellStyle.BackColor = Color.MistyRose
  383. 清單2_dgv.Columns(0).DefaultCellStyle.ForeColor = Color.Green : 清單2_dgv.Columns(1).DefaultCellStyle.ForeColor = Color.Green
  384. 清單2_dgv.Columns(2).DefaultCellStyle.ForeColor = Color.Green : 清單2_dgv.Columns(3).DefaultCellStyle.ForeColor = Color.Green
  385. 清單2_dgv.Columns(4).DefaultCellStyle.ForeColor = Color.Green : 清單2_dgv.Columns(5).DefaultCellStyle.ForeColor = Color.Green
  386. 清單2_dgv.Columns(6).DefaultCellStyle.ForeColor = Color.Green : 清單2_dgv.Columns(7).DefaultCellStyle.ForeColor = Color.Green
  387. 清單2_dgv.Columns(8).DefaultCellStyle.ForeColor = Color.Green : 清單2_dgv.Columns(9).DefaultCellStyle.ForeColor = Color.Green
  388. 清單2_dgv.Columns(10).DefaultCellStyle.ForeColor = Color.Green
  389. 清單2_dgv.Columns(12).DefaultCellStyle.ForeColor = Color.Red : 清單2_dgv.Columns(20).DefaultCellStyle.ForeColor = Color.Red
  390. 清單2_dgv.Columns(22).DefaultCellStyle.ForeColor = Color.Red : 清單2_dgv.Columns(28).DefaultCellStyle.ForeColor = Color.Red
  391. 清單2_dgv.Columns(30).DefaultCellStyle.ForeColor = Color.Red : 清單2_dgv.Columns(31).DefaultCellStyle.ForeColor = Color.Red
  392. 清單2_dgv.Columns(33).DefaultCellStyle.ForeColor = Color.Red : 清單2_dgv.Columns(36).DefaultCellStyle.ForeColor = Color.Red
  393. 清單2_dgv.Columns(34).DefaultCellStyle.ForeColor = Color.Red : 清單2_dgv.Columns(37).DefaultCellStyle.ForeColor = Color.Red
  394. 清單2_dgv.Columns(35).DefaultCellStyle.ForeColor = Color.Red : 清單2_dgv.Columns(38).DefaultCellStyle.ForeColor = Color.Red
  395. If BB(0) = True And BB(1) = False And BB(2) = False And BB(3) = False Then
  396. 清單2_dgv.Columns(17).Visible = True : 清單2_dgv.Columns(18).Visible = True : 清單2_dgv.Columns(19).Visible = True : 清單2_dgv.Columns(20).Visible = True
  397. 清單2_dgv.Columns(23).Visible = True : 清單2_dgv.Columns(24).Visible = True : 清單2_dgv.Columns(25).Visible = True : 清單2_dgv.Columns(13).Visible = True
  398. 清單2_dgv.Columns(14).Visible = True : 清單2_dgv.Columns(16).Visible = True
  399. 清單2_dgv.Columns(26).Visible = False : 清單2_dgv.Columns(27).Visible = False : 清單2_dgv.Columns(28).Visible = False : 清單2_dgv.Columns(29).Visible = False
  400. 清單2_dgv.Columns(30).Visible = False : 清單2_dgv.Columns(31).Visible = False : 清單2_dgv.Columns(32).Visible = False : 清單2_dgv.Columns(33).Visible = False
  401. 清單2_dgv.Columns(34).Visible = False : 清單2_dgv.Columns(35).Visible = False : 清單2_dgv.Columns(36).Visible = False : 清單2_dgv.Columns(37).Visible = False
  402. 清單2_dgv.Columns(38).Visible = False : 清單2_dgv.Columns(39).Visible = False : 清單2_dgv.Columns(40).Visible = False : 清單2_dgv.Columns(41).Visible = False
  403. ElseIf BB(0) = False And BB(1) = True And BB(2) = False And BB(3) = False Then
  404. 清單2_dgv.Columns(17).Visible = False : 清單2_dgv.Columns(18).Visible = False : 清單2_dgv.Columns(19).Visible = False : 清單2_dgv.Columns(20).Visible = False
  405. 清單2_dgv.Columns(23).Visible = False : 清單2_dgv.Columns(24).Visible = False : 清單2_dgv.Columns(25).Visible = False : 清單2_dgv.Columns(13).Visible = False
  406. 清單2_dgv.Columns(14).Visible = False : 清單2_dgv.Columns(16).Visible = False
  407. 清單2_dgv.Columns(26).Visible = True : 清單2_dgv.Columns(27).Visible = True : 清單2_dgv.Columns(28).Visible = True : 清單2_dgv.Columns(29).Visible = True
  408. 清單2_dgv.Columns(30).Visible = True : 清單2_dgv.Columns(31).Visible = True : 清單2_dgv.Columns(32).Visible = True : 清單2_dgv.Columns(39).Visible = True
  409. 清單2_dgv.Columns(34).Visible = False : 清單2_dgv.Columns(35).Visible = False : 清單2_dgv.Columns(36).Visible = False : 清單2_dgv.Columns(37).Visible = False
  410. 清單2_dgv.Columns(38).Visible = False : 清單2_dgv.Columns(33).Visible = False : 清單2_dgv.Columns(40).Visible = False : 清單2_dgv.Columns(41).Visible = False
  411. ElseIf BB(0) = False And BB(1) = False And BB(2) = True And BB(3) = False Then
  412. 清單2_dgv.Columns(17).Visible = False : 清單2_dgv.Columns(18).Visible = False : 清單2_dgv.Columns(19).Visible = False : 清單2_dgv.Columns(20).Visible = False
  413. 清單2_dgv.Columns(23).Visible = False : 清單2_dgv.Columns(24).Visible = False : 清單2_dgv.Columns(25).Visible = False : 清單2_dgv.Columns(13).Visible = False
  414. 清單2_dgv.Columns(14).Visible = False : 清單2_dgv.Columns(16).Visible = False : 清單2_dgv.Columns(26).Visible = False : 清單2_dgv.Columns(27).Visible = False
  415. 清單2_dgv.Columns(28).Visible = False : 清單2_dgv.Columns(29).Visible = False : 清單2_dgv.Columns(30).Visible = False : 清單2_dgv.Columns(31).Visible = False
  416. 清單2_dgv.Columns(32).Visible = False
  417. 清單2_dgv.Columns(33).Visible = True : 清單2_dgv.Columns(34).Visible = True : 清單2_dgv.Columns(35).Visible = True : 清單2_dgv.Columns(36).Visible = True
  418. 清單2_dgv.Columns(37).Visible = True : 清單2_dgv.Columns(38).Visible = True : 清單2_dgv.Columns(39).Visible = True : 清單2_dgv.Columns(40).Visible = True
  419. 清單2_dgv.Columns(41).Visible = True
  420. End If
  421. 清單2_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  422. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  423. 清單2_dgv("年份", i).Value = Strings.Left(清單2_dgv("交期開始", i).Value.ToString, 4)
  424. Next
  425. End Sub
  426. Private Sub Set_grid1()
  427. 未完成流水號清單_dgv.Columns(0).FillWeight = 100
  428. End Sub
  429. Private Sub Set_自動彙總1()
  430. LAND總雙數_tb.Text = "0" : FIRST總雙數_tb.Text = "0" : 合計總雙數_tb.Text = "0" : LAND銷售金額_tb.Text = "0" : FIRST銷售金額_tb.Text = "0" : 合計銷售金額_tb.Text = "0"
  431. LAND客戶付款_tb.Text = "0" : COST客戶付款_tb.Text = "0" : 合計客戶付款_tb.Text = "0" : LAND未收款項_tb.Text = "0" : COST未收款項_tb.Text = "0" : 合計未收款項_tb.Text = "0"
  432. LAND預收款項_tb.Text = "0" : COST預收款項_tb.Text = "0" : 合計預收款項_tb.Text = "0" : LAND成本金額_tb.Text = "0" : COST成本金額_tb.Text = "0" : 合計成本金額_tb.Text = "0"
  433. LAND利潤_tb.Text = "0" : COST利潤_tb.Text = "0" : 合計利潤_tb.Text = "0" : LAND實際收款_tb.Text = "0" : COST實際收款_tb.Text = "0" : 總實際收款_tb.Text = "0"
  434. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  435. If 清單1_dgv("Discount price", i).Value.ToString = "" Then : 清單1_dgv("Discount price", i).Value = 0 : End If
  436. If 清單1_dgv("Commercial invoice", i).Value.ToString = "" Then : 清單1_dgv("Commercial invoice", i).Value = 0 : End If
  437. If 清單1_dgv("Mold cost", i).Value.ToString = "" Then : 清單1_dgv("Mold cost", i).Value = 0 : End If
  438. If 清單1_dgv("Fty price", i).Value.ToString = "" Then : 清單1_dgv("Fty price", i).Value = 0 : End If
  439. 清單1_dgv("銷售金額", i).Value = Double.Parse(清單1_dgv("單價", i).Value.ToString) * Double.Parse(清單1_dgv("訂單數量", i).Value)
  440. 清單1_dgv("Discount price", i).Value = Double.Parse(清單1_dgv("單價", i).Value.ToString)
  441. 清單1_dgv("Overage invoice", i).Value = Double.Parse(清單1_dgv("Discount price", i).Value.ToString) - Double.Parse(清單1_dgv("Commercial invoice", i).Value)
  442. 清單1_dgv("Collected mold cost", i).Value = Double.Parse(清單1_dgv("Mold cost", i).Value.ToString) * Double.Parse(清單1_dgv("訂單數量", i).Value)
  443. If Double.Parse(清單1_dgv("Discount price", i).Value.ToString) - Double.Parse(清單1_dgv("Mold cost", i).Value) = 0 Then
  444. 清單1_dgv("Profit", i).Value = 0
  445. Else
  446. 清單1_dgv("Profit", i).Value = (Double.Parse(清單1_dgv("Discount price", i).Value.ToString) - Double.Parse(清單1_dgv("Mold cost", i).Value) -
  447. Double.Parse(清單1_dgv("Fty price", i).Value)) / (Double.Parse(清單1_dgv("Discount price", i).Value.ToString) -
  448. Double.Parse(清單1_dgv("Mold cost", i).Value)) * 100
  449. End If
  450. 清單1_dgv("Commission", i).Value = (Double.Parse(清單1_dgv("單價", i).Value.ToString) - Double.Parse(清單1_dgv("Fty price", i).Value) -
  451. Double.Parse(清單1_dgv("Mold cost", i).Value)) * Double.Parse(清單1_dgv("訂單數量", i).Value)
  452. 清單1_dgv("客戶付款", i).Value = Double.Parse(清單1_dgv("Commercial invoice", i).Value.ToString) * Double.Parse(清單1_dgv("訂單數量", i).Value)
  453. 清單1_dgv("未收款項", i).Value = Double.Parse(清單1_dgv("Overage invoice", i).Value.ToString) * Double.Parse(清單1_dgv("訂單數量", i).Value)
  454. 清單1_dgv("預收款項", i).Value = 0
  455. 清單1_dgv("成本金額", i).Value = (Double.Parse(清單1_dgv("Fty price", i).Value.ToString) + Double.Parse(清單1_dgv("Mold cost", i).Value)) *
  456. Double.Parse(清單1_dgv("訂單數量", i).Value)
  457. 清單1_dgv("利潤", i).Value = (Double.Parse(清單1_dgv("銷售金額", i).Value.ToString) - Double.Parse(清單1_dgv("成本金額", i).Value))
  458. 清單1_dgv("實際收款", i).Value = (Double.Parse(清單1_dgv("利潤", i).Value.ToString) - Double.Parse(清單1_dgv("未收款項", i).Value))
  459. LAND總雙數_tb.Text = Val(LAND總雙數_tb.Text) + Double.Parse(清單1_dgv("訂單數量", i).Value)
  460. LAND銷售金額_tb.Text = Val(LAND銷售金額_tb.Text) + Double.Parse(清單1_dgv("銷售金額", i).Value)
  461. LAND客戶付款_tb.Text = Val(LAND客戶付款_tb.Text) + Double.Parse(清單1_dgv("客戶付款", i).Value)
  462. LAND未收款項_tb.Text = Val(LAND未收款項_tb.Text) + Double.Parse(清單1_dgv("未收款項", i).Value)
  463. LAND預收款項_tb.Text = Val(LAND預收款項_tb.Text) + Double.Parse(清單1_dgv("預收款項", i).Value)
  464. LAND成本金額_tb.Text = Val(LAND成本金額_tb.Text) + Double.Parse(清單1_dgv("成本金額", i).Value)
  465. LAND利潤_tb.Text = Val(LAND利潤_tb.Text) + Double.Parse(清單1_dgv("利潤", i).Value)
  466. LAND實際收款_tb.Text = Val(LAND實際收款_tb.Text) + Double.Parse(清單1_dgv("實際收款", i).Value)
  467. Next
  468. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  469. If 清單2_dgv("Discount price", i).Value.ToString = "" Then : 清單2_dgv("Discount price", i).Value = 0 : End If
  470. If 清單2_dgv("Commercial invoice", i).Value.ToString = "" Then : 清單2_dgv("Commercial invoice", i).Value = 0 : End If
  471. If 清單2_dgv("Mold cost", i).Value.ToString = "" Then : 清單2_dgv("Mold cost", i).Value = 0 : End If
  472. If 清單2_dgv("Fty price", i).Value.ToString = "" Then : 清單2_dgv("Fty price", i).Value = 0 : End If
  473. If 清單2_dgv("Selling price", i).Value.ToString = "" Then : 清單2_dgv("Selling price", i).Value = 0 : End If
  474. 清單2_dgv("銷售金額", i).Value = Double.Parse(清單2_dgv("單價", i).Value.ToString) * Double.Parse(清單2_dgv("訂單數量", i).Value)
  475. 清單2_dgv("Discount price", i).Value = Double.Parse(清單2_dgv("單價", i).Value.ToString)
  476. 清單2_dgv("Overage invoice", i).Value = Double.Parse(清單2_dgv("Discount price", i).Value.ToString) - Double.Parse(清單2_dgv("Commercial invoice", i).Value)
  477. 清單2_dgv("Collected mold cost", i).Value = Double.Parse(清單2_dgv("Mold cost", i).Value.ToString) * Double.Parse(清單2_dgv("訂單數量", i).Value)
  478. If Double.Parse(清單2_dgv("Discount price", i).Value.ToString) - Double.Parse(清單2_dgv("Mold cost", i).Value) = 0 Then
  479. 清單2_dgv("Profit", i).Value = 0
  480. Else
  481. 清單2_dgv("Profit", i).Value = (Double.Parse(清單2_dgv("Discount price", i).Value.ToString) - Double.Parse(清單2_dgv("Mold cost", i).Value) -
  482. Double.Parse(清單2_dgv("Fty price", i).Value)) / (Double.Parse(清單2_dgv("Discount price", i).Value.ToString) -
  483. Double.Parse(清單2_dgv("Mold cost", i).Value)) * 100
  484. End If
  485. 清單2_dgv("Commission", i).Value = (Double.Parse(清單2_dgv("單價", i).Value.ToString) - Double.Parse(清單2_dgv("Fty price", i).Value) -
  486. Double.Parse(清單2_dgv("Mold cost", i).Value)) * Double.Parse(清單2_dgv("訂單數量", i).Value)
  487. 清單2_dgv("客戶付款", i).Value = Double.Parse(清單2_dgv("Selling price", i).Value.ToString) * Double.Parse(清單2_dgv("訂單數量", i).Value)
  488. 清單2_dgv("未收款項", i).Value = 0
  489. If 清單2_dgv("Selling price", i).Value = 0 Then : 清單2_dgv("預收款項", i).Value = 0 : Else
  490. 清單2_dgv("預收款項", i).Value = (Double.Parse(清單2_dgv("Selling price", i).Value.ToString) - Double.Parse(清單2_dgv("Discount price", i).Value)) *
  491. Double.Parse(清單2_dgv("訂單數量", i).Value)
  492. End If
  493. 清單2_dgv("成本金額", i).Value = (Double.Parse(清單2_dgv("Fty price", i).Value.ToString) + Double.Parse(清單2_dgv("Mold cost", i).Value)) *
  494. Double.Parse(清單2_dgv("訂單數量", i).Value)
  495. 清單2_dgv("利潤", i).Value = (Double.Parse(清單2_dgv("銷售金額", i).Value.ToString) - Double.Parse(清單2_dgv("成本金額", i).Value))
  496. 清單2_dgv("實際收款", i).Value = (Double.Parse(清單2_dgv("利潤", i).Value.ToString) + Double.Parse(清單2_dgv("預收款項", i).Value))
  497. FIRST總雙數_tb.Text = Val(FIRST總雙數_tb.Text) + Double.Parse(清單2_dgv("訂單數量", i).Value)
  498. FIRST銷售金額_tb.Text = Val(FIRST銷售金額_tb.Text) + Double.Parse(清單2_dgv("銷售金額", i).Value)
  499. COST客戶付款_tb.Text = Val(COST客戶付款_tb.Text) + Double.Parse(清單2_dgv("客戶付款", i).Value)
  500. COST未收款項_tb.Text = Val(COST未收款項_tb.Text) + Double.Parse(清單2_dgv("未收款項", i).Value)
  501. COST預收款項_tb.Text = Val(COST預收款項_tb.Text) + Double.Parse(清單2_dgv("預收款項", i).Value)
  502. COST成本金額_tb.Text = Val(COST成本金額_tb.Text) + Double.Parse(清單2_dgv("成本金額", i).Value)
  503. COST利潤_tb.Text = Val(COST利潤_tb.Text) + Double.Parse(清單2_dgv("利潤", i).Value) : COST實際收款_tb.Text = Val(COST實際收款_tb.Text) + Double.Parse(清單2_dgv("實際收款", i).Value)
  504. Next
  505. 合計總雙數_tb.Text = Val(FIRST總雙數_tb.Text) + Val(LAND總雙數_tb.Text) : 合計銷售金額_tb.Text = Val(LAND銷售金額_tb.Text) + Val(FIRST銷售金額_tb.Text)
  506. 合計客戶付款_tb.Text = Val(LAND客戶付款_tb.Text) + Val(COST客戶付款_tb.Text) : 合計未收款項_tb.Text = Val(LAND未收款項_tb.Text) + Val(COST未收款項_tb.Text)
  507. 合計預收款項_tb.Text = Val(LAND預收款項_tb.Text) + Val(COST預收款項_tb.Text) : 合計成本金額_tb.Text = Val(LAND成本金額_tb.Text) + Val(COST成本金額_tb.Text)
  508. 合計利潤_tb.Text = Val(LAND利潤_tb.Text) + Val(COST利潤_tb.Text) : 總實際收款_tb.Text = Val(LAND實際收款_tb.Text) + Val(COST實際收款_tb.Text)
  509. 應收應付_tb.Text = Val(合計預收款項_tb.Text) - Val(合計未收款項_tb.Text)
  510. If Val(LAND實際收款_tb.Text) >= 0 Then : LAND實際收款_tb.ForeColor = Color.Blue : Else : LAND實際收款_tb.ForeColor = Color.Red : End If
  511. If Val(COST實際收款_tb.Text) >= 0 Then : COST實際收款_tb.ForeColor = Color.Blue : Else : COST實際收款_tb.ForeColor = Color.Red : End If
  512. If Val(總實際收款_tb.Text) >= 0 Then : 總實際收款_tb.ForeColor = Color.Blue : Else : 總實際收款_tb.ForeColor = Color.Red : End If
  513. If Val(應收應付_tb.Text) >= 0 Then : 應收應付_tb.ForeColor = Color.Blue : Else : 應收應付_tb.ForeColor = Color.Red : End If
  514. LAND總雙數_tb.Text = Strings.Format(Val(LAND總雙數_tb.Text), "#,##0") : FIRST總雙數_tb.Text = Strings.Format(Val(FIRST總雙數_tb.Text), "#,##0")
  515. 合計總雙數_tb.Text = Strings.Format(Val(合計總雙數_tb.Text), "#,##0") : 合計銷售金額_tb.Text = Strings.Format(Val(合計銷售金額_tb.Text), "#,##0.00")
  516. LAND銷售金額_tb.Text = Strings.Format(Val(LAND銷售金額_tb.Text), "#,##0.00") : FIRST銷售金額_tb.Text = Strings.Format(Val(FIRST銷售金額_tb.Text), "#,##0.00")
  517. LAND客戶付款_tb.Text = Strings.Format(Val(LAND客戶付款_tb.Text), "#,##0.00") : COST客戶付款_tb.Text = Strings.Format(Val(COST客戶付款_tb.Text), "#,##0.00")
  518. LAND未收款項_tb.Text = Strings.Format(Val(LAND未收款項_tb.Text), "#,##0.00") : COST未收款項_tb.Text = Strings.Format(Val(COST未收款項_tb.Text), "#,##0.00")
  519. 合計未收款項_tb.Text = Strings.Format(Val(合計未收款項_tb.Text), "#,##0.00") : 合計客戶付款_tb.Text = Strings.Format(Val(合計客戶付款_tb.Text), "#,##0.00")
  520. LAND預收款項_tb.Text = Strings.Format(Val(LAND預收款項_tb.Text), "#,##0.00") : COST預收款項_tb.Text = Strings.Format(Val(COST預收款項_tb.Text), "#,##0.00")
  521. 合計預收款項_tb.Text = Strings.Format(Val(合計預收款項_tb.Text), "#,##0.00") : 合計成本金額_tb.Text = Strings.Format(Val(合計成本金額_tb.Text), "#,##0.00")
  522. LAND成本金額_tb.Text = Strings.Format(Val(LAND成本金額_tb.Text), "#,##0.00") : COST成本金額_tb.Text = Strings.Format(Val(COST成本金額_tb.Text), "#,##0.00")
  523. LAND利潤_tb.Text = Strings.Format(Val(LAND利潤_tb.Text), "#,##0.00") : COST利潤_tb.Text = Strings.Format(Val(COST利潤_tb.Text), "#,##0.00")
  524. 合計利潤_tb.Text = Strings.Format(Val(合計利潤_tb.Text), "#,##0.00") : 總實際收款_tb.Text = Strings.Format(Val(總實際收款_tb.Text), "#,##0.00")
  525. LAND實際收款_tb.Text = Strings.Format(Val(LAND實際收款_tb.Text), "#,##0.00") : COST實際收款_tb.Text = Strings.Format(Val(COST實際收款_tb.Text), "#,##0.00")
  526. 應收應付_tb.Text = Strings.Format(Val(應收應付_tb.Text), "#,##0.00")
  527. End Sub
  528. Private Sub Set_格式()
  529. 訂單流水號_tb.Enabled = False : 客戶訂單號_tb.Enabled = False : 形體號碼_tb.Enabled = False : 顏色_tb.Enabled = False : 楦型_tb.Enabled = False
  530. 資料流水號_tb.Visible = False : 利潤表流水號_tb.Visible = False
  531. 存檔_bt.Enabled = False : Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False : 刪除_bt.Enabled = True : 修改_bt.Enabled = True
  532. 等於訂單數_bt.Enabled = False : 等於零_bt.Enabled = False : 匯率為1_bt.Enabled = False
  533. End Sub
  534. Private Sub 訂單價格利潤明細表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  535. WINPROFIT_ERP_SYS.WindowState = 2 : Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  536. 年份_cb.Text = Year(Today) : 訂單屬性_cb.SelectedIndex = 0 : Currency_cb.SelectedIndex = 0
  537. BB(0) = True : BB(1) = False : BB(2) = False : BB(3) = False
  538. 成本組成_bt.Enabled = False : TextBox18.Visible = False
  539. Set_訂單清單1() : Set_訂單清單2() : Set_grid() : Set_grid3() : Set_未建檔清單() : Set_grid1() : Set_自動彙總1() : Set_格式()
  540. End Sub
  541. Private Sub ComboBox10_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 訂單屬性_cb.TextChanged
  542. If 訂單屬性_cb.Text = "LANDED BRANDED" Then
  543. 清單1_dgv.Visible = True : 清單2_dgv.Visible = False
  544. Else
  545. 清單1_dgv.Visible = False : 清單2_dgv.Visible = True
  546. End If
  547. Set_未建檔清單() : Set_自動彙總1()
  548. End Sub
  549. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  550. If 資料尚未存檔_lb.Visible = True Then : 資料尚未存檔_lb.Visible = False : Else : 資料尚未存檔_lb.Visible = True : End If
  551. End Sub
  552. Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles 清單1_dgv.CellEndEdit
  553. Set_自動彙總1()
  554. End Sub
  555. Private Sub DataGridView3_CellEndEdit(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles 清單2_dgv.CellEndEdit
  556. Set_自動彙總1()
  557. End Sub
  558. Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles 清單1_dgv.CellClick
  559. If e.RowIndex = -1 Then : Else
  560. 訂單流水號_tb.Text = 清單1_dgv("訂單流水號", e.RowIndex).Value.ToString : 客戶訂單號_tb.Text = 清單1_dgv("客戶訂單號", e.RowIndex).Value.ToString
  561. 形體號碼_tb.Text = 清單1_dgv("型體號碼", e.RowIndex).Value.ToString : 顏色_tb.Text = 清單1_dgv("顏色", e.RowIndex).Value.ToString
  562. 楦型_tb.Text = 清單1_dgv("楦型", e.RowIndex).Value.ToString : 資料流水號_tb.Text = 清單1_dgv("資料流水號", e.RowIndex).Value.ToString
  563. 年份_cb.Text = 清單1_dgv("年份", e.RowIndex).Value.ToString : Currency_cb.Text = 清單1_dgv("Currency", e.RowIndex).Value.ToString
  564. 利潤表流水號_tb.Text = 清單1_dgv("利潤表流水號", e.RowIndex).Value.ToString
  565. End If
  566. End Sub
  567. Private Sub DataGridView3_CellClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles 清單2_dgv.CellClick
  568. If e.RowIndex = -1 Then : Else
  569. 訂單流水號_tb.Text = 清單2_dgv("訂單流水號", e.RowIndex).Value.ToString : 客戶訂單號_tb.Text = 清單2_dgv("客戶訂單號", e.RowIndex).Value.ToString
  570. 形體號碼_tb.Text = 清單2_dgv("型體號碼", e.RowIndex).Value.ToString : 顏色_tb.Text = 清單2_dgv("顏色", e.RowIndex).Value.ToString
  571. 楦型_tb.Text = 清單2_dgv("楦型", e.RowIndex).Value.ToString : 資料流水號_tb.Text = 清單2_dgv("資料流水號", e.RowIndex).Value.ToString
  572. 年份_cb.Text = 清單2_dgv("年份", e.RowIndex).Value.ToString : Currency_cb.Text = 清單2_dgv("Currency", e.RowIndex).Value.ToString
  573. 利潤表流水號_tb.Text = 清單2_dgv("利潤表流水號", e.RowIndex).Value.ToString
  574. End If
  575. End Sub
  576. Private Sub DataGridView2_CellClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles 未完成流水號清單_dgv.CellClick
  577. If e.RowIndex = -1 Then : Else
  578. 訂單流水號_tb.Text = 未完成流水號清單_dgv(0, e.RowIndex).Value.ToString
  579. Timer1.Enabled = True : 存檔_bt.Enabled = True : 未建檔_ch.Checked = True : 已建檔_ch.Checked = False : 刪除_bt.Enabled = False : 修改_bt.Enabled = False
  580. 等於訂單數_bt.Enabled = True : 等於零_bt.Enabled = True : 匯率為1_bt.Enabled = True
  581. Set_訂單清單1() : Set_訂單清單2()
  582. End If
  583. End Sub
  584. Private Sub Button10_Click(sender As Object, e As EventArgs) Handles 拆分一筆資料_bt.Click
  585. If 未建檔_ch.Checked = True Then
  586. If 資料流水號_tb.Text = "" Or 訂單流水號_tb.Text = "" Then
  587. MsgBox("沒有選擇將要拆分的資料")
  588. Else
  589. Dim NUM2 As Integer
  590. SQL_最後一筆利潤表流水號()
  591. If dr.Read() Then : NUM2 = Strings.Right(dr("利潤表流水號").ToString, 8) : End If
  592. conn.Close()
  593. NUM2 += 1
  594. If NUM2 < 10 Then : WW = "PR" & "0000000" & NUM2
  595. ElseIf NUM2 > 9 And NUM2 < 100 Then : WW = "PR" & "000000" & NUM2
  596. ElseIf NUM2 > 99 And NUM2 < 1000 Then : WW = "PR" & "00000" & NUM2
  597. ElseIf NUM2 > 999 And NUM2 < 10000 Then : WW = "PR" & "0000" & NUM2
  598. ElseIf NUM2 > 9999 And NUM2 < 100000 Then : WW = "PR" & "000" & NUM2
  599. ElseIf NUM2 > 99999 And NUM2 < 100000 Then : WW = "PR" & "00" & NUM2
  600. ElseIf NUM2 > 999999 And NUM2 < 1000000 Then : WW = "PR" & "0" & NUM2
  601. ElseIf NUM2 > 9999999 Then : WW = "PR" & NUM2
  602. End If
  603. SQL_新增訂單價格利潤表暫存檔2() : conn.Close()
  604. Set_編輯清單1() : Set_編輯清單2() : Set_grid() : Set_grid3() : Set_自動彙總1()
  605. End If
  606. ElseIf 未建檔_ch.Checked = False Then
  607. Dim NUM2 As Integer
  608. SQL_最後一筆利潤表流水號1()
  609. If dr.Read() Then : NUM2 = Strings.Right(dr("利潤表流水號").ToString, 8) : End If
  610. conn.Close()
  611. NUM2 += 1
  612. If NUM2 < 10 Then : WW = "PR" & "0000000" & NUM2
  613. ElseIf NUM2 > 9 And NUM2 < 100 Then : WW = "PR" & "000000" & NUM2
  614. ElseIf NUM2 > 99 And NUM2 < 1000 Then : WW = "PR" & "00000" & NUM2
  615. ElseIf NUM2 > 999 And NUM2 < 10000 Then : WW = "PR" & "0000" & NUM2
  616. ElseIf NUM2 > 9999 And NUM2 < 100000 Then : WW = "PR" & "000" & NUM2
  617. ElseIf NUM2 > 99999 And NUM2 < 100000 Then : WW = "PR" & "00" & NUM2
  618. ElseIf NUM2 > 999999 And NUM2 < 1000000 Then : WW = "PR" & "0" & NUM2
  619. ElseIf NUM2 > 9999999 Then : WW = "PR" & NUM2
  620. End If
  621. SQL_新增訂單價格利潤明細表() : conn.Close()
  622. Set_訂單清單1() : Set_訂單清單2() : Set_grid() : Set_grid3() : Set_自動彙總1()
  623. End If
  624. End Sub
  625. Private Sub Button15_Click(sender As Object, e As EventArgs) Handles 刪除拆分資料_bt.Click
  626. If 未建檔_ch.Checked = True Then
  627. SQL_刪除拆分資料() : conn.Close()
  628. Set_編輯清單1() : Set_編輯清單2() : Set_grid() : Set_grid3() : Set_自動彙總1()
  629. ElseIf 未建檔_ch.Checked = False Then
  630. SQL_刪除拆分資料1() : conn.Close()
  631. Set_訂單清單1() : Set_訂單清單2() : Set_grid() : Set_grid3() : Set_自動彙總1()
  632. End If
  633. End Sub
  634. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 清單1_dgv.RowPostPaint
  635. Dim linePen As New Pen(Color.Blue, 2)
  636. If e.RowIndex = 清單1_dgv.Rows.Count - 1 Then
  637. Exit Sub
  638. Else
  639. If 清單1_dgv(2, e.RowIndex).Value.ToString <> 清單1_dgv(2, e.RowIndex + 1).Value.ToString Then
  640. Dim startX As Integer = IIf(清單1_dgv.RowHeadersVisible, 清單1_dgv.RowHeadersWidth, 0)
  641. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  642. Dim endX As Integer = startX + 清單1_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 清單1_dgv.HorizontalScrollingOffset
  643. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  644. Exit Sub
  645. End If
  646. End If
  647. End Sub
  648. Private Sub DataGridView3_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 清單2_dgv.RowPostPaint
  649. Dim linePen As New Pen(Color.Blue, 2)
  650. If e.RowIndex = 清單2_dgv.Rows.Count - 1 Then
  651. Exit Sub
  652. Else
  653. If 清單2_dgv(2, e.RowIndex).Value.ToString <> 清單2_dgv(2, e.RowIndex + 1).Value.ToString Then
  654. Dim startX As Integer = IIf(清單2_dgv.RowHeadersVisible, 清單2_dgv.RowHeadersWidth, 0)
  655. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  656. Dim endX As Integer = startX + 清單2_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 清單2_dgv.HorizontalScrollingOffset
  657. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  658. Exit Sub
  659. End If
  660. End If
  661. End Sub
  662. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 返回_bt.Click
  663. PA = ""
  664. 未建檔_ch.Checked = False : 已建檔_ch.Checked = True : 訂單流水號_tb.Text = ""
  665. Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False : 存檔_bt.Enabled = False : 刪除_bt.Enabled = True : 修改_bt.Enabled = True
  666. 等於訂單數_bt.Enabled = False : 等於零_bt.Enabled = False : 匯率為1_bt.Enabled = False
  667. Set_訂單清單1() : Set_訂單清單2() : Set_grid() : Set_grid3() : Set_未建檔清單() : Set_grid1() : Set_自動彙總1()
  668. End Sub
  669. Private Sub Button34_Click(sender As Object, e As EventArgs) Handles 成本組成_bt.Click
  670. 成本組成_bt.Enabled = False : 利潤拆分_bt.Enabled = True : 匯總分頁_bt.Enabled = True
  671. BB(0) = True : BB(1) = False : BB(2) = False : BB(3) = False
  672. Set_grid() : Set_grid3()
  673. End Sub
  674. Private Sub Button35_Click(sender As Object, e As EventArgs) Handles 利潤拆分_bt.Click
  675. 成本組成_bt.Enabled = True : 利潤拆分_bt.Enabled = False : 匯總分頁_bt.Enabled = True
  676. BB(0) = False : BB(1) = True : BB(2) = False : BB(3) = False
  677. Set_grid() : Set_grid3()
  678. End Sub
  679. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 匯總分頁_bt.Click
  680. 成本組成_bt.Enabled = True : 利潤拆分_bt.Enabled = True : 匯總分頁_bt.Enabled = False
  681. BB(0) = False : BB(1) = False : BB(2) = True : BB(3) = False
  682. Set_grid() : Set_grid3()
  683. End Sub
  684. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 關鍵字查詢_bt.Click
  685. PA = InputBox("請輸入要查詢的資料") : 訂單流水號_tb.Text = ""
  686. If 訂單屬性_cb.Text = "LANDED BRANDED" Then
  687. Set_訂單清單1() : Set_grid() : Set_自動彙總1()
  688. Else
  689. Set_訂單清單2() : Set_grid3() : Set_自動彙總1()
  690. End If
  691. End Sub
  692. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles 未建檔_ch.Click
  693. 未建檔_ch.Checked = True : 已建檔_ch.Checked = False
  694. End Sub
  695. Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles 已建檔_ch.Click
  696. 未建檔_ch.Checked = False : 已建檔_ch.Checked = True
  697. End Sub
  698. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles 重新讀取_bt.Click
  699. Set_未建檔清單() : Set_grid1()
  700. End Sub
  701. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  702. If 年份_cb.Text = "" Or Currency_cb.Text = "" Then
  703. MsgBox("年份或幣別沒有選擇")
  704. Else
  705. If 訂單屬性_cb.Text = "LANDED BRANDED" Then
  706. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  707. 資料數 = 清單1_dgv.Rows.Count : 進度條()
  708. PA = 清單1_dgv.Rows(i).Cells("資料流水號").Value
  709. SQL_查閱利潤表流水號()
  710. If dr.Read() Then
  711. conn.Close()
  712. Else
  713. PA1 = 清單1_dgv.Rows(i).Cells("銷售金額").Value : PA = 清單1_dgv.Rows(i).Cells("資料流水號").Value
  714. PA3 = 清單1_dgv.Rows(i).Cells("單價").Value
  715. SQL_更改訂單控制表5() : conn.Close()
  716. '----------------------------------------------------------------------------------------------------------
  717. PA2 = 清單1_dgv.Rows(i).Cells("訂單流水號").Value
  718. PA4 = 清單1_dgv.Rows(i).Cells("客戶訂單號").Value : PA5 = 清單1_dgv.Rows(i).Cells("利潤表流水號").Value
  719. PA6 = 清單1_dgv.Rows(i).Cells("Quantity").Value : PA7 = 清單1_dgv.Rows(i).Cells("Exchange").Value
  720. PA8 = 清單1_dgv.Rows(i).Cells("審核").Value : PA9 = 清單1_dgv.Rows(i).Cells("Price").Value
  721. PA10 = 清單1_dgv.Rows(i).Cells("Discount price").Value : PA11 = 清單1_dgv.Rows(i).Cells("Commercial invoice").Value
  722. PA12 = 清單1_dgv.Rows(i).Cells("Overage invoice").Value : PA13 = 清單1_dgv.Rows(i).Cells("Selling price").Value
  723. PA14 = 清單1_dgv.Rows(i).Cells("HTS code").Value : PA15 = 清單1_dgv.Rows(i).Cells("Remark1").Value
  724. PA16 = 清單1_dgv.Rows(i).Cells("Fty price").Value : PA17 = 清單1_dgv.Rows(i).Cells("Mold cost").Value
  725. PA18 = 清單1_dgv.Rows(i).Cells("Collected mold cost").Value : PA19 = 清單1_dgv.Rows(i).Cells("Amortization qty").Value
  726. PA20 = 清單1_dgv.Rows(i).Cells("Profit").Value : PA21 = 清單1_dgv.Rows(i).Cells("Commission").Value
  727. PA22 = 清單1_dgv.Rows(i).Cells("Remark2").Value
  728. SQL_新增訂單價格利潤明細表1() : conn.Close()
  729. End If
  730. Next i : ProgressBar1.Value = 0 : 最終數 = 0
  731. Else
  732. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  733. 資料數 = 清單2_dgv.Rows.Count : 進度條()
  734. PA = 清單2_dgv.Rows(i).Cells("資料流水號").Value
  735. SQL_查詢利潤表流水號()
  736. If dr.Read() Then
  737. conn.Close()
  738. Else
  739. PA = 清單2_dgv.Rows(i).Cells("單價").Value : PA1 = 清單2_dgv.Rows(i).Cells("銷售金額").Value
  740. PA3 = 清單2_dgv.Rows(i).Cells("資料流水號").Value
  741. SQL_更改訂單控制表8() : conn.Close()
  742. '--------------------------------------------------------------------------------------------------
  743. PA4 = 清單2_dgv.Rows(i).Cells("訂單流水號").Value
  744. PA5 = 清單2_dgv.Rows(i).Cells("客戶訂單號").Value : PA6 = 清單2_dgv.Rows(i).Cells("利潤表流水號").Value
  745. PA7 = 清單2_dgv.Rows(i).Cells("Quantity").Value : PA8 = 清單2_dgv.Rows(i).Cells("Exchange").Value
  746. PA9 = 清單2_dgv.Rows(i).Cells("審核").Value : PA10 = 清單2_dgv.Rows(i).Cells("Price").Value
  747. PA11 = 清單2_dgv.Rows(i).Cells("Discount price").Value : PA12 = 清單2_dgv.Rows(i).Cells("Commercial invoice").Value
  748. PA13 = 清單2_dgv.Rows(i).Cells("Overage invoice").Value : PA14 = 清單2_dgv.Rows(i).Cells("Selling price").Value
  749. PA15 = 清單2_dgv.Rows(i).Cells("HTS code").Value : PA16 = 清單2_dgv.Rows(i).Cells("Remark1").Value
  750. PA17 = 清單2_dgv.Rows(i).Cells("Fty price").Value : PA18 = 清單2_dgv.Rows(i).Cells("Mold cost").Value
  751. PA19 = 清單2_dgv.Rows(i).Cells("Collected mold cost").Value : PA20 = 清單2_dgv.Rows(i).Cells("Amortization qty").Value
  752. PA21 = 清單2_dgv.Rows(i).Cells("Profit").Value : PA22 = 清單2_dgv.Rows(i).Cells("Commission").Value
  753. PA23 = 清單2_dgv.Rows(i).Cells("Remark2").Value
  754. SQL_新增訂單價格利潤明細表2() : conn.Close()
  755. End If
  756. Next i : ProgressBar1.Value = 0 : 最終數 = 0
  757. End If
  758. MsgBox("存檔完成")
  759. 未建檔_ch.Checked = False : 已建檔_ch.Checked = True
  760. Set_訂單清單1() : Set_訂單清單2() : Set_grid() : Set_grid3() : Set_未建檔清單() : Set_grid1() : Set_自動彙總1() : Set_格式()
  761. End If
  762. End Sub
  763. Private Sub 進度條()
  764. 平均數 = 10000 / 資料數
  765. 最終數 += 平均數
  766. If 最終數 > 10000 Then : 最終數 = 10000 : End If
  767. ProgressBar1.Value = 最終數
  768. End Sub
  769. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles 修改_bt.Click
  770. If 年份_cb.Text = "" Or Currency_cb.Text = "" Then
  771. MsgBox("年份或幣別沒有選擇")
  772. Else
  773. If 訂單屬性_cb.Text = "LANDED BRANDED" Then
  774. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  775. 資料數 = 清單1_dgv.Rows.Count : 進度條()
  776. PA = 清單1_dgv.Rows(i).Cells("單價").Value : PA1 = 清單1_dgv.Rows(i).Cells("銷售金額").Value
  777. PA2 = 清單1_dgv.Rows(i).Cells("資料流水號").Value
  778. SQL_修改訂單控制表4() : conn.Close()
  779. '---------------------------------------------------------------------------------------------------
  780. PA3 = 清單1_dgv.Rows(i).Cells("年份").Value : PA4 = 清單1_dgv.Rows(i).Cells("Quantity").Value
  781. PA5 = 清單1_dgv.Rows(i).Cells("Exchange").Value : PA6 = 清單1_dgv.Rows(i).Cells("審核").Value
  782. PA7 = 清單1_dgv.Rows(i).Cells("Price").Value : PA8 = 清單1_dgv.Rows(i).Cells("Discount price").Value
  783. PA9 = 清單1_dgv.Rows(i).Cells("Commercial invoice").Value : PA10 = 清單1_dgv.Rows(i).Cells("Overage invoice").Value
  784. PA11 = 清單1_dgv.Rows(i).Cells("Selling price").Value : PA12 = 清單1_dgv.Rows(i).Cells("HTS code").Value
  785. PA13 = 清單1_dgv.Rows(i).Cells("Remark1").Value : PA14 = 清單1_dgv.Rows(i).Cells("Fty price").Value
  786. PA15 = 清單1_dgv.Rows(i).Cells("Mold cost").Value : PA16 = 清單1_dgv.Rows(i).Cells("Collected mold cost").Value
  787. PA17 = 清單1_dgv.Rows(i).Cells("Amortization qty").Value : PA18 = 清單1_dgv.Rows(i).Cells("Profit").Value
  788. PA19 = 清單1_dgv.Rows(i).Cells("Commission").Value : PA20 = 清單1_dgv.Rows(i).Cells("Remark2").Value
  789. PA21 = 清單1_dgv.Rows(i).Cells("利潤表流水號").Value
  790. SQL_更改訂單價格利潤明細表() : conn.Close()
  791. TextBox18.Text = Strings.Format(Val((i / (清單1_dgv.Rows.Count - 1)) * 100), "#,##0.0") & "%"
  792. Next i : ProgressBar1.Value = 0 : 最終數 = 0
  793. Else
  794. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  795. 資料數 = 清單2_dgv.Rows.Count : 進度條()
  796. PA22 = 清單2_dgv.Rows(i).Cells("單價").Value : PA23 = 清單2_dgv.Rows(i).Cells("銷售金額").Value
  797. PA24 = 清單2_dgv.Rows(i).Cells("資料流水號").Value
  798. SQL_更改訂單控制表7() : conn.Close()
  799. '--------------------------------------------------------------------------------------------------
  800. PA = 清單2_dgv.Rows(i).Cells("年份").Value : PA1 = 清單2_dgv.Rows(i).Cells("Quantity").Value
  801. PA2 = 清單2_dgv.Rows(i).Cells("Exchange").Value : PA3 = 清單2_dgv.Rows(i).Cells("審核").Value
  802. PA4 = 清單2_dgv.Rows(i).Cells("Price").Value : PA5 = 清單2_dgv.Rows(i).Cells("Discount price").Value
  803. PA6 = 清單2_dgv.Rows(i).Cells("Commercial invoice").Value : PA7 = 清單2_dgv.Rows(i).Cells("Overage invoice").Value
  804. PA8 = 清單2_dgv.Rows(i).Cells("Selling price").Value : PA9 = 清單2_dgv.Rows(i).Cells("HTS code").Value
  805. PA10 = 清單2_dgv.Rows(i).Cells("Remark1").Value : PA11 = 清單2_dgv.Rows(i).Cells("Fty price").Value
  806. PA12 = 清單2_dgv.Rows(i).Cells("Mold cost").Value : PA13 = 清單2_dgv.Rows(i).Cells("Collected mold cost").Value
  807. PA14 = 清單2_dgv.Rows(i).Cells("Amortization qty").Value : PA15 = 清單2_dgv.Rows(i).Cells("Profit").Value
  808. PA16 = 清單2_dgv.Rows(i).Cells("Commission").Value : PA17 = 清單2_dgv.Rows(i).Cells("Remark2").Value
  809. PA18 = 清單2_dgv.Rows(i).Cells("利潤表流水號").Value
  810. SQL_更改訂單價格利潤明細表1() : conn.Close()
  811. TextBox18.Text = Strings.Format(Val((i / (清單2_dgv.Rows.Count - 1)) * 100), "#,##0.0") & "%"
  812. Next i : ProgressBar1.Value = 0 : 最終數 = 0
  813. End If
  814. MsgBox("修改完成")
  815. 未建檔_ch.Checked = False : 已建檔_ch.Checked = True
  816. Set_訂單清單1() : Set_訂單清單2() : Set_grid() : Set_grid3() : Set_未建檔清單() : Set_grid1() : Set_自動彙總1() : Set_格式()
  817. End If
  818. End Sub
  819. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  820. If 訂單流水號_tb.Text = "" Then
  821. MsgBox("請選擇要刪除的資料")
  822. Else
  823. Dim aa As MsgBoxResult
  824. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  825. If aa = MsgBoxResult.Ok Then
  826. SQL_更改訂單控制表6() : conn.Close()
  827. SQL_刪除訂單價格利潤明細表1() : conn.Close()
  828. MsgBox("刪除完成")
  829. End If
  830. End If
  831. Set_訂單清單1() : Set_訂單清單2() : Set_grid() : Set_grid3() : Set_未建檔清單() : Set_grid1() : Set_自動彙總1() : Set_格式()
  832. End Sub
  833. Private Sub Button12_Click(sender As Object, e As EventArgs) Handles 等於零_bt.Click
  834. If 訂單屬性_cb.Text = "LANDED BRANDED" Then
  835. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1 : 清單1_dgv.Rows(i).Cells("Quantity").Value = 0 : Next i
  836. Else
  837. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1 : 清單2_dgv.Rows(i).Cells("Quantity").Value = 0 : Next i
  838. End If
  839. End Sub
  840. Private Sub Button11_Click(sender As Object, e As EventArgs) Handles 等於訂單數_bt.Click
  841. If 訂單屬性_cb.Text = "LANDED BRANDED" Then
  842. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1 : 清單1_dgv.Rows(i).Cells("Quantity").Value = 清單1_dgv.Rows(i).Cells("訂單數量").Value : Next i
  843. Else
  844. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1 : 清單2_dgv.Rows(i).Cells("Quantity").Value = 清單2_dgv.Rows(i).Cells("訂單數量").Value : Next i
  845. End If
  846. End Sub
  847. Private Sub Button13_Click(sender As Object, e As EventArgs) Handles 匯率為1_bt.Click
  848. If 訂單屬性_cb.Text = "LANDED BRANDED" Then
  849. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1 : 清單1_dgv.Rows(i).Cells("Exchange").Value = 1 : Next i
  850. Else
  851. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1 : 清單2_dgv.Rows(i).Cells("Exchange").Value = 1 : Next i
  852. End If
  853. End Sub
  854. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Currency_cb.SelectedIndexChanged
  855. If 訂單屬性_cb.Text = "LANDED BRANDED" Then
  856. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1 : 清單1_dgv.Rows(i).Cells("Currency").Value = Currency_cb.Text : Next i
  857. Else
  858. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1 : 清單2_dgv.Rows(i).Cells("Currency").Value = Currency_cb.Text : Next i
  859. End If
  860. End Sub
  861. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年份_cb.SelectedIndexChanged
  862. If 訂單屬性_cb.Text = "LANDED BRANDED" Then
  863. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1 : 清單1_dgv.Rows(i).Cells("年份").Value = 年份_cb.Text : Next i
  864. Else
  865. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1 : 清單2_dgv.Rows(i).Cells("年份").Value = 年份_cb.Text : Next i
  866. End If
  867. End Sub
  868. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
  869. If 列印用SQL = "" Then : MsgBox("請先搜尋資料後再行列印")
  870. Else
  871. xlApp = CType(CreateObject("Excel.Application"), Application)
  872. xlBook = xlApp.Workbooks.Add
  873. xlApp.DisplayAlerts = True
  874. xlApp.Visible = True
  875. xlApp.Application.WindowState = xlMaximized
  876. xlSheet = NewMethod(xlBook)
  877. xlApp.Sheets(1).Name = "FIRST COST"
  878. xlBook.Activate() : xlSheet.Activate()
  879. xlSheet.Cells(3, 1) = "BUYER" : xlSheet.Cells(3, 7) = "顏色" : xlSheet.Cells(3, 13) = "銷售金額" : xlSheet.Cells(3, 19) = "Remark1" : xlSheet.Cells(3, 25) = "Commission"
  880. xlSheet.Cells(3, 2) = "年份季度" : xlSheet.Cells(3, 8) = "楦型" : xlSheet.Cells(3, 14) = "備註" : xlSheet.Cells(3, 20) = "Fty price" : xlSheet.Cells(3, 26) = "Remark2"
  881. xlSheet.Cells(3, 3) = "訂單流水號" : xlSheet.Cells(3, 9) = "訂單數量" : xlSheet.Cells(3, 15) = "Price" : xlSheet.Cells(3, 21) = "Mold cost" : xlSheet.Cells(3, 27) = "客戶付款"
  882. xlSheet.Cells(3, 4) = "客戶訂單號" : xlSheet.Cells(3, 10) = "交期開始" : xlSheet.Cells(3, 16) = "Discount price" : xlSheet.Cells(3, 22) = "Collected mold cost" : xlSheet.Cells(3, 28) = "預收款項"
  883. xlSheet.Cells(3, 5) = "型體號碼" : xlSheet.Cells(3, 11) = "交期結束" : xlSheet.Cells(3, 17) = "Selling price" : xlSheet.Cells(3, 23) = "Amortization qty" : xlSheet.Cells(3, 29) = "成本金額"
  884. xlSheet.Cells(3, 6) = "型體名稱" : xlSheet.Cells(3, 12) = "單價" : xlSheet.Cells(3, 18) = "HTS code" : xlSheet.Cells(3, 24) = "Profit" : xlSheet.Cells(3, 30) = "利潤"
  885. xlSheet.Cells(1, 8) = "Total-PRS" : xlSheet.Cells(2, 8) = "=SUBTOTAL(9,I4:I$99999)" : xlSheet.Cells(1, 24) = "Total-Commission" : xlSheet.Cells(2, 24) = "=SUBTOTAL(9,Y4:Y$99999)"
  886. xlSheet.Cells(3, 31) = "實際收款" : xlSheet.Cells(3, 32) = "Currency" : xlSheet.Cells(3, 33) = "Exchange" : xlSheet.Cells(3, 34) = "年份" : xlSheet.Cells(1, 26) = "合計"
  887. xlSheet.Cells(1, 27) = "=SUBTOTAL(9,AA4:AA$99999)" : xlSheet.Cells(1, 28) = "=SUBTOTAL(9,AB4:AB$99999)" : xlSheet.Cells(1, 29) = "=SUBTOTAL(9,AC4:AC$99999)"
  888. xlSheet.Cells(1, 30) = "=SUBTOTAL(9,AD4:AD$99999)" : xlSheet.Cells(1, 31) = "=SUBTOTAL(9,AE4:AE$99999)" : xlSheet.Cells(1, 1) = "FIRST COST"
  889. For i As Integer = 0 To 清單2_dgv.Rows.Count - 1
  890. xlSheet.Cells(i + 4, 1) = 清單2_dgv.Rows(i).Cells("BUYER").Value : xlSheet.Cells(i + 4, 2) = 清單2_dgv.Rows(i).Cells("年份季度").Value
  891. xlSheet.Cells(i + 4, 3) = 清單2_dgv.Rows(i).Cells("訂單流水號").Value : xlSheet.Cells(i + 4, 4) = 清單2_dgv.Rows(i).Cells("客戶訂單號").Value
  892. xlSheet.Cells(i + 4, 5) = 清單2_dgv.Rows(i).Cells("型體號碼").Value : xlSheet.Cells(i + 4, 6) = 清單2_dgv.Rows(i).Cells("型體名稱").Value
  893. xlSheet.Cells(i + 4, 7) = 清單2_dgv.Rows(i).Cells("顏色").Value : xlSheet.Cells(i + 4, 8) = 清單2_dgv.Rows(i).Cells("楦型").Value
  894. xlSheet.Cells(i + 4, 9) = 清單2_dgv.Rows(i).Cells("訂單數量").Value : xlSheet.Cells(i + 4, 10) = 清單2_dgv.Rows(i).Cells("交期開始").Value
  895. xlSheet.Cells(i + 4, 11) = 清單2_dgv.Rows(i).Cells("交期結束").Value : xlSheet.Cells(i + 4, 12) = 清單2_dgv.Rows(i).Cells("單價").Value
  896. xlSheet.Cells(i + 4, 13) = 清單2_dgv.Rows(i).Cells("銷售金額").Value : xlSheet.Cells(i + 4, 14) = 清單2_dgv.Rows(i).Cells("備註").Value
  897. xlSheet.Cells(i + 4, 15) = 清單2_dgv.Rows(i).Cells("Price").Value : xlSheet.Cells(i + 4, 16) = 清單2_dgv.Rows(i).Cells("Discount price").Value
  898. xlSheet.Cells(i + 4, 17) = 清單2_dgv.Rows(i).Cells("Selling price").Value : xlSheet.Cells(i + 4, 18) = 清單2_dgv.Rows(i).Cells("HTS code").Value
  899. xlSheet.Cells(i + 4, 19) = 清單2_dgv.Rows(i).Cells("Remark1").Value : xlSheet.Cells(i + 4, 20) = 清單2_dgv.Rows(i).Cells("Fty price").Value
  900. xlSheet.Cells(i + 4, 21) = 清單2_dgv.Rows(i).Cells("Mold cost").Value : xlSheet.Cells(i + 4, 22) = "=U" & i + 4 & "*I" & i + 4
  901. xlSheet.Cells(i + 4, 23) = 清單2_dgv.Rows(i).Cells("Amortization qty").Value
  902. xlSheet.Cells(i + 4, 24) = "=IF((P" & i + 4 & "-U" & i + 4 & ")=0,0,(P" & i + 4 & "-T" & i + 4 & "-U" & i + 4 & ")/(P" & i + 4 & "-U" & i + 4 & "))"
  903. xlSheet.Cells(i + 4, 25) = "=(P" & i + 4 & "-T" & i + 4 & "-U" & i + 4 & ")*I" & i + 4 : xlSheet.Cells(i + 4, 26) = 清單2_dgv.Rows(i).Cells("Remark2").Value
  904. xlSheet.Cells(i + 4, 27) = "=Q" & i + 4 & "*I" & i + 4 : xlSheet.Cells(i + 4, 28) = "=(Q" & i + 4 & "-P" & i + 4 & ")*I" & i + 4
  905. xlSheet.Cells(i + 4, 29) = "=(T" & i + 4 & "+U" & i + 4 & ")*I" & i + 4 : xlSheet.Cells(i + 4, 30) = "=M" & i + 4 & "-AC" & i + 4
  906. xlSheet.Cells(i + 4, 31) = "=AA" & i + 4 & "-AC" & i + 4 : xlSheet.Cells(i + 4, 32) = 清單2_dgv.Rows(i).Cells("Currency").Value
  907. xlSheet.Cells(i + 4, 33) = 清單2_dgv.Rows(i).Cells("Exchange").Value : xlSheet.Cells(i + 4, 34) = 清單2_dgv.Rows(i).Cells("年份").Value
  908. N1 = i
  909. Next i
  910. CC(xlApp, xlSheet)
  911. xlSheet = NewMethod(xlBook)
  912. xlApp.Sheets(1).Name = "LANDED BRANDED"
  913. xlBook.Activate() : xlSheet.Activate()
  914. xlSheet.Cells(3, 1) = "BUYER" : xlSheet.Cells(3, 7) = "顏色" : xlSheet.Cells(3, 13) = "銷售金額" : xlSheet.Cells(3, 19) = "Remark1" : xlSheet.Cells(3, 25) = "Commission"
  915. xlSheet.Cells(3, 2) = "年份季度" : xlSheet.Cells(3, 8) = "楦型" : xlSheet.Cells(3, 14) = "備註" : xlSheet.Cells(3, 20) = "Fty price" : xlSheet.Cells(3, 26) = "Remark2"
  916. xlSheet.Cells(3, 3) = "訂單流水號" : xlSheet.Cells(3, 9) = "訂單數量" : xlSheet.Cells(3, 15) = "Price" : xlSheet.Cells(3, 21) = "Mold cost" : xlSheet.Cells(3, 27) = "客戶付款"
  917. xlSheet.Cells(3, 4) = "客戶訂單號" : xlSheet.Cells(3, 10) = "交期開始" : xlSheet.Cells(3, 16) = "Discount price" : xlSheet.Cells(3, 22) = "Collected mold cost" : xlSheet.Cells(3, 28) = "未收款項"
  918. xlSheet.Cells(3, 5) = "型體號碼" : xlSheet.Cells(3, 11) = "交期結束" : xlSheet.Cells(3, 17) = "Commercial invoice" : xlSheet.Cells(3, 23) = "Amortization qty" : xlSheet.Cells(3, 29) = "成本金額"
  919. xlSheet.Cells(3, 6) = "型體名稱" : xlSheet.Cells(3, 12) = "單價" : xlSheet.Cells(3, 18) = "Overage invoice" : xlSheet.Cells(3, 24) = "Profit" : xlSheet.Cells(3, 30) = "利潤"
  920. xlSheet.Cells(1, 8) = "Total-PRS" : xlSheet.Cells(2, 8) = "=SUBTOTAL(9,I4:I$99999)" : xlSheet.Cells(1, 24) = "Total-Commission" : xlSheet.Cells(2, 24) = "=SUBTOTAL(9,Y4:Y$99999)"
  921. xlSheet.Cells(3, 31) = "實際收款" : xlSheet.Cells(3, 32) = "Currency" : xlSheet.Cells(3, 33) = "Exchange" : xlSheet.Cells(3, 34) = "年份" : xlSheet.Cells(1, 26) = "合計"
  922. xlSheet.Cells(1, 27) = "=SUBTOTAL(9,AA4:AA$99999)" : xlSheet.Cells(1, 28) = "=SUBTOTAL(9,AB4:AB$99999)" : xlSheet.Cells(1, 29) = "=SUBTOTAL(9,AC4:AC$99999)"
  923. xlSheet.Cells(1, 30) = "=SUBTOTAL(9,AD4:AD$99999)" : xlSheet.Cells(1, 31) = "=SUBTOTAL(9,AE4:AE$99999)" : xlSheet.Cells(1, 1) = "LANDED BRANDED"
  924. For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
  925. xlSheet.Cells(i + 4, 1) = 清單1_dgv.Rows(i).Cells("BUYER").Value : xlSheet.Cells(i + 4, 2) = 清單1_dgv.Rows(i).Cells("年份季度").Value
  926. xlSheet.Cells(i + 4, 3) = 清單1_dgv.Rows(i).Cells("訂單流水號").Value : xlSheet.Cells(i + 4, 4) = 清單1_dgv.Rows(i).Cells("客戶訂單號").Value
  927. xlSheet.Cells(i + 4, 5) = 清單1_dgv.Rows(i).Cells("型體號碼").Value : xlSheet.Cells(i + 4, 6) = 清單1_dgv.Rows(i).Cells("型體名稱").Value
  928. xlSheet.Cells(i + 4, 7) = 清單1_dgv.Rows(i).Cells("顏色").Value : xlSheet.Cells(i + 4, 8) = 清單1_dgv.Rows(i).Cells("楦型").Value
  929. xlSheet.Cells(i + 4, 9) = 清單1_dgv.Rows(i).Cells("訂單數量").Value : xlSheet.Cells(i + 4, 10) = 清單1_dgv.Rows(i).Cells("交期開始").Value
  930. xlSheet.Cells(i + 4, 11) = 清單1_dgv.Rows(i).Cells("交期結束").Value : xlSheet.Cells(i + 4, 12) = 清單1_dgv.Rows(i).Cells("單價").Value
  931. xlSheet.Cells(i + 4, 13) = 清單1_dgv.Rows(i).Cells("銷售金額").Value : xlSheet.Cells(i + 4, 14) = 清單1_dgv.Rows(i).Cells("備註").Value
  932. xlSheet.Cells(i + 4, 15) = 清單1_dgv.Rows(i).Cells("Price").Value : xlSheet.Cells(i + 4, 16) = 清單1_dgv.Rows(i).Cells("Discount price").Value
  933. xlSheet.Cells(i + 4, 17) = 清單1_dgv.Rows(i).Cells("Commercial invoice").Value : xlSheet.Cells(i + 4, 18) = 清單1_dgv.Rows(i).Cells("Overage invoice").Value
  934. xlSheet.Cells(i + 4, 19) = 清單1_dgv.Rows(i).Cells("Remark1").Value : xlSheet.Cells(i + 4, 20) = 清單1_dgv.Rows(i).Cells("Fty price").Value
  935. xlSheet.Cells(i + 4, 21) = 清單1_dgv.Rows(i).Cells("Mold cost").Value : xlSheet.Cells(i + 4, 22) = "=U" & i + 4 & "*I" & i + 4
  936. xlSheet.Cells(i + 4, 23) = 清單1_dgv.Rows(i).Cells("Amortization qty").Value
  937. xlSheet.Cells(i + 4, 24) = "=IF((P" & i + 4 & "-U" & i + 4 & ")=0,0,(P" & i + 4 & "-T" & i + 4 & "-U" & i + 4 & ")/(P" & i + 4 & "-U" & i + 4 & "))"
  938. xlSheet.Cells(i + 4, 25) = "=(P" & i + 4 & "-T" & i + 4 & "-U" & i + 4 & ")*I" & i + 4 : xlSheet.Cells(i + 4, 26) = 清單1_dgv.Rows(i).Cells("Remark2").Value
  939. xlSheet.Cells(i + 4, 27) = "=Q" & i + 4 & "*I" & i + 4 : xlSheet.Cells(i + 4, 28) = "=R" & i + 4 & "*I" & i + 4
  940. xlSheet.Cells(i + 4, 29) = "=(T" & i + 4 & "+U" & i + 4 & ")*I" & i + 4 : xlSheet.Cells(i + 4, 30) = "=M" & i + 4 & "-AC" & i + 4
  941. xlSheet.Cells(i + 4, 31) = "=AA" & i + 4 & "-AC" & i + 4 : xlSheet.Cells(i + 4, 32) = 清單1_dgv.Rows(i).Cells("Currency").Value
  942. xlSheet.Cells(i + 4, 33) = 清單1_dgv.Rows(i).Cells("Exchange").Value : xlSheet.Cells(i + 4, 34) = 清單1_dgv.Rows(i).Cells("年份").Value
  943. N1 = i
  944. Next i
  945. CC(xlApp, xlSheet)
  946. xlSheet = NewMethod(xlBook)
  947. xlApp.Sheets(1).Name = "彙總"
  948. xlBook.Activate() : xlSheet.Activate()
  949. xlSheet.Cells(2, 1) = "ORDER SUMMARY DATA COLLECTION"
  950. xlSheet.Cells(3, 2) = "平均單價" '
  951. xlSheet.Cells(3, 3) = "總雙數" : xlSheet.Cells(3, 4) = "銷售金額" : xlSheet.Cells(3, 5) = "客戶付款" : xlSheet.Cells(3, 6) = "未收款項"
  952. xlSheet.Cells(3, 7) = "預收款項" : xlSheet.Cells(3, 8) = "成本金額" : xlSheet.Cells(3, 9) = "利潤" : xlSheet.Cells(3, 10) = "實際收款"
  953. xlSheet.Cells(4, 1) = "LANDED BRANDED" : xlSheet.Cells(4, 2) = "=D4/C4"
  954. xlSheet.Cells(4, 3) = LAND總雙數_tb.Text : xlSheet.Cells(4, 4) = LAND銷售金額_tb.Text : xlSheet.Cells(4, 5) = LAND客戶付款_tb.Text : xlSheet.Cells(4, 6) = LAND未收款項_tb.Text
  955. xlSheet.Cells(4, 7) = LAND預收款項_tb.Text : xlSheet.Cells(4, 8) = LAND成本金額_tb.Text : xlSheet.Cells(4, 9) = LAND利潤_tb.Text : xlSheet.Cells(4, 10) = LAND實際收款_tb.Text
  956. xlSheet.Cells(5, 1) = "FIRST COST" : xlSheet.Cells(5, 2) = "=D5/C5"
  957. xlSheet.Cells(5, 3) = FIRST總雙數_tb.Text : xlSheet.Cells(5, 4) = FIRST銷售金額_tb.Text : xlSheet.Cells(5, 5) = COST客戶付款_tb.Text : xlSheet.Cells(5, 6) = COST未收款項_tb.Text
  958. xlSheet.Cells(5, 7) = COST預收款項_tb.Text : xlSheet.Cells(5, 8) = COST成本金額_tb.Text : xlSheet.Cells(5, 9) = COST利潤_tb.Text : xlSheet.Cells(5, 10) = COST實際收款_tb.Text
  959. xlSheet.Cells(6, 1) = "合 計" : xlSheet.Cells(6, 2) = "=D6/C6"
  960. xlSheet.Cells(6, 3) = 合計總雙數_tb.Text : xlSheet.Cells(6, 4) = 合計銷售金額_tb.Text : xlSheet.Cells(6, 5) = 合計客戶付款_tb.Text : xlSheet.Cells(6, 6) = 合計未收款項_tb.Text
  961. xlSheet.Cells(6, 7) = 合計預收款項_tb.Text : xlSheet.Cells(6, 8) = 合計成本金額_tb.Text : xlSheet.Cells(6, 9) = 合計利潤_tb.Text : xlSheet.Cells(7, 10) = 總實際收款_tb.Text
  962. xlSheet.Cells(7, 6) = "PS : 應收應付如果 = 正數,及為應付;如果 = 負數,及惟應收。 預收款項 - 未收款項 = 應收應付"
  963. xlSheet.Cells(7, 9) = "利潤 + 應收應付 = 總實際收款" : xlSheet.Cells(7, 7) = 應收應付_tb.Text
  964. AA(xlApp, xlSheet)
  965. xlSheet.PageSetup.PrintArea = ""
  966. xlApp.Cells.Select()
  967. xlSheet.Range("B1").Select()
  968. xlApp.Application.WindowState = xlMinimized
  969. MsgBox("列印完成")
  970. End If
  971. End Sub
  972. Private Shared Function NewMethod(xlBook As Workbook) As Worksheet
  973. Return CType(xlBook.Worksheets.Add, Worksheet)
  974. End Function
  975. Private Sub AA(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  976. xlSheet.Cells.Select()
  977. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  978. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  979. End With
  980. xlSheet.Rows("2:7").Select : myExcel.Selection.RowHeight = 35
  981. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 20
  982. xlSheet.Columns("B:J").Select : myExcel.Selection.ColumnWidth = 18
  983. xlSheet.Range("A2:J2").Select()
  984. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  985. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  986. End With : myExcel.Selection.Merge
  987. xlSheet.Range("B4:J6").Select() : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  988. xlSheet.Range("G7").Select() : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  989. xlSheet.Range("J7").Select() : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  990. xlSheet.Range("I7").Select()
  991. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  992. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  993. End With
  994. xlSheet.Range("F7").Select()
  995. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 1
  996. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  997. End With
  998. xlSheet.Range("A3:J3").Select()
  999. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1000. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  1001. End With
  1002. xlSheet.Range("A2:J6").Select()
  1003. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  1004. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1005. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1006. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1007. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1008. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1009. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1010. myExcel.ActiveWindow.DisplayGridlines = False
  1011. xlSheet.Range("C4:C6").Select() : myExcel.Selection.NumberFormatLocal = "#,##0;[紅色]-#,##0"
  1012. xlSheet.Range("B3:J3").Select()
  1013. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent5 : .TintAndShade = 0.799981688894314 : .PatternTintAndShade = 0 : End With
  1014. xlSheet.Range("A4:A6").Select()
  1015. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent4 : .TintAndShade = 0.799981688894314 : .PatternTintAndShade = 0 : End With
  1016. End Sub
  1017. Private Sub CC(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  1018. myExcel.ActiveWindow.Zoom = 90
  1019. xlSheet.Cells.Select()
  1020. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  1021. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  1022. End With
  1023. myExcel.Application.CutCopyMode = False
  1024. xlSheet.Columns("D:D").Select : myExcel.Selection.NumberFormatLocal = "@"
  1025. xlSheet.Columns("I:I").Select : myExcel.Selection.NumberFormatLocal = "#,##0;[紅色]-#,##0"
  1026. xlSheet.Columns("J:K").Select : myExcel.Selection.NumberFormatLocal = "yyyy/mm/dd"
  1027. xlSheet.Columns("L:L").Select : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  1028. xlSheet.Columns("M:M").Select : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  1029. xlSheet.Columns("O:R").Select : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  1030. xlSheet.Columns("T:V").Select : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  1031. xlSheet.Columns("W:W").Select : myExcel.Selection.NumberFormatLocal = "#,##0;[紅色]-#,##0"
  1032. xlSheet.Columns("X:X").Select : myExcel.Selection.NumberFormatLocal = "0.00%"
  1033. xlSheet.Columns("Y:Y").Select : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  1034. xlSheet.Columns("AA:AE").Select : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  1035. xlSheet.Columns("AG:AG").Select : myExcel.Selection.NumberFormatLocal = "#,##0.0000;[紅色]-#,##0.0000"
  1036. xlSheet.Columns("AF:AH").Select
  1037. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1038. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  1039. End With
  1040. xlSheet.Rows("3:3").Select
  1041. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1042. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  1043. End With
  1044. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 18
  1045. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 12
  1046. xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 16
  1047. xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 12
  1048. xlSheet.Columns("E:E").Select : myExcel.Selection.ColumnWidth = 13
  1049. xlSheet.Columns("F:F").Select : myExcel.Selection.ColumnWidth = 12
  1050. xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = 20
  1051. xlSheet.Columns("H:H").Select : myExcel.Selection.ColumnWidth = 5
  1052. xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 8
  1053. xlSheet.Columns("J:K").Select : myExcel.Selection.ColumnWidth = 9.5
  1054. xlSheet.Columns("L:L").Select : myExcel.Selection.ColumnWidth = 6
  1055. xlSheet.Columns("M:M").Select : myExcel.Selection.ColumnWidth = 12
  1056. xlSheet.Columns("N:N").Select : myExcel.Selection.ColumnWidth = 20
  1057. xlSheet.Columns("O:R").Select : xlSheet.Columns("O:R").EntireColumn.AutoFit
  1058. xlSheet.Columns("T:Y").Select : xlSheet.Columns("T:Y").EntireColumn.AutoFit
  1059. xlSheet.Columns("AA:AH").Select : xlSheet.Columns("AA:AH").EntireColumn.AutoFit
  1060. xlSheet.Rows("4:4").Select : myExcel.ActiveWindow.FreezePanes = True : myExcel.ActiveWindow.DisplayGridlines = False
  1061. xlSheet.Range("A3:AH" & N1 + 5).Select() : myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  1062. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1063. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1064. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1065. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1066. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1067. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1068. xlSheet.Rows("3:3").Select : myExcel.Selection.RowHeight = 45
  1069. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlTop : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1070. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  1071. End With : myExcel.Selection.AutoFilter
  1072. xlSheet.Range("H1:I1").Select()
  1073. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1074. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1075. xlSheet.Range("H2:I2").Select()
  1076. myExcel.Selection.Merge
  1077. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1078. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1079. xlSheet.Range("H1:I2").Select()
  1080. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  1081. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1082. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1083. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1084. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1085. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1086. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1087. xlSheet.Range("A1:N3").Select()
  1088. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  1089. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1090. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1091. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1092. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1093. xlSheet.Range("A1:N3").Select()
  1094. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorDark1 : .TintAndShade = -0.249977111117893 : .PatternTintAndShade = 0 : End With
  1095. xlSheet.Range("X1:Y1").Select()
  1096. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1097. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1098. xlSheet.Range("X2:Y2").Select()
  1099. myExcel.Selection.Merge
  1100. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1101. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1102. xlSheet.Range("Z1:Z2").Select()
  1103. myExcel.Selection.Merge
  1104. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1105. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1106. xlSheet.Range("AA1:AA2").Select()
  1107. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1108. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1109. xlSheet.Range("AB1:AB2").Select()
  1110. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1111. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1112. xlSheet.Range("AC1:AC2").Select()
  1113. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1114. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1115. xlSheet.Range("AD1:AD2").Select()
  1116. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1117. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1118. xlSheet.Range("AE1:AE2").Select()
  1119. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1120. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1121. xlSheet.Range("O1:Z3").Select()
  1122. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  1123. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1124. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1125. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1126. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1127. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .Color = 65535 : .TintAndShade = 0 : .PatternTintAndShade = 0 : End With
  1128. xlSheet.Range("AA1:AE3").Select()
  1129. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  1130. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1131. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1132. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1133. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1134. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1135. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1136. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .Color = 5296274 : .TintAndShade = 0 : .PatternTintAndShade = 0 : End With
  1137. xlSheet.Range("AF1:AH3").Select()
  1138. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  1139. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1140. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1141. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1142. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1143. xlSheet.Range("A1:G2").Select()
  1144. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1145. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  1146. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 16 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  1147. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  1148. End With
  1149. xlSheet.Range("X3").Activate() : myExcel.Selection.ColumnWidth = 8
  1150. xlSheet.Columns("Y:Y").Select : myExcel.Selection.ColumnWidth = 12
  1151. xlSheet.Range("X2:Y2").Select() : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  1152. xlSheet.Range("X1:Y2").Select()
  1153. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  1154. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1155. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1156. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1157. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1158. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1159. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  1160. xlSheet.Columns("AA:AE").Select : myExcel.Selection.ColumnWidth = 10
  1161. xlSheet.Range("X1:Y1").Select()
  1162. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1163. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1164. xlSheet.Range("H1:I1").Select()
  1165. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  1166. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  1167. End Sub
  1168. Private Sub 清單1_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 清單1_dgv.MouseUp
  1169. If 清單1_dgv.SelectedCells.Count = 1 Then
  1170. 已超出 = False
  1171. End If
  1172. If 清單1_dgv.SelectedCells.Count > 0 Then
  1173. '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
  1174. If 清單1_dgv.SelectedCells(0).ColumnIndex = 12 Or 清單1_dgv.SelectedCells(0).ColumnIndex = 8 Then
  1175. If 已超出 = False Then
  1176. Dim x As Double = 0
  1177. For i As Integer = 0 To 清單1_dgv.SelectedCells.Count - 1
  1178. '清單1_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
  1179. x += Val(清單1_dgv.Rows(清單1_dgv.SelectedCells.Item(i).RowIndex).Cells(清單1_dgv.SelectedCells.Item(i).ColumnIndex).Value)
  1180. Next i
  1181. '將計算好的資料放置到指定的控件中
  1182. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0.00")
  1183. Else
  1184. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
  1185. End If
  1186. Else
  1187. 已超出 = True
  1188. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
  1189. End If
  1190. End If
  1191. End Sub
  1192. End Class