如何在VBA中传递值?

问题描述 投票:0回答:1

在我的工作簿中,我有七张纸。表格四到七包含我们四条生产线的产品信息值。

下面的代码从工作表4开始,循环遍历B列的每一行,直到找到位于名为Chattem或Chattemfrm.cmbPrdCde.Value的用户窗体上的组合框的值。然后,它将选择包含该值和偏移量的单元格以获取新的单元格值,并将该值分配给txtDz,txtCs和txtUOM的相应变量。位于Chattemfrm上的公式需要这些变量。用户单击标记为Print或cmdPrint的命令按钮后,将计算公式。 txtbxdz.value来自Chattemfrm Userform。

公式的摘录。

textValUp =((txtbxdz.Value)/ txtDz / txtCs)+ 0.5 - 1E-16

如何将sub中的整数值传递给Chattemfrm上面的公式?

我想将这些变量声明为Public,但我得到了

运行时错误'11':除以零。

所有声明的变量都具有与之关联的值。也许可能有更好的方法?

Option Explicit
Public txtDz As Integer, txtCs As Integer
Public txtUOM As String
Sub Test()

Dim ws_count As Integer, i As Integer, FinalRow As Integer, x As Integer

ws_count = ActiveWorkbook.Worksheets.Count
For i = 4 To ws_count
    Worksheets(i).Activate
    FinalRow = Cells(Rows.Count, 2).End(xlUp).Row
    For x = 1 To FinalRow
        If Cells(x, 2) & " " & "(" & Cells(x, 3) & ")" = Chattemfrm.cmbPrdCde.Value Then
            Cells(x, 2).Select
            txtDz = Cells(x, 2).Offset(0, 2).Value
            txtCs = Cells(x, 2).Offset(0, 3).Value
            txtUOM = Cells(x, 2).Offset(0, 4).Value
        End If
    Next x
Next i
End Sub
excel vba
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.