a = Worksheets("salary").Range("D3").Value
b = Worksheets("salary").Range("E3").Value
c = Worksheets("salary").Range("F3").Value
d = Worksheets("salary").Range("G3").Value
e = Worksheets("salary").Range("H3").Value
f = Worksheets("salary").Range("I3").Value
g = Worksheets("salary").Range("J3").Value
h = Worksheets("salary").Range("K3").Value
i = b * c
j = d * e
k = f * g
'顯示出應支金額小計'
UserForm1.Label19 = a + i + j + k
UserForm1.Label19 = Worksheets("salary").Range("L3").Value
'顯示各項目小計'
UserForm1.Label35 = i
UserForm1.Label34 = j
UserForm1.Label13 = k
'將應扣金額相加'
Dim aa, bb, cc, dd, ee, ff, gg, hh, ii As Integer
aa = UserForm1.TextBox11.Text
bb = UserForm1.TextBox12.Text
cc = UserForm1.TextBox13.Text
dd = UserForm1.TextBox14.Text
ee = UserForm1.TextBox15.Text
ff = UserForm1.TextBox22.Text
gg = (UserForm1.TextBox16.Text) * (UserForm1.TextBox17.Text)
hh = (UserForm1.TextBox18.Text) * (UserForm1.TextBox19.Text)
ii = (UserForm1.TextBox20.Text) * (UserForm1.TextBox21.Text)
1.有關於迴圈的部分
xRow = Application.CountA(Sh.Range("a:a")) '有資料儲存格的計數
With Sh
.Cells(xRow + 1, "A") = xRow - 1
For i = 1 To 12
'將應支金額填入,並相對應excel的儲存格' 1-10
If i <= 10 Then .Cells(xRow + 1, "A").Offset(, i) = UserForm1.Controls("Textbox" & i)
'將應扣金額填入,並相對應excel的儲存格' 11-22
.Cells(xRow + 1, "M").Offset(, i - 1) = UserForm1.Controls("Textbox" & i + 10)
Next
End With
我可以將它解釋成
"當 i 小於等於10,儲存格會從("A & xRow+1)為起始點,向右移動 i 格,並且將 userfome1中第 i 個textbox的內容填入 "
但是下一句將這樣邏輯套用進去就滿奇怪?
所以不知道是不是我的認知有錯誤,是否能請各位大大幫我解釋一下,謝謝
2.當我在計算小計的時候,原本的程式碼如下:
Sh.Range("L3").Value = a + b + c + d + e
.Label19 = Sh.Range("L3")
但這樣不管輸入幾個人的資料,小計只會出現在L3這個
因此我作了以下修改:
sh.Range("L" & xRow + 1) = a + b + c + d + e
.Label19 = sh.Range("L" & xRow + 1)