我正在使用一個接受專案和數量的表格。我試圖創建一個運行計數由數量(表示為qtytxt1,qtytxt2每一個專案的,等等)。每個專案都有自己的數量輸入欄位,用結束編號表示(即,qtytxt1適用于專案 1)。
我試圖在 中放置一個單元格(emptyRow, 27)以輸出輸入到表單中的所有專案的總數量(即,專案 1 數量 = 2,000;專案 2 數量 = 3,000;預期輸出 = 5,000)。
“專案/數量”總共有 10 個輸入欄位,但是,并非所有 10 個欄位都會被使用。我創建了一個似乎可以按我的喜好作業的代碼,但是, 當輸入少于 10 個專案時,我會收到一條總和錯誤訊息。
Dim emptyRow As Long
Dim data As Worksheet
Dim runCount As Long
Worksheets("mining history").Activate
emptyRow = WorksheetFunction.CountA(Range("i:i")) 6
Set data = Sheets("data")
runCount = 0
If qtytxt2.Value = "" Then
qtytxt2.Value = 0
ElseIf qtytxt3.Value = "" Then
qtytxt3.Value = 0
ElseIf qtytxt4.Value = "" Then
qtytxt4.Value = 0
ElseIf qtytxt5.Value = "" Then
qtytxt5.Value = 0
ElseIf qtytxt6.Value = "" Then
qtytxt6.Value = 0
ElseIf qtytxt7.Value = "" Then
qtytxt7.Value = 0
ElseIf qtytxt8.Value = "" Then
qtytxt8.Value = 0
ElseIf qtytxt9.Value = "" Then
qtytxt9.Value = 0
ElseIf qtytxt10.Value = "" Then
qtytxt10.Value = 0
End If
If IsEmpty(Range("E:E")) Then
'Is Empty
runCount = 0
Else
' Not Empty
runCount = WorksheetFunction.Sum(qtytxt1.Value, qtytxt2.Value, qtytxt3.Value, qtytxt4.Value, qtytxt5.Value, qtytxt6.Value, qtytxt7.Value, qtytxt8.Value)
Cells(emptyRow, 27).Value = runCount
End If
uj5u.com熱心網友回復:
您可以使用回圈:
Dim emptyRow As Long
Dim data As Worksheet, wsMH As Worksheet
Dim runCount As Long, n As Long, v
Set data = Sheets("data")
Set wsMH = Worksheets("mining history")
'no need to Activate...
emptyRow = wsMH.Cells(Rows.count, "I").End(xlUp).row 1
If Application.CountA(wsMH.Range("E:E")) = 0 Then
runCount = 0
Else
'loop all the entry textboxes
For n = 1 To 10
v = Me.Controls("qtytxt" & n).Value
If Len(v) > 0 And IsNumeric(v) Then runCount = runCount v
Next n
wsMH.Cells(emptyRow, 27).Value = runCount
End If
uj5u.com熱心網友回復:
我懷疑你需要這個:
If qtytxt2.Value = "" Then
qtytxt2.Value = 0
End If
If qtytxt3.Value = "" Then
qtytxt3.Value = 0
End If
等等
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/382714.html
上一篇:物件“_Application”的方法“OnTime”失敗
下一篇:從另一個表的列中選擇一個表的行
